Difference between revisions of "RoboRumble/Contributing to RoboRumble"

From Robowiki
Jump to navigation Jump to search
m (→‎To collaborate with RR@H: only v1.6.1.4 allow now)
(Looks like Java 11 is now the norm according to the Participants page?)
 
(45 intermediate revisions by 13 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''' ==
+
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.
  
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.
+
Run it as much as you can! The more you run it, the faster everybody's bots will be ranked. Report problems [[{{TALKPAGENAME}}|here]].
  
# Make a separate installation of Robocode in a different directory (like <code>C:\robohome</code>), 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.'''
+
== Setting up ==
# Download patch [[Darkcanuck/RRServer/Updates|here]] and place in <code>/libs</code> directory under your installation.
+
# Make sure you are using Java 11. Older versions of Java may not work with certain bots.
# Edit "roborumble\roborumble.txt" file and change the Put_Your_Name_Here to your nick or your handler.
+
# 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.
# Extract all the zip-files below into the "robots" directory
+
# Edit '''<code>roborumble/[roborumble/meleerumble/teamrumble/twinduel].txt</code>''' and change the <code>Put_Your_Name_Here</code> to your preferred username.
# 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!
+
# Extract the [http://robocode-archive.strangeautomata.com/participants-latest.zip latest bot archive] (42.1 MB zip file) into the "robots" directory.
#* 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.
+
# (Optional) On newer CPUs on which you are planning to run RoboRumble exclusively, disable [[Dynamic Overclocking]].
# 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.
 
  
=== Get robot database ===
+
There you go!
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 ====
+
== Running battles ==
get the 300 updates since ? till 20041017:
+
* Run [[1v1]] battles with '''<code>roborumble.bat</code>''' (Windows), '''<code>roborumble.sh</code>''' (Linux), or '''<code>roborumble.command</code>''' (MacOS).
* http://robowiki.net/robocode/rrath_participants.zip (USA mirror)
+
* Run [[melee]] battles with '''<code>meleerumble[.bat/.sh/.command]</code>'''.
* http://nat.robothai.net/robocode/rrath_participants.zip (Thailand mirror)
+
* Run [[Teams|team]] battles with '''<code>teamrumble[.bat/.sh/.command]</code>'''.
And get the 308 updates since 20041017 till 20070929:
+
* Run [[Twin Duel|twin duel]] battles with '''<code>twinduel[.bat/.sh/.command]</code>'''.
* 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 ====
+
== RoboRumble bot JARs ==
* <s>http://home.versatel.nl/gheijenk/robocode/things/ParticipantsMelee_20080726.zip</s> (''replaced by the one below'')
+
Downloads:
* http://nat.robothai.net/robocode/ParticipantsMelee_20090719.zip
+
* [http://robocode-archive.strangeautomata.com/participants-latest.zip The latest bot archive] (42.1 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] here, but hasn't been updated since 2013)
  
==== Team database ====
+
Credits to [[Rednaxela]] for the archive server, and [[Jdev]] for the GitHub mirror.
* http://home.versatel.nl/gheijenk/robocode/things/ParticipantsTeam_20080726.zip (Netherlands mirror)
 
* http://nat.robothai.net/robocode/ParticipantsTeam_20080726.zip (Thailand mirror)
 
 
 
== Problem reporting ==
 
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>
 

Latest revision as of 07:33, 13 June 2021

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 sure you are using Java 11. Older versions of Java may not work with certain bots.
  2. Make a new, clean installation of the version of Robocode (download) that matches what LiteRumble indicates is allowed.
  3. Edit roborumble/[roborumble/meleerumble/teamrumble/twinduel].txt and change the Put_Your_Name_Here to your preferred username.
  4. Extract the latest bot archive (42.1 MB zip file) into the "robots" directory.
  5. (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