RoboRumble/Contributing to RoboRumble

From Robowiki
< RoboRumble
Revision as of 14:44, 19 July 2009 by Nat (talk | contribs) (→‎To collaborate with RR@H: only v1.6.1.4 allow now)
Jump to navigation Jump to search

To collaborate with RR@H

If you entered a bot into the competition, you could consider to collaborate running the competition by using your computer to execute battles and upload results (similar to SETI@Home project). The process is fully automated, so there is no pain on doing it.

  1. Make a separate installation of Robocode in a different directory (like C:\robohome), so running the client will not influence your own development and vice versa. Please only use version 1.6.1.4, as they are proven stable.
  2. Download patch here and place in /libs directory under your installation.
  3. Edit "roborumble\roborumble.txt" file and change the Put_Your_Name_Here to your nick or your handler.
  4. Extract all the zip-files below into the "robots" directory
  5. Start the client using roborumble.bat or roborumble.sh (depending on the OS). The first time it can take more than 15 minutes before all jar-files are examined!
    • Or, on your first time you can start robocode with robocode.bat or robocode.sh (depending on OS), wait for the robocode database to be updated, then close robocode and run roborumble.bat/roborumble.sh normally.
  6. Run it as much time as you can. The more you run it, the more you contribute. It is fully automated, so you don't have to care at all.
  7. If you find problems, refer to RoboRumble related pages, or post your issue and we will try to solve it.

Get robot database

To get a reasonably up-to-date set of robots for the rumble to start with, grab the following zip file and extract the .jar file to your RR@H robots directory:

1vs1 database

get the 300 updates since ? till 20041017:

And get the 308 updates since 20041017 till 20070929:

And get the 166 updates since 20070929 till 20090301:

And get the 121 updates since 20090301 till 20090719

Melee database

Team database

Problem reporting

Issues on starting off with RoboRumble can be discussed on the talk page.
Old issues are archived at RoboRumble/StartingWithRoboRumbleOld.

Useful options in roborumble.txt

  • "USER": Your name/handle, used for identification of your roborumble client.
  • "BATTLESPERBOT" is the minimum number of battles a bot needs before it stops getting priority.
  • "NUMBATTLES", the number of battles fought on each run of roborumble.
  • "UPLOAD", can be used to disable uploading. Use this to disable uploading when testing a version of robocode NOT listed above. Note, the current server will reject results from incorrect versions anyway.
  • "ITERATE", whether to run battles indefinitely. Do not enable ITERATE in versions prior to 1.6.1.4, use the scripts below instead.

Script

Those scripts will be good for roborumbler. They run battles forever, catching standard and error stream and put it to a file in the directory ./log/tempNUMBER_OF_BATTLE.txt (the script have to be in the roborumble directory), the scripts will not work without the "log" directory

Note: For robocode version 1.6.1.4 and up, there is no need of the script anymore. Instead, set ITERATE=YES in your setting file.

Batch script for Windows users

Save this script to a file in the roborumble directory in a file with ".bat" extension, create a directory called "log", then run the script with double click:

@echo off
title RoboRumble@Home Client
set count=1
:run
echo "Iteration number: %count%"
java -Xmx512M  -Dsun.io.useCanonCaches=false -cp libs/robocode.jar;libs/codesize.jar;libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt >> ./log/temp%count%.txt
echo ---
set /a count+=1
goto run

Bash script for *nix users

Save this script to a file in the roborumble directory, right click and set the file executable, create a directory called "log", then run the script from shell:

#!/bin/bash

echo #  new line
count=0
while [ "$var1" != "fine" ]     #  forever
do
  let "count=count+1"
  echo "battle n: " $count
  sh roborumble.sh &> ./log/temp$count.txt
  echo
done  

exit 0