Website outage

The WarLight.net website is experiencing an outage (EDIT: It’s back up!). I’m working on getting it back up as fast as possible. More details will be posted soon. Sorry for the inconvenience.

UPDATE 10pm GMT-8: The main WarLight database has suffered a hardware failure. Rackspace engineers are currently working to recover the data onto a new server. As a backup plan, I am also restoring the latest database backup onto a fresh server, just in case Rackspace is unable to restore the old server. The latest backup I have was taken about 4 hours before the outage, so I’m hoping it does not need to be used.

UPDATE 5am GMT-8: I’m really mad at Rackspace. For the last ten hours all they’ve given me is “We can’t give you an ETA” over and over. Finally, they tell me it’s 95% done being restored and will be up within 2 hours.

UPDATE 6:49am GMT-8: The website is now functional again. Unfortunately, there was a few hours rollback in the database. Hopefully players who happened to commit turns within that period will be respectful and try to commit the same orders they played the first time. I’m going to be taking steps to ensure this can’t happen again.

Additionally, for the next several hours, booting in all games will be disabled (you’ll get an error message if you try to boot.) This will allow players who couldn’t take their turn before the boot timer to get it in before getting booted.

WarLight’s database has had hardware failures before, however Rackspace typically will automatically move your server to a fresh machine with only a few minutes of downtime. This has happened several times, actually, and it’s never been a problem before now. This time it didn’t work for some reason, and to make matters worse, their support personnel were very unhelpful. I had gotten complacent on relying on Rackspace’s automated failover. Unfortunately, when the failover finally did happen after several hours, the database was corrupt beyond repair and I had to go with my own backup anyway.

To ensure this can’t happen again, I am going to set up a continuously streaming backup system that will backup the database several times per minute. This way, if there’s another failure, I don’t have to rely on waiting for Rackspace’s failover and I can restore from my own backup without significant data loss. Previously, the backup was only made every few hours, so this is a significant jump in reliability.

I realize the problems that outages cause, and I’m probably more disappointed by this than any of you. I take this very seriously as it’s my full-time job and I am going to take several steps to ensure this can’t happen again.

UPDATE: As mentioned above, booting is temporarily not allowed in any games. This gives a chance for players who are over the boot time in their games and couldn’t play due to the outage to take their turns. I realize this makes it difficult to play new real-time games, but please bear with me as we get everything back to working normally.

UPDATE: Booting is now re-enabled.

Announcing Custom Ladders/Tournaments framework (CLOT)

I’m pleased to announce the availability of the CLOT framework! CLOT stands for Custom Ladder Or Tournament. This is a way that players can create their own automated ladders or tournaments that far exceed the capabilities of WarLight’s built-in ladders and tournaments.

How it works

Each CLOT is hosted as its own website, separate from WarLight.net. This website manages the ladder/tournament — it has full control over how games are created, the game’s map and settings, how players are ranked, how the ranks are presented, etc. Players who want to join can go to this website to sign up with their WarLight account.

CLOT is an open-source framework that contains everything needed to create a CLOT website. The player creating a CLOT must be a WarLight member, but there are no restrictions on who can join and play in it.

It’s expected that the player creating a CLOT should know how to code, as the framework provided is just a skeleton example to get you started. Players who want to create a CLOT website will extend the framework to meet their needs. The framework is written in Python, but it could be ported to any language if you want to work in something else. It works by communicating to WarLight through the public APIs to create games and get updates on them.

Examples

