Difference between revisions of "RoboRumble/Contributing to RoboRumble"

From Robowiki
Jump to navigation Jump to search
m (Migration)
(Looks like Java 11 is now the norm according to the Participants page?)
 
(56 intermediate revisions by 14 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]].'''
 +
 
 +
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.
  
<b>To collaborate with RR@H</b>
+
Run it as much as you can! The more you run it, the faster everybody's bots will be ranked. Report problems [[{{TALKPAGENAME}}|here]].
  
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.
+
== Setting up ==
 +
# Make sure you are using Java 11. Older versions of Java may not work with certain bots.
 +
# 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] (42.1 MB zip file) into the "robots" directory.
 +
# (Optional) On newer CPUs on which you are planning to run RoboRumble exclusively, disable [[Dynamic Overclocking]].
  
# 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. <b>Please only use versions 1.5.4 or 1.6.0, as they are proven stable.</b>
+
There you go!
# Edit "roborumble\roborumble.txt" file and change the Put_Your_Name_Here to your nick.
 
# Extract all the zip-files below into the "robots" directory
 
# 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.
 
# 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.
 
----
 
To get a reasonably up-to-date set of robots for the rumble to start with, grab the following zip file and move the 300 jars inside it to your RR@H robots directory:
 
* http://robowiki.net/robocode/rrath_participants.zip
 
* http://www.krillrfiles.com/robocode/rrath_participants.zip
 
And get the 308 updates since 20041017 till 20070929:
 
* http://home.versatel.nl/gheijenk/robocode/things/rrath_add_20070929.zip
 
And get the 117 updates since 20070929 till 20080711:
 
* http://home.versatel.nl/gheijenk/robocode/things/rrath_add_20080711.zip
 
  
The same for the meleerumble:
+
== Running battles ==
* http://home.versatel.nl/gheijenk/robocode/things/ParticipantsMelee_20080726.zip
+
* Run [[1v1]] battles with '''<code>roborumble.bat</code>''' (Windows), '''<code>roborumble.sh</code>''' (Linux), or '''<code>roborumble.command</code>''' (MacOS).
 +
* 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>'''.
  
And also for the teamrumble:
+
== RoboRumble bot JARs ==
* http://home.versatel.nl/gheijenk/robocode/things/ParticipantsTeam_20080726.zip
+
Downloads:
 +
* [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)
  
----
+
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]].
 
----
 
__NOTOC__
 
  
 
== 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
** If you want the roborumble client to run battles indefinitely, use one of the following scripts.
+
* '''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.
  
== Batch script for Windows users ==
+
== Troubleshooting ==
<pre>
+
Remove the following files or directories:
@echo off
+
* <code>config/</code>
title RoboRumble@Home Client
+
* <code>roborumble/files/</code>
:run
+
* <code>roborumble/temp/</code>
java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar;libs/codesize.jar;libs/cachecleaner.jar robocode.Robocode 2>> ./log.txt
+
* <code>robots/robot.database</code>
echo ---
 
goto run
 
</pre>
 
Appends stderr output only to log.txt.
 
  
 +
And try again.
  
== Bash script for *nix users ==
+
== Screenshots ==
This bash script will be good for unix "roborumbler". Run forever battles, it catch 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). For Linux: save it 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:
+
[[Image:RoboRumbleClient.png]]
<pre>
 
#!/bin/bash
 
  
echo #  new line
+
== See Also ==
count=0
+
{{:RoboRumble/Navigation}}
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