Darkcanuck/RRServer/Updates
< Darkcanuck | RRServer
Jump to navigation
Jump to search
Navigation: About | Updates | Ratings | Query API | Roadmap | Design | Develop | Known Issues
13-Nov-2011: "Now on Github"
- Source code is now hosted on GitHub: https://github.com/darkcanuck/rumbleserver
- Now you can file bugs, patches and questions more easily, with less chance of getting lost in the ever-expanding RoboWiki!
- You can either use git or mercurial (via hg-git extension) instead of SVN.
- Credit goes to PEZ for the idea and for the first successful pull request.
- I will try to keep the SVN repository up-to-date as well; current revision is 123.
- Other changes:
- Increased API query limits
- Added hooks for a data integrity script I'm running to fix bad pairing data (from old uploads circa 2009)
- Changes to database fields for eventual reporting of win% stats (will take a while to generate)
12-Jul-2011: Improved priority battles
- SVN Revision 118
- After testing a revised priority battle scheme over the past few days, I've rolled out the final version:
- Only 1 priority battle sent to the client per upload (was 10 before)
- Missing pairings have top priority, then single battle pairings, followed by bots needing a score update after the participants list has changed
- Otherwise, there is a 50% chance of getting a low battle pairing, otherwise the client chooses (random)
- Seems to be working fine for new bots, has also filled in a lot of low battle count pairings for older bots
- Added a mechanism to prevent sending any priority battles for recently retired bots. This has always been problematic, this should help bots retire more swiftly.
- Removed the 4-hour time limit for retirement, since this change and SVN rev 110 makes retirement & activation low-cost.
- Removed support for 1.6.1.4 clients now that all uploaders have moved to the faster 1.7.3.0.
- Now uses the improved flag gifs supplied by Chase-san
- I've also taken the liberty of patching the 1.7.3.0 rumble client jar to fix a few quirks:
- Discards priority battles for bots not in the current participants list
- Removes duplicate priority battles received from the server (common when a bot is missing only 1-2 pairings)
- I'll submit the client changes to Sourceforge, but you can grab a compiled version from the server:
06-Jul-2011: Modern rumble clients welcome
- SVN Revision 114
- Finally supports an up to date Robocode client version: 1.7.3.0
- All contributors are encouraged to update their clients, 1.6.1.4 client support will be removed soon.
06-Feb-2010: Concurrency revisited
- SVN Revision 110
- Fixed (for good) concurrency problems when new results were uploaded while another client was removing the same bot.
- Normalized database means retirement and reactivation are lightning fast now (but uploads may be a bit slower).
- Participants table converted to InnoDB to remove delays from table locking.
- Some older fixes since the last posting include faster LRP plotting, some APIQuery tweaks and improved flagged battle removal.
16-Aug-2009: TwinDuel and more!
- SVN Revision 101
- Added the "twinduel" game type and rankings
- New query API for apps needing to access data directly
- Added ability to flag bad battles and recalculate pairings (admin-only)
- Improved the menu to show size classes for 1v1 and melee
- Improved page titles and added robot meta tags at Google's suggestion
- Fixed (hopefully) concurrent add/remove problem
- Fixed bug related to really long usernames
- The site has been very slow today so the database was taken offline for repair and I've throttled uploads a bit more. Thanks for uploading so many battles, but remember that the server can only process so many...
1-Aug-2009: ... and removals for all
- SVN Revision
8586 - Removals have been re-enabled for everyone!
- Participants can only be removed if they haven't been updated for at least 4 hours (to prevent constant add/remove problems).
- Removed support for 1.5.4 and 1.6.0 -- the only allowed version is 1.6.1.4 (patched jar).
- Other minor fixes (many implemented in last few months, not all today):
- Main rankings sorting
- Common scores for comparison feature
- Improved priority battle distribution for faster pairing completion
- Pairings where both bots got 0 scores now show as 50% (only affects melee)
- Suspended user check now only done for uploads and removals.
- Improved bot name filter to allow underscores in name, but not in version (some older bots use this pattern, although it's not recommended)
- And added a (basic) navigation bar at the top of each page
27-Apr-2009: See how your bot stacks up to DrussGT
- SVN Revision 75
- Added bot comparison feature (similar to old server?)
- Ranking details, battle details and comparison views now support viewing retired competitors.
- Added links to 3 latest versions for each bot on rankings detail view, for easy comparisons.
- Rankings pages now show a stability warning if pairings are incomplete.
- Removed "experimental" warnings since this is now the default server.
- 5.6 million uploads and counting...
22-Apr-2009: Wiki Switchover
- Problems after the wiki switch required a database restore from backup (less than 2 days old)
- Clients must update their roborumble.txt (or meleerumble.txt, teamsrumble.txt) to use the new URL:
- PARTICIPANTSURL=http://robowiki.net/w/index.php?title=RoboRumble/Participants
5-Apr-2009: Patched roborumble.jar for clients
- SVN Revision 66
- Added 1.6.1.4 to allowed versions, added version number to contributors page (displays the greatest version used)
- Patched
twothree of the allowed roborumble.jar files to report the version number like 1.6.2+:- 1.5.4: http://darkcanuck.net/rumble/patches/1.5.4/roborumble.jar
- 1.6.1.4: http://darkcanuck.net/rumble/patches/1.6.1.4/roborumble.jar
- 1.6.0: http://darkcanuck.net/rumble/patches/1.6.0/roborumble.jar (not tested personally)
- If everyone changes their clients to use these then we can prevent bad versions from the 1.6.1 series from being used - thanks!
2-Apr-2009: Version Checking
- SVN Revision 62
- Added rumble client version check (versions 1.6.2 and later report their version)
- Also checks the melee and team flags
- Version now shown in the battle details (will show 1.x.x for older versions)
- This isn't too useful since the official versions (1.5.4, 1.6.0) can't be checked, but can exclude newer problem versions (eg. 1.7.1). This could improve if we can validate 1.6.2...
- Source now public (GPL3) here: http://darkcanuck.net/svn/rumbleserver/trunk
9-Mar-2009: Underscores are Banned!
- SVN Revision 56
- Recent server load problems due to bots with underscores in their version numbers!
- Added checks to prevent bots with invalid names: only alphanumeric, ".", "-" allowed, plus one space between name and version.
- This is due to the way that Robocode handles bot filenames
- Added a temporary throttle while clients send 4 days of missed uploads.
5-Mar-2009: Server Down
- Due to high load issues, I've had to shut the server down temporarily.
- My time to sort this out is limited at the moment so the outage may last a few days.
5-Dec-2008: Speeeeed?
- SVN Revision 54
- Changed pairings table to use InnoDB to only lock the 2 rows being updated per upload.
- Removed table locking and switched to transactions instead to maintain data integrity.
- The above changes appear to have improved upload speed nicely.
- Added a fix for the "dual-retirement" problem; also added a check for corrupted pairing records.
- Added survival column to detail views.
2-Dec-2008: The Curse of the Participants List
- Current Problem
- Looks like one client with a bad participants list (probably an empty file since the old wiki is currently down) started to remove all participants from the various 1v1 rumbles.
- This also caused a storm of removal + reactivation requests, resulting in sloooooow uploads and many HTTP 500/503 errors.
- Removals are now temporarily disabled and the problematic client has been temporarily suspended until it can be fixed.
- Last I checked, about half of the mega rumble bots were flagged as 'retired'; you should see the largest number of comebacks in RoboRumble history in the coming hours!
- I took the opportunity to do some database maintenance too.
- SVN Revision 50
- Added a long-planned feature to temporarily suspend problematic clients.
- Survival percentages are now displayed in the main rankings.
30-Nov-2008: Let the Uploading Competition Begin
- SVN Revision
4548 - Added more uploading stats so that contributors pages shows totals for the current calendar month and the last 30 days.
- December (GMT) is almost here, start up your clients...
- Scaled Glicko-2 scores to match std.dev. of Elo scores
- Removed Glicko-1 score display
26-Oct-2008: Sorting with Style
- SVN Revision
3637 - Styled all tables (credit: ABC) and cleaned up XHTML
- rankings, bot details and battle details now validate
- Separated PHP from HTML using Smarty templates
- Now using | TableSorter 2.0 to sort tables using javascript, instead of reloading the page
- Details page and LRP now using Elo ratings (was Glicko)
- Elo rankings seem to track APS ranking very closely; Glicko-2 is comparable, but Glicko rankings don't quite line up.
23-Oct-2008: 1 Million+ Served
- SVN Revision 31
- More query tweaks for speed, plus some debug options for me
- Crossed the 1,000,000 battle mark today!
- And I think we have full pairings in the main rumble... just a few bots missing 1 pairing in the minirumble
- There's a weird client bug that keeps uploading results for DrussGT 1.2.7 today?
- Looks like full pairings in each rumble, my client is currently filling up the battles in the microrumble to 700. --GrubbmGait 17:53, 24 October 2008 (UTC)
- Well, for sure not quite full pairings. Checking here it shows many/most bots still missing 1 to 2 pairings. Maybe some bot is missing for most/all clients running? --Rednaxela 20:13, 24 October 2008 (UTC)
- There are 647 bots in the main rumble, so full pairings = 646. Some bots have more than that because they haven't run a battle since I removed older bots after the importing was done (well, that's my theory). So it looks like only one bot is still missing a single pairing, all others >= 646. --Darkcanuck 01:53, 25 October 2008 (UTC)
21-Oct-2008: After the Upload
- SVN Revision 27.
- Importing all data from ABC's server is finally complete.
- Re-enabled bot removal function
- Old bots (from import) now removed from rankings
- Ranking data (eg. #pairings, aps) will update once each current bot gets at least one new battle
- Found and resolved another performance issue (now that we're nearing the million battle mark).
- Tweaked a few other database queries.
13-Oct-2008: LRP courtesy of ABC
- SVN Revision 25.
- Added ABC's amazing LRP plots.
- Slowly importing data; about 60% (?) done for the main rumble
- I have an idea to speed up scoring/uploads, but it's major work so not this week...
11-Oct-2008: Transitions
- SVN Revision 23.
- Based on | ABC's announcement, relaying is now turned off for faster uploads.
- Importing is still in progress:
- Minirumble finished yesterday.
- Roborumble is only 30% done, lots of battles still left
- I also need to import any new battles since the 7th
- Importing is a great high-load test; improved upload speed in a few areas, but it can still slow down if several clients (including the importer) all try to upload simultaneously.
- The bottleneck is the rating update process, querying all pairings for the two competitors is expensive.
7-Oct-2008: Import in Progress
- Finished testing import utility (just a Perl script) which takes battles_*.txt files and re-submits them to the server.
- All battle data from ABC's backup directory was imported to the new server this morning.
- Nanorumble data as of 15:30 PDT imported to new server (starting small).
- Currently importing Microrumble data... complete!
- Minirumble and Roborumble will take quite some time, I think. Normal results uploading may be slow during this period ... --Darkcanuck 01:19, 9 October 2008 (UTC)
6-Oct-2008: All Users Welcome
- SVN Revision 19
- Fixed a major bug introduced in rev 11 where new upload users could not be added.
- Tentative PL scoring column added to ranking table
- Added some additional stats to the details pages, including standard deviation for APS.
- Added import functionality; currently testing an import of ABC's data on my local test server.
5-Oct-2008: Sorting for Fun & Profit (+ Glicko-2)
- SVN Revision
1415 - Pairing and battle detail views can now be sorted like the rankings view.
- Finally you can group your worst ProblemBots together!
- PBI, Expected scores still use Glicko ratings, looking for feedback now that both Elo & Glicko are displayed together.
- Added Glicko-2 ratings; uses existing Glicko rating as initial value. Let's see how this works out.
4-Oct-2008: Elo makes its debut
- SVN Revision 11
- Added Elo scoring based on old server's code.
- Includes rating "jumpstart": bots with >50 battles start at an ideal rating based on APS.
- This is causing slower uploads but should clear up once all bots get Elo ratings.
- Ratings updates now done after every upload (no more periodic update).
- Ratings use all available pairings for each update (slow, but this is the classic method).
- Streamlined battle results table to use only one record per battle (was two); user data now in separate table.
- Table size down to 30% of previous.
27-Sep-2008: Setting Priorities
- Added priority pairings and battle number output to clients. I missed this last time around.
- Tweaked database performance for results uploading.
- Ratings rebuild has caught up, so rankings are now up-to-date within the last minute!
- Melee rankings are starting to fill out.
- Many thanks to GrubbmGait and [Darkstorm]] for generously contributing battles
25-Sep-2008: Build it and they will come?
- One week, 4 clients uploading without any major issues. 68,148 battles in the general rumble so far.
- No outstanding "known" bugs at this point (fingers crossed).
- Added Glicko ratings and flushed existing pairings & ratings yesterday. That means the ratings are still rebuilding, and will probably catch up sometime tomorrow.
- Added table sorting on the main rankings pages.
- Added support for melee (works) and teams (my client doesn't work for teams so this is untested).