Since the CLOT framework is an open-source programming tool, it can be used to create all sorts of different types of ladders and tournaments. It’s only limited by your imagination! Here are some examples of things you can create with it:

  • Clan battles: WarLight gives you access to the name and tagline of players joining, so you can parse out what clan they’re in by looking for clan tags. Then you could make a system that invites players to battles based on their clan, and show rankings of how well each clan is doing.
  • Promotion/relegation league: These leagues that have been popular on the forums can now be completely automated.
  • Vote-who-will-win tournament: You could make a single-elimination tournament where, before it starts, players can view the tournament bracket and cast votes for who they think will win. You can even allow players who aren’t participating in the tournament cast votes. Then when it ends, you can not only display the winner, but also who voted most accurately.
  • Real-time ladders: You could make a scheduling system that allows ladders made up of real-time games to take place. For example, players could tell your website when they’re on-line and ready to receive games, or you could work out a scheduling system where players input what times of the day they’re available.
  • Anonymous tournaments: You could make tournaments that don’t reveal who’s participating until the tournament ends.
  • Best-of tournaments: Like a single-elimination tournament, except each match is a best-of-3 or best-of-5.
  • World domination: Using custom scenarios, you could make a tournament where each round moves up to a bigger region of the world until the championship is on a world map. For example, say you get the first round as an FFA on a Italy map. If you win on Italy, then you go onto the second round, which is on the Europe map and you start with Italy. If you win on Europe, then you go up to the championship which is on the world map and you start with Europe.
  • Seasonal ladder followed by playoffs.
  • Ladders with rotating settings or maps.
  • Ladders with your own rating algorithms or settings, such as a 3v3 ladder or FFA ladder.
  • Choose-your-team tournaments: There’s nothing stopping you from creating pages on your CLOT website that input extra information for each game. For example, say you’re making a 5v5 tournament. You could pick 10 random players for each game, and elect a captain for each team who alternate choosing players for their team.

Getting Started

Check out the Getting Started guide on the wiki for instructions on how to get started using CLOT here. If you get stuck, there’s a new forum section for CLOT development, so feel free to ask questions!

Site update 1.15.5: Small update

WarLight was just upgraded to version 1.15.4! This is a just small update to fix a few bugs, but real-time tournaments also snuck in.

Real-time tournaments

It’s now possible to make tournaments real-time, which will allow the same boot times that real-time games do.

If a real-time tournament doesn’t start (i.e. fill up with players) within one hour, it will be automatically deleted. This is done as a safety mechanism to ensure that slow-filling tournaments don’t end up starting long after the majority of the players have already left who will then just have to be booted.

The primary intent of real-time tournaments are for players who organize their tournaments outside of the game (such as by announcing them ahead of time on the forums). Just creating a real-time tournament and expecting it to full up on its own is unlikely to work out well.

Teammate Card Fix

There’s a change in this update that should fix a problem that sometimes came up in real-time team games that involved lots of cards.

If a team has two copies of the same type of card (say, two order priority cards), it can sometimes be difficult to split the two cards between two teammates in real-time games. If teammate A tries to play the first card, and teammate B tries to play the second card, and they take their turns at the same time, there’s a chance that they might both try to play the same card which will cause the second committer to get a message telling them that they’re playing a card their teammate played.

This didn’t typically happen in multi-day games since WarLight is smart enough to see what cards your teammate has played, and pick the one in the stack that your teammate didn’t play. However, this can’t happen when both teammates play simultaneously since the game doesn’t know what your teammate has played yet.

In this update, there’s a much better fix to this issue. Now, when the second teammate commits their orders, the server will silently change their orders to use the available card instead of the one their teammate used. Essentially, it will “just work” without either teammate even knowing there was a conflict.

Misc Changes

– Fixed a bug when creating a game from a template that caused the boot drop-downs to not default to the value stored in the template.
– Fixed a bug that caused an error if you clicked Play Card on a surveillance card, opened the (more info) link on a territory, and then clicked a bonus worth 0 armies per turn.
– Fixed a timing bug that occurred if someone declined a tournament at the exact moment that tournament was starting.
– The attack-teammate and diplomacy confirmation dialogs now close when changing phases.
– Fixed a bug that caused the check-boxes on the Statistics->Graphs page to not enable after a game ended.
– Fixed a bug that sometimes caused Facebook signups to fail.

Season VI

Congratulations to [WM] dead piggy for winning Season V with a very impressive 17-3 record! It seems that 17-3 is more often than not the metric that defines a champion, as all of the seasonal winners so far have posted 17-3 records except Rubik87.

Season VI is going to be a bit of a departure from the low-luck settings of Season IV and V. Season VI will use automatic distribution instead of manual distribution. This means that you don’t pick which territories you start with, and instead are randomly assigned territories.

