BingoGems.co.uk Menu
2009
Dec
20

Game Server Stress Testing

Categories: Bingo Game Server

Over the last few weeks, I have made (and continues to tweak) a stand alone java application to aid in stress testing the bingo game server. Stress testing puts the game server under heavy load. Due to time constraints, this is something that I have not really done in more detail in my previous site projects, but for BingoGems I decided to develop a separate java application so I can do some stress tests before the bingo site is launched.

The application does the following:

  • Create socket connections to the game server, at random intervals
  • Simulate player sign in to the game server, joining a random room (since a game server may be running more than 1 game room)
  • Buy cards to join the game, the purchase is also done at random intervals to simulate joining during a valid buy event, in the middle of an existing game, and when buying is no longer allowed
  • Player names are randomized, so names of different lengths can be tested in the Flash chat and games
  • Random chats are also sent at random intervals, which is actually even based on a valid dictionary of words to better simulate chatting, with some random characters thrown in for more variety
  • Random smileys are also sent in the chat, at random lengths
  • Chat will simulate normal and capitalized (when the player has the CAPS LOCK key on)
  • For Spin Bingo, spins are also simulated at random intervals so scores are also generated
  • Connections are also dropped randomly to simulate a player logging out of game (who may or may not have a game in progress)
  • Multiple connections dropping out simultaneously is also simulated (this happens in cases when a bingo jackpot has been won, and most players end up leaving to go into other bingo rooms with higher jackpots), this has actually been a major issue on HB when it was initially launched since it was crashing the game server unexpectedly
  • Simulate a player dropping out, then logging in to continue an interrupted game
  • Simulate slow internet connection (e.g. the Flash games will experience some delay in receiving some packets)

So basically, the stress testing simulates how the game server reacts to multiple players in a live environment, especially at high loads. The time I spent developing this java application was well worth it, as most of the game updates I have done this month are actually because of issues I encountered during stress testing. There’s just A LOT of issues that only appear when already testing with multiple players, since I usually just test with a single player connection.

All the issues I noted have been fixed. This also includes a very rare occurrence of the game server becoming unresponsive due to synchronization issues, which has been very hard to reproduce. While I am sure some problems will only appear when I have the site launched, I can safely say this bingo game server has undergone better internal testing compared to the other projects I have done before.

So far, the game server is looking stable, and thanks to the stress tests, many issues (in the game server and the Flash bingo games) are now resolved prior to site launch.

Tags: ,

2009
Dec
20

A Few Site Updates

Categories: Site Updates

Proper Flash player detection is now functional. If the required minimum Flash version is not detected:

  • Express install will be initiated
  • Bingo game pages will show an appropriate update message (as a secondary measure, in case the Express install is missed)
  • If the player tries to open a bingo game room, a pop-up warning message will be shown, so this effectively blocks access to the bingo games until the player meets the minimum Flash version required

I also made the bingo game icons (small bingo card previews) smaller and removed some duplicate links in the game pages to cut the height of the bingo game tabs area. This moves the bingo game room links upwards, above the fold, so it becomes more accessible without the need to scroll down the page.

I’ve also fixed the way Flash parameters are being sent to the games, so Flash files don’t get unnecessarily reloaded when switching game rooms across the same bingo game.

Tags: ,

2009
Dec
17

Bingo Game Server Updates

Categories: Bingo Game Server

The bingo game server has been updated so that incoming packets with invalid formats are properly discarded, so it doesn’t create run-time exceptions which may halt operations.

When the game server has been restarted, it will also keep track of all players whose games have been interrupted. HB already does this by automatically crediting players with additional points, but BingoGems does it a bit better by showing a pop-up message immediately after signing in, before crediting the compensation points. This should make it more obvious to the player that he did not lose points because of the game server being restarted.

Tags:

« Previous12Next »

Search Blog