Difference between revisions of "RoboRumble/Contributing to RoboRumble"

From Robowiki
Jump to navigation Jump to search
m (→‎To collaborate with RR@H: update according to Simonton')
m (Add screenshot)
(35 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{:RoboRumble/Navigation}}
+
'''ATTENTION: This article is not about entering a new robot into RoboRumble. Enter [[RoboRumble/Enter The Competition|here]].'''
 
 
== '''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.
 
  
# Make a new, clean installation of '''Robocode 1.6.1.4'''.
+
You should consider contributing to RoboRumble and the Robocode community, by donating spare computer time to execute battles between bots (similar to the [http://folding.stanford.edu/ Folding@home] and [https://setiathome.berkeley.edu/ SETI@Home] projects). The process is fully automated, so there is no pain in doing it.
# Download patch [[Darkcanuck/RRServer/Updates|here]] and place in <code>/libs</code> directory under your installation.
 
# Edit "roborumble\roborumble.txt" file and change the Put_Your_Name_Here to your nick or your handler. Also changed all the http://rumble.fervir.com/ reference to http://darkcanuck.net/
 
# Extract all the zip-files below into the "robots" directory
 
# There you go! You can start you 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!
 
  
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. If you find problems, refer to RoboRumble related pages, or post your issue and we will try to solve it.
+
Run it as much as you can! The more you run it, the faster everybody's bots will be ranked. Report problems [[{{TALKPAGENAME}}|here]].
  
=== Get robot database ===
+
== Setting up ==
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:
+
# Make a new, clean installation of the version of Robocode ([http://sourceforge.net/projects/robocode/files/robocode/ download]) that matches what [http://literumble.appspot.com/RumbleStats LiteRumble] indicates is allowed.
 +
# Edit '''<code>roborumble/[roborumble/meleerumble/teamrumble/twinduel].txt</code>''' and change the <code>Put_Your_Name_Here</code> to your preferred username.
 +
# Extract the [http://robocode-archive.strangeautomata.com/participants-latest.zip latest bot archive] (35.9 MB zip file) into the "robots" directory.
 +
# (Optional) On newer CPUs on which you are planning to run RoboRumble exclusively, disable [[Dynamic Overclocking]].
  
==== 1vs1 database ====
+
There you go!
get the 300 updates since ? till 20041017:
 
* http://robowiki.net/robocode/rrath_participants.zip (USA mirror)
 
* http://nat.robothai.net/robocode/rrath_participants.zip (Thailand mirror)
 
And get the 308 updates since 20041017 till 20070929:
 
* http://home.versatel.nl/gheijenk/robocode/things/rrath_add_20070929.zip (Netherlands mirror)
 
* http://nat.robothai.net/robocode/rrath_add_20070929.zip (Thailand mirror)
 
And get the 166 updates since 20070929 till 20090301:
 
* http://home.versatel.nl/gheijenk/robocode/things/rrath_add_20090301.zip (Netherlands mirror)
 
* http://nat.robothai.net/robocode/rrath_add_20090301.zip (Thailand mirror)
 
And get the 121 updates since 20090301 till 20090719
 
* http://nat.robothai.net/robocode/rrath_add_20090719.zip (Thailand mirror)
 
  
==== Melee database ====
+
== Running battles ==
* <s>http://home.versatel.nl/gheijenk/robocode/things/ParticipantsMelee_20080726.zip</s> (''replaced by the one below'')
+
* Run [[1v1]] battles with '''<code>roborumble.bat</code>''' (Windows), '''<code>roborumble.sh</code>''' (Linux), or '''<code>roborumble.command</code>''' (MacOS).
* http://nat.robothai.net/robocode/ParticipantsMelee_20090719.zip
+
* Run [[melee]] battles with '''<code>meleerumble[.bat/.sh/.command]</code>'''.
 +
* Run [[Teams|team]] battles with '''<code>teamrumble[.bat/.sh/.command]</code>'''.
 +
* Run [[Twin Duel|twin duel]] battles with '''<code>twinduel[.bat/.sh/.command]</code>'''.
  
==== Team database ====
+
== RoboRumble bot JARs ==
* http://home.versatel.nl/gheijenk/robocode/things/ParticipantsTeam_20080726.zip (Netherlands mirror)
+
Downloads:
* http://nat.robothai.net/robocode/ParticipantsTeam_20080726.zip (Thailand mirror)
+
* [http://robocode-archive.strangeautomata.com/participants-latest.zip The latest bot archive] (35.9 MB). It contains the JARs of all robots in the rumble, automatically updated on an hourly basis. Unzip them into your <code>robots/</code> folder.
 +
* [http://robocode-archive.strangeautomata.com/ Earlier bot archives]
 +
* [http://robocode-archive.strangeautomata.com/robots/ All JARs that have ever been submitted into the RoboRumble] ([https://github.com/aleksey-zhidkov/rc-repo-mirror GitHub mirror])
  
== Problem reporting ==
+
Credits to [[Rednaxela]] for the archive server, and [[Jdev]] for the GitHub mirror.
Issues on starting off with RoboRumble can be discussed on the [[Talk:RoboRumble/Starting With RoboRumble|talk page]].<br>
 
Old issues are archived at [[RoboRumble/StartingWithRoboRumbleOld]].
 
  
 
== Useful options in roborumble.txt ==
 
== Useful options in roborumble.txt ==
* "'''USER'''": Your name/handle, used for identification of your roborumble client.
+
* '''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.
+
* '''BATTLESPERBOT''' ‒ The minimum number of battles a bot needs before it stops getting priority.
* "'''NUMBATTLES'''", the number of battles fought on each run of roborumble.
+
* '''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.
* "'''ITERATE'''", whether to run battles indefinitely. Do ''not'' enable ITERATE in versions prior to 1.6.1.4, use the scripts below instead.
+
* '''UPLOAD''' ‒ Can be used to disable uploading. Disable uploading when testing a version of Robocode NOT allowed by the server. Not really necessary, as the current server will reject results from incorrect versions anyway.
  
== Script ==
+
== Troubleshooting ==
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
+
Remove the following files or directories:
 +
* <code>config/</code>
 +
* <code>roborumble/files/</code>
 +
* <code>roborumble/temp/</code>
 +
* <code>robots/robot.database</code>
  
'''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.
+
And try again.
  
=== Batch script for Windows users ===
+
== Screenshots ==
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:
+
[[Image:RoboRumbleClient.png]]
<pre>
 
@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
 
</pre>
 
  
=== Bash script for *nix users ===
+
== See Also ==
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:
+
{{:RoboRumble/Navigation}}
<pre>
 
#!/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
 
</pre>
 

Revision as of 20:57, 16 September 2017

ATTENTION: This article is not about entering a new robot into RoboRumble. Enter here.

You should consider contributing to RoboRumble and the Robocode community, by donating spare computer time to execute battles between bots (similar to the Folding@home and SETI@Home projects). The process is fully automated, so there is no pain in doing it.

Run it as much as you can! The more you run it, the faster everybody's bots will be ranked. Report problems here.

Setting up

  1. Make a new, clean installation of the version of Robocode (download) that matches what LiteRumble indicates is allowed.
  2. Edit roborumble/[roborumble/meleerumble/teamrumble/twinduel].txt and change the Put_Your_Name_Here to your preferred username.
  3. Extract the latest bot archive (35.9 MB zip file) into the "robots" directory.
  4. (Optional) On newer CPUs on which you are planning to run RoboRumble exclusively, disable Dynamic Overclocking.

There you go!

Running battles

  • Run 1v1 battles with roborumble.bat (Windows), roborumble.sh (Linux), or roborumble.command (MacOS).
  • Run melee battles with meleerumble[.bat/.sh/.command].
  • Run team battles with teamrumble[.bat/.sh/.command].
  • Run twin duel battles with twinduel[.bat/.sh/.command].

RoboRumble bot JARs

Downloads:

Credits to Rednaxela for the archive server, and Jdev for the GitHub mirror.

Useful options in roborumble.txt

  • USER ‒ Your name/handle, used for identification of your roborumble client.
  • BATTLESPERBOT ‒ The minimum number of battles a bot needs before it stops getting priority.
  • NUMBATTLES ‒ The number of battles fought on each run of roborumble
  • ITERATE ‒ Whether to run battles indefinitely.
  • UPLOAD ‒ Can be used to disable uploading. Disable uploading when testing a version of Robocode NOT allowed by the server. Not really necessary, as the current server will reject results from incorrect versions anyway.

Troubleshooting

Remove the following files or directories:

  • config/
  • roborumble/files/
  • roborumble/temp/
  • robots/robot.database

And try again.

Screenshots

RoboRumbleClient.png

See Also