Best Players Lists

Categories: Bingo Game Server, Flash Bingo Games, Site Updates

I was shooting for an August 1st launch date, and I was actually on track, however as I have mentioned in the last post I was concerned about some potential speed issues regarding best player lists. The best way to test this is by doing actual profiling, however since there are still no large volume of existing data, I have to make some codes to create hundreds of thousands of test data. This puts the test data on par with HB’s current database size, if not even larger.

And my hunch was right. The tables and codes just aren’t fast enough. This is because I opted to implement real-time display of best player lists. This means as soon as a game is over, you can immediately see the stats updated from any page, or within the Flash bingo games. In contrast, HB updates these same stats once every 24 hours only.

So I decided to just delay the launch date (again), so I can work on optimizing this problem area. This involves making use of secondary tables and further optimizing current table indices and queries, in order to speed up read access of the affected tables. Unfortunately, this required code changes in all areas (web site, bingo game servers, Flash bingo games), hence it took me a couple of days to wrap up everything including a new set of necessary tests.

It took a lot of work, but I am more at ease now knowing that even a few years from now, the current setup can still reliably handle a larger volume of players and data. Real-time reporting of stats is still fully supported, which is really what I wanted from the start.

There were also some other changes/updates in other areas:

  • Fixed a bug that doesn’t parse the bingo room name properly (happens on IE browsers only).
  • Fixed a Flash alignment bug which may disrupt the display (happens on IE 9 only). Unfortunately, this looks like a known unfixed bug on IE 9 itself, so I’ve only done a possible workaround to make the display bug less obvious.
  • There are times when the chat history is being messed up. I think it happens when the chat text is being pruned. I haven’t been able to reproduce the bug yet. I’ve done some potential fixes, but it’s possible this issue may reappear in the future.
  • Fixed bug where the initial value of the minimum jackpot amount was not being properly set.
  • Changed order of pot/jackpot displays.

All the changes (in all areas) are now active. Just doing some more tests right now.

Tags: ,


Production Server Game Testing

Categories: Bingo Game Server, Flash Bingo Games, Site Updates

Finally nearing completion… I am now doing game tests on the production servers. There were some glitches that I encountered, but nothing major that’s not easily fixed.

Here are some final changes/improvements that were made during the initial game tests on the production servers:

  • Adjusted Spin Bingo game timers, as I feel that even new players don’t really need more than 4 minutes to get the hang of the game.
  • Possible fix for another thread-related issue, which may explain a rare error that I recently encountered while using the stress test application. The error was not in the game server, so hopefully this isn’t a critical issue.
  • Additional checks in the bingo game servers to prevent multiple games from being played. There is already an existing check from the web pages, so this may seem redundant. It’s done for security purposes, and it also fixes an issue with the stress test application that prevents the game server from recording log outs properly.
  • Some changes in the stress test application so it can connect outside the local environment.
  • Fixed several e-mail issues. I just realized that some pages don’t even send out e-mails yet, so those have been updated. Also, there were some issues with the e-mail filter and calls to the function that prevented it from actually sending e-mails.
  • Ads were not showing in the production servers. I already encountered this issue during local testing. Apparently, it was another Flash security issue, so the previous local server fix I made wasn’t even necessary.
  • Minor visual changes to the web site’s top area graphics. Also changed the text from “Home” to “Games”, as I find that more appropriate.
  • Minor improvements to the policy server. Removed some unnecessary codes, also fixed a counting bug that doesn’t really affect the stats but makes it a bit inaccurate.
  • Optimized some frequently accessed tables (best players and player status related), updated corresponding web pages and game server codes. I have just seriously considered using secondary tables for some player stats. This will kinda duplicate some existing data, but will potentially make reads/writes faster since fewer records will be involved. However, I decided to look into this in more detail later, as lots of areas will be affected. Hopefully, the current setup is good enough.

I am still doing a couple more tests, covering as much area as possible. The bingo game servers are actually actively running now, and the web site now allows games to be played (but this is currently limited to my account). When the tests are over, all I need to do is reset the entire database, then open the games to the public.

So far, everything is looking better. If I don’t encounter any major issue this weekend, I can (finally!!) look forward to a game launch next week. Let’s hope for the best!

Tags: ,


Local Game Testing Progress

Categories: Bingo Game Server, Flash Bingo Games, Site Updates

I’m almost done with the local game testing. Here are the latest changes/additions:

  • Best players page has been updated.
  • Catch mysql data truncation potential errors, so it doesn’t kill the game server abruptly. Ideally, this error shouldn’t be happening at all, but just for precautionary measures, the error will now be logged and the game server will continue to run normally.
  • For 75/80/90 ball bingo games, card limit selection in the Flash bingo games is now working. Each room has a predefined card limit that can be played, with higher level rooms allowing up to 36 bingo cards at a time. The 3 Flash bingo games now interpret this properly.
  • Added Twitter links in some pages (as additional support medium other than e-mail).
  • Finalize all the game rooms and corresponding setups (e.g. maximum number of cards, timer limits, levels required, default pot amounts etc). Initially, I will only open 3 rooms per bingo game, however all future rooms are already shown.
  • Changes in Table codes, minor CSS changes for some site page updates as well.
  • Home game pages have been re-organized. Preview graphic has been moved to the left side. Minimum pots and jackpots are now being shown. Also removed some unnecessary spaces/texts so the bingo game room listing can be viewed immediately with less page scrolling needed.
  • Fixed a Flash/PHP message parsing bug (plus sign not being parsed properly in some messages).
  • Fixed some bugs in the creation of test accounts for the game server stress testing application. Make sure some tables are properly updated to better simulate web-based connections, and also link as friend to the main test account (so friends-related pages/areas can also be tested).
  • Fixed a major bug in the code confirmation screen, where it fails to go to the chat area after signing in (instead it shows an error). This happens when the player is coming from the sign in screen and not from the registration screen. Good thing I was able to catch and correct the error now, as most players will likely encounter this.
  • Fixed e-mail guidelines link not working in the Flash registration area.
  • Fixed game window not resizing properly depending on the player’s monitor screen resolution (instead it incorrectly uses default sizes always).
  • Added codes so the site can display a “Site under maintenance” message properly as necessary.
  • Strip out illegal characters in chat messages prior to parsing. This shouldn’t really be an issue as there are existing filters in the Flash bingo games. However, since the stress test application doesn’t implement filters, this is also now being done in the bingo game servers for better security.
  • The Best Players links (header, footer) will now point to the currently active bingo game. So if you are currently on a Spin Bingo page (main game page or game rules page), if you click on a Best Players link it will now show the appropriate list for that game properly (less clicks and page reloads required).
  • Fixed javascript e-mail validation bug (should be case-insensitive).

While doing some stress testing on the game servers, I encountered a mysql data truncation issue again as mentioned above. I think I’ve seen similar issues before, but I have not been able to pinpoint the cause, as it’s very hard to replicate (it only happens like once every 100 stress tests, and each stress test happens for hours). Thankfully, I had a clear head when I encountered the issue again so I was able to track the real cause.

The problem is thread synchronization related, which is really a complex issue on its own. Without going into too much details, I think this has now been fixed properly.

Anyway, unless I encounter more issues with the local game testing, I will be moving the tests to the production servers already.

Tags: , ,

« Previous1234567891617Next »

Search Blog