This is a utility written by
Martin Alan Pedersen to address the tendency of Roborumble robot caches to get very large over time as many people update their many bots. The tool first archives all files presently in the /robots and /.robotcache folders (to /archive/robots and /archive/.robotcache, respectively), and then moves robots back only if they are included in the participants listing (based on the URL provided to the utility). The Roborumble and Meleerumble load times can be optimized using this tool (perhaps launched once in the batch files that manages the rumble).
This tool is presently in open beta testing. It is available here: Rumble Cache Tool
Usage example: java RumbleCacheTool c:\robocode https://robowiki.net/cgi-bin/robowiki?RoboRumble/Participants
-- Martin Alan Pedersen
Comments, Bugs, Etc:
Note: I was unable to run the tool using the command line (as illustrated) and instead had to run it through Eclipse. I was unable to determine why it kept giving me NoClassDefFound? errors from the command line. -- Martin
From the command line, maybe there's some other way, but I generally have to run a .class file from the directory containing the package folders it's in. E.g., to run my WaveReader?, I have to be in the dir above voidious/test/WaveReader?.class, and run java -cp . voidious.test.WaveReader?. Similarly with Axe's league analyser util. (Dunno if that helps.) -- Voidious
Wow, that was so easy!! Weeded out 182 jars (probably mostly ones from the melee rumble?). That should help the like 20 minute wait time each time robocode fires up at least some (stupid flash drives) ... If someone has the source maybe they could modify it to work with the new location of the .robotcache directory? -- Simonton
- I knew I should have waited until I actually tried running it. The tool removed the database file, which the new versions of robocode get very angry about. It tries to make a robot out of every class file found in the .robotcache diretory. Fnl, would it be possible to get robocode to stop looking for new robots in the .robotcache directory when the database file is missing? -- Simonton
- Hey, that was a pretty good estimate, it took 18 minutes for robocode to do whatever it does searching through the .robotcache directory and the database file before it started actually executing the first battle. *sigh* At least now that I've hacked roborumble to run micro battles WITH priority to bots with less than 2000 battles it should go faster, since there's no wave surfers. -- Simonton
I'm working on updating this tool. -- Martin
- The tool has been updated (same link). Looking at the directory it appears that there are now separate working directories for Duels, Melee, and Teams. That is good, and it is part of the reason this tool was conceived (to eliminate loading of duelists when you want to run melee battles), but it means I need to accomodate the alternate directories, and I'll modify the tool to have hard-coded participant URLs and do them all in one go. Maybe this morning, maybe not. I recall having a problem running the tool from a machine other than where I developed it, so please try running it and telling me how it goes. Thanks. -- Martin