Now, I know what you’re thinking. “But Fizzer, won’t automatic distribution mean that games are determined by luck?” It’s true that luck plays a role, but here’s the way to look at it:

  • Everyone will lose 15% of their games due to getting worse starting positions than their opponent.
  • Everyone will win 15% of their games due to getting better starting positions than their opponent.
  • It’s what you do with the other 70% of your games that determine your ladder rank.

Personally, I’m excited for it – I think it’s going to be my favorite season! This season will be great for those who are weak at the territory selection part of the game but strong at the expansion/army movement part.

The settings are the same as Strategic 1v1, except with automatic distribution, no wastelands to make bonuses more equal, and an extra blockade card is also thrown in so you can make your own wasteland. You can practice the settings with this template: multi-player single-player.

The season begins at midnight GMT on Monday! (This will be Sunday night for those in negative timezones, such as North America). If you’re a member and not already in the seasonal ladder, you can join here. Have fun!

(* 15% is an estimate, the actual number could be higher or lower. The point is that the odds of getting good territories is the same as the odds of getting bad ones and it will factor out over the course of many games.)

Site update 1.15.3: Changing hosts

WarLight is changing its hosting provider from Rackspace to Amazon. Rackspace has been a good home for WarLight over the years, but ultimately it’s far too expensive for a game with low revenue like WarLight. This update also contains a new scaling architecture that will ensure WarLight won’t slow down when lots of players are playing.

This new architecture is also a step towards being able to crank up the refresh speed. One day, I hope manually clicking the refresh button will become a thing of the past and games will just always be live.

The swap over will happen sometime in the middle of the night tonight (aiming at 1am PDT 8am GMT). If all goes well, the move will be instantaneous and won’t require any downtime or even be noticed by the players. Even real-time games won’t be interrupted. However, if you do notice an issue with the website, please let me know by using the report bug page or e-mailing fizzer@warlight.net.

The wiki, blog, and archive database will move over later. Probably sometime this weekend.

This move will also upgrade the server to version 1.15.3. This is a small update that fixes a few bugs and has minor enhancements.

– Fixed a bug that caused an error when customizing tournament settings.
– When creating a co-op multi-player game (a team of humans vs AIs), the “AIs Surrender When One Human Remains” setting is automatically disabled. This setting doesn’t make any sense in co-op games since the AIs would want to surrender immediately when the game started.
– Made a few minor adjustments to the wait dialog: It now always prints the entire message when it’s long, and the background tint was removed.
– The aspx extensions are now optional in page urls.
– Fixed a bug when creating a game from a map page that caused the template to say the game would be on the Earth map.
– Fixed a bug when viewing history that caused players who were booted during territory selection to show as having an income.
– Fixed a bug that caused the vacation page to always say 0 vacations had been used.

It’s worth noting that these changes have not yet gone live at the time of this posting. These will go live when the host changes late tonight.

Also, as an aside, recently ReCaptcha has been failing at stopping automated spam comments on this blog. Manual moderation is stopping them from appearing, however if you make a legitimate post and it doesn’t appear it may have been lost in the moderation noise. Please e-mail fizzer@warlight.net to get it approved. Eventually I’ll work out a better captcha system.

Site update 1.15.2: Small update

WarLight has just been updated to version 1.15.2! This is a small update to fix a few bugs from the previous update. This blog post describes what’s changed.

Changes

– Optimized the My Games query a bit.
– Added double-click support to the create-game pages that ask about choosing templates.
– Changed the team controls from a drop-down to radio buttons.
– Added rounded corners to the dashboard page.
– Improved the display of forum threads when viewed on iPhones.
– Fixed a bug that could cause an error when sorting the forwarding tournament invites page.
– Fixed the report bug page for players using Opera.
– Fixed a bug that could cause an error when a host changes players on a team game with open seats.
– Fixed a bug that occurred if you tried to copy a game’s settings that used random teams.
– Fixed the error message that came up if a non-member map creator attempted to add more than 24 players to a game on a map they made.
– Fixed a bug that was causing several of the setting-highlights to default off for new players.
– Fixed a bunch of other various small bugs in the new game creation screens.

