Fixes and cleanup after the server move

Bubbles, FC Sunnyvale Developer 11 August 2016, 15:03

As you know about a month ago we moved the entirety of Virtualmanager onto completely new servers.

It was a huge undertaking, but because of our very thorough and time consuming preparations, moving day went off without any major disasters.

Since then, we've spent our time stabilising, cleaning up, and fixing the minor errors that trickle in, mainly due to our new database being a lot more strict in what it'll accept.

The system that runs certain asynchronous tasks, such as the processing of scout reports, has shown itself to be a bit fragile when it comes to these minor errors, which can cause it to stop completely until we restart it. We've been fixing these bug as soon as they occur and added more and more monitoring to alert us to problems quicker.


As I mentioned, scout reports are processed by a system which has had a bit of a rough time, since the move to the new servers. This has meant that our poor scout has more or less become the canary in the mineshaft, being the first to die when something goes wrong.

Since the frequent users of the scout have probably had enough of the delays, we implemented a backup system yesterday. The backup system takes over processing of scout report if we detect that the asynchronous processing has stalled.

Energy boost prices

Since we changed the training system to finally operate directly on the "new" player abilities, we've had some unfinished business with regards to the prices of player energy boosts.

The prices have been dependent on the old player stats, which to day are completely hidden and unused. Therefore, the boost prices have not followed along with each player's development, like they ought to.

We've now fixed this problem. The price range is the same as it used to be, except that the calculation now uses the player Rating instead of their old, defunct abilities.

Bid functions reprogrammed

When Virtualmanager was originally made, it was made in the programming language, PHP. Back in 2009 we shifted all new development over to Ruby on Rails instead, and since then, we've been continually changing old PHP pages and functions over to Ruby. Today there's hardly any PHP left.

Until today, however, we had 3 actions related to bid, that were still using very old PHP code:

  • Increasing your bid in an ongoing auction
  • Rejecting an incoming bid on one of your players
  • Cancelling a bid you placed on someone else's player

A breakdown in our PHP installation last week annoyed us enough that we sat down an converted all of this code to Ruby.

At the same time, we added tiny change, that many have requested for years: If you are leading the auction, you can now lower your auto bid - for instance if you accidentally bid 10 million instead of 1. Obviously, you cannot set the auto bid lower than the current winning bid.

It won't be long now

Fortunately we've just about got a handle on the new servers, data cleanup and various administrative tasks. That means we'll soon be able to get to working on more fun stuff. We can't wait!