Non-members customizing built-in templates

Prior to the last update, it was possible for non-members to change the boot times, practice game setting, and private messaging setting but still refrain from customizing one of the built-in templates. This allowed them to use the 16% luck values of the Strategic 1v1 and 2v2 templates but still set their own boot times.

In the last update, these settings were moved into the primary customize step, which made it impossible to set them without customizing the template, and customizing the template meant that the luck value would be reset to 75%. This was an accident on my part – I didn’t realize that moving them would have this side-effect.

Now there’s a temporary work-around in place that allows non-members to set these settings and still use 16% luck. To do this, follow these steps precisely:

  1. Under multi-player, click Create Game as normal. Invite your players and click Next
  2. Click Change Settings, Use a Template, then the Strategic 1v1 or 2v2 template
  3. Check the “Customize Template” check-box and click Next
  4. Set up the following settings how you want them: the multi-day/real-time box, the boot times, the private messaging check-box, the personal message, and the pracitce game check-box. You must not change any other settings or this won’t work.
  5. Click Next. It’ll ask you to save the game as a template. Click the “No” button (even if it’s already checked), then press Ctrl+Shift+J. (Hold down the control and shift keys on your keyboard, and press J).
  6. If it works, you’ll now be at the create game screen. Just name your game and click Create Game

This is a temporary work-around. In the future, there will be a better solution to this.

New feature: Facebook authentication

WarLight now allows players to sign in with their Facebook account!

This is simply done as a convenience since it means you don’t need to remember a separate password for WarLight. WarLight won’t post to your Facebook account or do anything Zynga-like.

Facebook will never be required to play WarLight. This is just offered as an option for those who prefer it. You will always be able to sign in with an e-mail address as you have been able to up until now.

If you want to start signing in with Facebook but you already have an e-mail based WarLight account, you can link your Facebook account to your existing WarLight account at this page. Even after linking your accounts, you can still sign in with your e-mail address and password if you choose too. This will just enable the option of signing in with Facebook.

The main motivation behind allowing this is for the mobile client. Signing in with Facebook is only a small convenience on the website, but trying to type in an e-mail address and password on a phone is much more annoying. Therefore, it’s nice to give players another option.

New features: Notable forum posts and a new way to report bugs

Notable forum posts

The Dashboard page, instead of showing all forum posts, will now only show forum posts that have been marked as notable by a moderator.

If you want to see all forum posts, you can still click the Forum sub-tab and everything will behave as it did before. However, the Dashboard now provides a way for players that only casually read the forum to get the highlights without having to wade through the fluff.

Moderators will choose forum posts that are interesting, funny, or they just think that the WarLight community will generally be interested in.

I’m not going to pretend that this is a perfect solution to all of the problems that the forum faces, however it’s a step in the right direction. It’s likely that the forum will see further improvements in the future.

A new way to report bugs

WarLight now has an official form to report bugs. The Report Bug page will allow you to report any issues you’re having with WarLight. This is linked to from the contact page and the Help tab.

Filling out this form is preferred over e-mailing me directly, even though this form really just results in an e-mail being sent to me. Often when someone e-mails me or posts on the Bugs forum they would leave out crucial information, which ends up taking a lot of my time to figure out. Often I’ll ask for additional information and I don’t get a reply, which leads to the bug not getting fixed. Sometimes so little information is provided that I can’t even figure out where they’re playing the game (WarLight.net, Google Hangouts, iPhone or Android).

This form replaces the Bugs forum, so it’s been removed.

Site update 1.15: Improved game creation

WarLight has just been upgraded to version 1.15.0! This is a big update and there’s a lot to cover, so in order to keep this blog post from getting too long, the new announcements will be split up between a few blog posts. If you’re impatient, you can read all the changes early in the change history tab.

Improved Invite Screen

The page that allows you to choose who to invite to new games has received a major overhaul which brings a fresh look and new features.

  • A: New tabs make switching between the different ways of inviting players easier. The Invite List tab is the list of players you’ve played with before (this is identical to the list of players you saw prior to this update). The E-mail tab allows inviting people by typing in their e-mail address. The Open Seats tab allows your game to appear on the Open Games tab. The AI tab allows inviting computer-controlled players to your game. The Search tab is discussed in point E below.
  • B: The team controls are now right on the invite screen. This allows you to switch between FFA (no teams), manual teams, or random teams. Previously the team controls were buried in the game configuration options. It makes more sense to put them here so you can adjust the players and teams simultaneously.
  • C: The invite list now splits itself between pages of 24. This fixes a big performance problem that used to occur for players with extremely large invite lists. If your invite list is large, you’ll notice a dramatic speed increase due to this.
  • D: You can now search within your invite list. This allows you to easily find people by name or clan tag.
  • E: In addition to searching within your invite list, there’s a new tab just labeled “Search”. This tab allows you to search all WarLight players, not just those on your invite list. This makes it much easier to find players without having to deal with getting their e-mail or adding them to your invite list.

    There are two restrictions with the global search. First, when searching you must type at least three characters of the other person’s name. This means that players whose names are only one or two characters long won’t be searchable. Second, the search will only return the best 25 matches for your search term. Since WarLight names aren’t unique, if your search target has a very common name (like Mike or John), you may not be able to find them if there are over 25 people with the same name.

  • F: The “Load Template” button only shows up on this screen if you have saved templates. This allows a short-cut to getting to your templates, but it’s really no different than clicking Next -> Change Settings -> My Templates. It’s worth noting that the invite screen allows you to skip it without setting up players. You can always come back to this screen later and set the players by using the Change Players button you’ll see on the next step.

Game Creation Overhaul

The UI (user interface) for creating games has been changed quite a bit. The old process was a linear wizard with steps one through five occurring in a sequence. The new process isn’t as linear, however it’s more powerful and should be much easier to figure out for new players.

First off, I want to apologize for changing the UI. I do realize that any time you change UI it causes a great deal of pain. Humans are very habitual creatures, and re-learning how to do something that you used to know how to do is never fun. I didn’t make the decision to change this lightly; I’ve been wanting to improve the game creation UI for a long time. There are lots of improvements I’ve held off of doing over the years in order to roll them all into one big overhaul. It’s like ripping off a band-aid — it’s better to get all the pain at once, not slowly over time.

The new process centers around what I call the main screen:

This shows a “Change Settings” button on the right along with a brief summary of the settings and a “Change Players” button on the left with a summary of the players. Below is the “Create Game” button which actually creates the game. After changing either the settings or players, you’ll wind up back here.

Clicking “Change Settings” will ultimately lead you to the new configuration screen:

Several options that used to be dedicated wizard steps have been moved into the configuration screen. For example, the map is now just another tab instead of its own wizard step. The boot times, practice game checkbox, and private messages checkbox are now just additional settings on the “basic” tab. Other than what’s been mentioned so far, everything should be pretty similar to the previous UI.

Need help?

The best way to learn the new UI is to go play with it. If you can’t figure out something, post your question to the forums. I’ll be watching and will be able to help out. Feel free to also chime in if you like or dislike the new UI.

Anatomy of a 2v2 game

Players Mythonian and kcscrag have been recording their recent foray into the 2v2 ladder and posting them to YouTube. The result is an excellent game analysis, which is great for seeing what the 2v2 ladder is like or improving your 2v2 game. It’s a lot of fun to watch and they do a great job with the recording and analysis, so check it out:

Also check out their other WarLight videos.

Live 1v1 Tournament this Saturday

This weekend Lolowut and Mythonian are hosting a LIVE 1v1 tournament. It begins at 6pm GMT on the 15th (11am West Coast US) There will be a live stream shortly after it starts analyzing the games. Seeing your game get analyzed is a great learning experience.

Anyone is welcome to join as long as you’re online when it begins. Post a reply in this forum thread if you’re interested in playing. Once it begins, this thread will also have a link to the live stream if you just want to follow along.