http://robowiki.net/w/api.php?action=feedcontributions&user=Lestofante&feedformat=atomRobowiki - User contributions [en]2024-03-29T06:37:09ZUser contributionsMediaWiki 1.34.1http://robowiki.net/w/index.php?title=Talk:Darkcanuck/RRServer&diff=5689Talk:Darkcanuck/RRServer2009-04-28T11:54:00Z<p>Lestofante: posistive feedback for the new feature:-)</p>
<hr />
<div>Fire away...<br />
<br />
Just a suggestion for an additional check. I have never seen score a bot more than 8000 points, so this could be checked too. When examining the results that messed up the original roborumble rating beyond repair, I saw results of 20000 against 16000 (Thats what you get when running OneOnOne with MELEE=YES). For the time being I let my client running (unattended) for ABC's server, as I don't really have the time for bughunting. Your effort however seems promising. Good luck. -- [[GrubbmGait]]<br />
<br />
* Thanks! That's a good check, will be combining that with the survival >=35 (also your suggestion I think) once I rearrange the error handling and failure output to the client. Then I'll look into ELO... --[[Darkcanuck]]<br />
* Your checks have both been implemented. -- [[Darkcanuck]]<br />
<br />
Looking very nice! I have a couple questions and thoughts I thought I'll mention. So what is this "Ideal" column in the results mean? One thought I had about ratings, is perhaps it would be best to make the APS fill missing pairings with Glicko-based estimates? I'm thinking that would give the best long term stability/accuracy once pairings are complete while having something a more meaningful before pairings are complete before the pairings are complete. --[[User:Rednaxela|Rednaxela]] 01:18, 26 September 2008 (UTC)<br />
<br />
Thanks! I've just posted a bit more about ratings [[Darkcanuck/RRServer/Ratings | here]]. The "Ideal" column is my attempt to reverse calculate a rating based on a bot's APS. I just inverted the Glicko formula for "E" (expected probability) to yield a rating given if given E (i.e. APS) and a competitor's rating and RD. For the latter two I used the defaults (1500 and 350) so theoretically if the APS represents the score vs an average bot (and there's a uniform distribution?) then the rating might converge to the "ideal" value. But I have no idea if it works, just wanted to see how close it might be.<br />
I'm not sure you could fill in the pairings using Glicko + APS -- the reason systems like Glicko exist is to get around the problem of incomplete pairings, so the Glicko rating should be enough in itself. If it's accurate, that is -- we'll see once the ratings catch up to the pairings already submitted... -- [[User:Darkcanuck|Darkcanuck]] 03:39, 26 September 2008 (UTC)<br />
<br />
Ahh, I see. Thanks for the explanation. If the Glicko rating doesn't converge very very close to the "Ideal" then I'd say it alone might not be the best fit alone for Robocode due to how complete pairings are not hard to get. The reason I suggest using APS and filling missing pairings with Glicko-based percent estimates, is because my proposed method will be guaranteed to ''always'' converge to an exact APS ranking order when pairings are complete, and would quite surely be at least slightly better than APS when pairings are not complete. Perhaps I'm more picky than most, but I'd consider a hybrid necessary if "Glicko" doesn't in practice converge to "Ideal" to within an accuracy that preserves exact rankings with APS (which I think is very plain and simple the most fair when there are complete pairings). I suppose we'll see how accurately Glicko converges :) --[[User:Rednaxela|Rednaxela]] 04:25, 26 September 2008 (UTC)<br />
<br />
:Be careful about the "ideal" convergence concept! Keep in mind that I made this value up and it doesn't really have a statistical basis of any sort. I was just curious what a naive reversal with a single data point might produce, in order to get an idea of what neighbourhood DrussGT's rating might be in, for example. I also wanted to get a sense whether I had programmed the formulas correctly. I wonder though, if we're abusing these rating systems by using %score instead of absolute win/lose values (1/0)? Would the Glicko rating converge more rapidly to match the APS scale if I had chosen win/loss? I'm very curious, but no so much as to interrupt the current rebuild, which may take longer than I thought. -- [[User:Darkcanuck|Darkcanuck]] 04:54, 26 September 2008 (UTC)<br />
<br />
:Well, I'm not talking about the convergence to that "Ideal" column. I'm talking about convergence of the relative rankings as opposed to specific rating numbers. If the rankings, don't converge to exactly the same order as APS, then I think there's issue enough to justify a hybrid that uses APS, with ELO or Glicko to estimate missing pairings. --[[User:Rednaxela|Rednaxela]] 05:10, 26 September 2008 (UTC)<br />
<br />
:Gotcha. I suppose you could keep track of the rating (Elo or Glicko) and just use it to calculate expected scores for missing pairings. Then generate an estimated APS for full pairings. We'll have to see how well the ratings stabilize. I'm thinking I should have used Glicko-2 instead, since it includes a volatility rating to account for erratic (read problem bot) performance. -- [[User:Darkcanuck|Darkcanuck]] 06:22, 26 September 2008 (UTC)<br />
<br />
Started sending the results to your server, as long as you relay them to ABC's server. What is the delay btw? --[[User:GrubbmGait|GrubbmGait]] 10:08, 26 September 2008 (UTC)<br />
<br />
:Thanks for joining in! I have no plans to stop relaying results and have been doing so for almost a week now. If by "delay" you mean occasional slow connections, it's due to the [[Darkcanuck/RRServer/Design#Scoring_updates | scoring update]] and I've posted it on the [[Darkcanuck/RRServer/KnownIssues | known issues]] page. I have this process cranked up at the moment while I try to get the ratings to catch up, but it will get faster soon. :) -- [[User:Darkcanuck|Darkcanuck]] 15:25, 26 September 2008 (UTC)<br />
<br />
Great job with his server, you can always get the ranking/battles_* files from my server and sumbit them all into yours. I'm also experimenting with mySql atm. My SQL skills are a little rusty but it's all coming back pretty fast :).<br />
<br />
I also have a few doubts about the new ranting method. The first one is: why? From what I understand Glicko is an ELO extension for rankings where the match frequency is not uniform between participants, which is not the rumble's case? As an experiment it's very cool, but for me the "old" ELO method is time tested and proven to work great, and should be the default sorting method for the ranking table. --[[User:ABC|ABC]] 11:23, 26 September 2008 (UTC)<br />
<br />
: I also have some doubts about if Glicko will actually give better or much different results than ELO, however I'm not sure ELO is really the best default ranking system when full pairings are easiest to get. I suppose we'll see once your server gets to full pairings, but I'm strongly suspecting there will be some ranking deviations from the APS ranking, which I think is hard to argue is in any way biased. --[[User:Rednaxela|Rednaxela]] 13:26, 26 September 2008 (UTC)<br />
<br />
:I have doubts as well, but I wouldn't have known until I tried it. My major objection against Elo is the lack of a clear, published implementation. It was easier to implement Glicko than to sort through the RR server code. If someone can clarify this for me, sure I'll try it out. Why not? -- [[User:Darkcanuck|Darkcanuck]] 15:25, 26 September 2008 (UTC)<br />
<br />
== Bravo ==<br />
<br />
I just want to leave a note saying you're awesome. :) It's really nice having someone put effort into improving the rumble itself. Good work! --[[User:Simonton|Simonton]] 03:27, 11 October 2008 (UTC)<br />
<br />
Oh, and FNL, if you're reading this, that goes double for you :). --[[User:Simonton|Simonton]] 03:30, 11 October 2008 (UTC)<br />
<br />
== Style ==<br />
<br />
Do you think you or I could restyle the page, some basic css could go a long way to making the page look more modern and less of an eyesore. An example of my work is [http://www.csdgn.org here], though it wouldn't look like my page there but it will be clean (and it will validate). Currently its not even setup as a webpage. Which means it will render in quarks mode by all browsers, which is a very slow and cpu intensive rendering mode.<br />
<br />
In fact there is alot you can do to both reduce html elements and increase rendering speed. Such as changing the &lt;td>&lt;b> combo into just &lt;th> tags, because thats what they are for &lt;td> = table data, &lt;th> = table header, with some css you can justify thier alignment, it wouldn't require much css, as such alot of css is actually undesirable in a simple page such as this, but css is perferred over tags because it is actually faster in most cases (very old or poorly designed browsers being the exception).<br />
<br />
[[User:Chase-san|Chase-san]] 08:02, 14 October 2008 (UTC)<br />
<br />
* I '''very''' strongly agree! It's on the roadmap, but I've focused on the data side first. The current "pages" were based on a view-source from the old server. A little css and valid xhtml would go a long way. I also want to switch to a template system (maybe Smarty or Zend?) for easier reading and better reuse -- having html mixed in with php makes for some very ugly code. If you want to style some static content and send it to me, that would be great! --[[User:Darkcanuck|Darkcanuck]] 15:04, 14 October 2008 (UTC)<br />
<br />
:: xhtml is very nice, while most browsers support true xhtml (except IE and Konqueror), the ones that do not, control a large enough majority where it would have to be described as text/html anyway. This mitigates the real purpose of an xhtml page but is nice to have the framework in place for when they catch up (all the work that would have to be done is switching the content type). I think using Smarty or Zend is overkill unless you plan on extending the system further and I only suggest them only if you plan on doing something like roborumble.org. They are template engines, meaning you would have to make templates for them, which jsut adds alot of extra overhead on something simple like this. Remember KIS, keep it simple. --[[User:Chase-san|Chase-san]] 21:36, 14 October 2008 (UTC)<br />
<br />
:: If you really want a really nice super-quick super-simple "template engine" I suggest you consider [http://www.massassi.com/php/articles/template_engines/ this]. Instead of bothering with special "template" languages, you write your templates just in PHP, and all the "template engine" does is set up variables making really clean shorthand like <code><?=$title;?></code> all that's needed to put some variable in the template. I once tried it when hacking around and found it to be a really nice KIS approach to "template engines". Also the author put the code there in public domain, so there are no issues using it in here as we see fit. --[[User:Rednaxela|Rednaxela]] 03:47, 15 October 2008 (UTC)<br />
<br />
:: I at one point designed my own KIS template system, it was simular to others except that the content to replace was in {}, for example {title} and then for other parts I did things like &lt;table>{row_start}&lt;tr>&lt;td>{row_num}&lt;/td>&lt;td>{row_data}&lt;/td>&lt;/tr>{row_end}&lt;/table>. All this was kept in a seperate file and required parsing, but otherwise was fairly simple that it was a template engine but also it only used half a dozen commands and you used the functions to fill in the data. I will see if I can locate it or remake it if you like the sound of using a template but still want to keep it very simple. --[[User:Chase-san|Chase-san]] 22:41, 15 October 2008 (UTC)<br />
<br />
:: Thanks for the suggestions guys, but I'm sticking to my original plan (Smarty). If the template engine ever becomes the bottleneck, then I'll look into something custom. --[[User:Darkcanuck|Darkcanuck]] 02:13, 16 October 2008 (UTC)<br />
::: Okay, cool. I would like to work on a template for the actual score page then, I am great at css and making it cross-compatible with other browsers (namely IE, Firefox, and Safari (I use Opera, so obviously it will work for that too)). Unlike making robots, web pages are not very time consuming. Do you have any kind of messenger we could talk (I have or can get any of them) --[[User:Chase-san|Chase-san]] 04:08, 16 October 2008 (UTC)<br />
::: Excellent! Don't use messenging much, and I'm currently travelling at the moment so email is better: jerome-at-darkcanuck-net --[[User:Darkcanuck|Darkcanuck]] 23:43, 16 October 2008 (UTC)<br />
<br />
<br />
== Team Rankings ==<br />
<br />
Is it an idea to get the battles for teams from Pulsars server? I think they have no weird results, and your ranking will at least have a teamranking then. --[[User:GrubbmGait|GrubbmGait]] 17:57, 24 October 2008 (UTC)<br />
<br />
: Good idea! I'll grab the battle file, but need to figure out how to exclude older team versions to keep the server load down. --[[User:Darkcanuck|Darkcanuck]] 01:58, 25 October 2008 (UTC)<br />
<br />
== Table Sorting ==<br />
<br />
Very nice things things lately! I do have a couple little gripes though. One thing, is I think it would be more natural if first click does 'highest-first' unlike how TableSorter seems to operate by default. Secondly... ugh... it's so damn slow to sort. Even on my fairly modern system there's a very ugly delay when sorting the table (a 20 year old machine could sort the data faster with static code probably... not everyone uses Google Chrome or an experimental FF build) and I imagine this would become a very annoying delay on anything older. Not only is the JS sorting slower than server-side but there's no indication of it processing/loading which irks me a little. Perhaps if the JS sorting is stuck there should be a little line or two of code to makebo a 'loading...' indicator of some sort? In any case, great work lately! --[[User:Rednaxela|Rednaxela]] 21:39, 26 October 2008 (UTC)<br />
<br />
The problem with javascript when sorting big tables is not the sorting in itself but the big number of DOM document chand hges when you generate the resulting table HTML. I'm currently developing a small javascript application at work that sorts a table of around 500 entries pretty much instantaneously. It only shows the top 5 entries as a table (similar to DC targeting, curiously :)), if I generate the 500 rows it becomes very slow. --[[User:ABC|ABC]] 23:14, 26 October 2008 (UTC)<br />
<br />
After some reading, I found that apparently TableSorter's slowest part, is how it READS the data from the DOM every time you sort. Perhaps a more efficent method would be to send the data in both HTML form and JSON form, and let the script change the order of the rows in the DOM based on the data efficently parsed from the JSON and stored in the JS memory. I think that model would have the fewest DOM operations and thus be the most efficent way to do client-side sorting. On a related but diverging note... once at that point, it might not be that much more work to do 'live' score updates... (which would also reduce bandwidth use in the face of mad-refereshers). I may be tempted to try and code such a fancy efficent-sorting live-updating score view some time... --[[User:Rednaxela|Rednaxela]] 00:19, 27 October 2008 (UTC)<br />
<br />
Well, it's faster than re-requesting the page, which the old sort did. :) But if you find a way to speed it up, I'm all ears -- javascript is pretty new to me. I don't like the default sort order either, but there didn't seem to be an option to start with a descending sort. The Glicko columns are also a little weird due to the RD value in brackets.<br />
I'm not sure I follow the bit about "live updates" though, the current pages are as live as you can get. Scores are updated every time a new result is uploaded. --[[User:Darkcanuck|Darkcanuck]] 05:47, 27 October 2008 (UTC)<br />
<br />
Actually, I'm finding it very distinctly slower than re-requesting the whole page (of course my campus internet here is pretty damn fast). Well, I think it certainly be sped up by methods like I said above with sending the data in JSON form and keeping in JS memory, though it would likely involve using our own code instead of TableSorter (or mangling TableSorter considerably beyond recognition). And what I mean by "live updates", would be using "AJAX" stuff to every minute or so ask the server if there have been any more recent updates, the server sends any in JSON form and the results page gets updated without refreshing. --[[User:Rednaxela|Rednaxela]] 12:35, 27 October 2008 (UTC)<br />
<br />
== Contributors ==<br />
<br />
Just another small idea, can you distinguish the contributors per month? Long time ago, late 2004 I think, we had a sortof ranking of contributors when rebuilding the rankins after a servercrash. (He, sounds familiar . . ) This way 'new' contributors see their names without the need to scroll way down. Also: every ranking is a competition ;) --[[User:GrubbmGait|GrubbmGait]] 19:00, 28 October 2008 (UTC)<br />
<br />
: Are you saying you don't like my score of 410,000+? ;) (melee is the key to high numbers, btw) Good idea to split the numbers out in more detail. I guess I could add some more columns to the users table to make some rolling counts. What interval would be best: once per day to keep a 30-day window, or start fresh every month to make a new competition? --[[User:Darkcanuck|Darkcanuck]] 05:40, 29 October 2008 (UTC)<br />
<br />
:: Well I personally think "once per day to keep a 30-day window" would be best for being a more meaningful and current reflection of things, but starting fresh each month would be best if we want to have something like a 'monthly rumble contributor award'. Of the tradeoff, I'm leaning to the former myself. Of course, if we really wanted we could just track both :) --[[User:Rednaxela|Rednaxela]] 14:53, 29 October 2008 (UTC)<br />
<br />
Ok, we now have current month and last-30-days upload rankings, split by game type. I've tried to scale the melee numbers to match the actual number of battles run (45 pairings uploaded per battle?). Hopefully someone will start to submit team battles (can't get my client to work). --[[User:Darkcanuck|Darkcanuck]] 23:51, 30 November 2008 (UTC)<br />
<br />
== Partecipant list ==<br />
<br />
Can you please create a mirror of the official participant's list on your server (updated automatically)? That's good if the official page is off-line, like now ^-^ --[[User:Lestofante|Lestofante]] 22:05, 1 Dic 2008 (UTC)<br />
<br />
: Try this: http://darkcanuck.net/rumble/particip1v1.txt . I just uploaded my copy to the server and added the 'pre' tags the rumble client is looking for. Once the old wiki comes back I'll try mirroring all of the participant lists -- shouldn't be difficult, just a daily 'wget'... --[[User:Darkcanuck|Darkcanuck]] 03:35, 2 December 2008 (UTC)<br />
<br />
::Thank, now my client work. Here the modify: PARTICIPANTSURL=http://darkcanuck.net/rumble/particip1v1.txt. For the mirroring system just don't use only a wget but use a little script that control the integrity of the list.--[[User:Lestofante|lestofante]] 09:37, 2 December 2008 (UTC)<br />
<br />
== Survival ==<br />
<br />
One thought is, now that removing the Glicko-1 column has cleared up a little space... maybe those survival percents that are in the details pages could be included? I think it would be nice to be able to easily see what bots are strong survivalists ;-) --[[User:Rednaxela|Rednaxela]] 23:42, 2 December 2008 (UTC)<br />
<br />
: Too easy! :) --[[User:Darkcanuck|Darkcanuck]] 04:53, 3 December 2008 (UTC)<br />
<br />
:: Nice. Now just to wait for all the bots to return so I can see how good 'RougeDC survival' really ranks in that... :) --[[User:Rednaxela|Rednaxela]] 05:05, 3 December 2008 (UTC)<br />
<br />
:: It could be a long wait -- reactivation is just as slow as removal. But at least clients won't be fighting over the two. --[[User:Darkcanuck|Darkcanuck]] 05:13, 3 December 2008 (UTC)<br />
<br />
:: Aye, but at least based on the rate at which my client is currently uploading bots of which some need to be reactivated, I think there's a good chance it may be back to normal in less than 12 hours from now. --[[User:Rednaxela|Rednaxela]] 05:29, 3 December 2008 (UTC)<br />
<br />
== "Suspicious Battle List" ==<br />
<br />
One thought I had is that bad 0 scores could be filtered by taking a look at the expected score, and discarding 0 results where it they seem unreasonable. Of course, an alternative to automatic rejection, would be making a "suspicious battle list" page that could be watched for manually initialting removals. I would imagine it would take no more than a single SQL statement of moderate complexity to list suspicious uploads. --[[User:Rednaxela|Rednaxela]] 06:25, 29 December 2008 (UTC)<br />
<br />
Neat idea. Although bots which throw the occasional exception may get a lower than expected score once in a while. Rather than run a query against the battles table, the server could flag battles as they're submitted if the score deviates too far from the expected value. What do you think a good range would be, considering some bots have very high PBI's? --[[User:Darkcanuck|Darkcanuck]] 06:48, 29 December 2008 (UTC)<br />
<br />
Well I think running a query against the battles table is necessary due to the number of bad results that are already in the server, which I'd consider quite important to fix and manually searching for all of them would be time intensive. As far as what kind of deviation? Well because of such high PBI cases I'd say something roughly like the following would be good. Flag them if: 1) The battle deviates from the Glicko-2 expected result by more than 50, or 2) The battle deviates from any results submitted by *other* clients by more than 30, or 3) The score is exactly 0 when the expected score is anything greater than 20<br />
<br>Of course, I strongly believe we can't get a really strong idea of exactly what thresholds are good until we to do some queries on the battles database to determine what level of sensetivity is most correct. --[[User:Rednaxela|Rednaxela]] 07:07, 29 December 2008 (UTC)<br />
<br />
<br />
== Source code ==<br />
Can I've your server source, please? I've write PHP and MySQL for over 3 years now and I've palnned to create new Thai RoboRumble for my country! Hope you'll give it to me. You can email me at email found on [[Nat|my user page]]. &raquo; <span style="font-size:0.9emcolor:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 09:20, 10 February 2009 (UTC)<br />
<br />
== Rumble ideas ==<br />
<br />
Hi! I'm very thankful to you for doing the new engine. I was thinking about brand new femto and haiku rumbles. What do you think about it? In my opinion it'd be fantastic if there were these kind of categories. They seem to be really cool and exiting, but unfortunately, there isn't any ranking or challenge for them. Femto can't be hard to implement, maybe haiku is a harder task. I imagined new categories for them with new participants list for them, but I can imagine that the actual bots can have this kind of rank, but then it would lose its importance. --[[User:Robar|HUNRobar]] 17:55, 14 February 2009 (UTC)<br />
<br />
In femto battle, we really need to modify RR@H client. For Haiku, I think not. It require human to detect how many lines are there. But, wait a minute, I'm now creating my new Rumble Server which support many old rumble ideas and these rumble! That why I want his source code above. If you want to test your haiku bot or femto bot, you can see old ranking and bot in robocode little league by [[Kawigi]]. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 01:48, 15 February 2009 (UTC)<br />
<br />
== Valid versions ==<br />
<br />
By the way Darkcanuck, just to let you know:<br />
* I'm quite sure 1.6.1.4 (NOT plain 1.6.1) is at least as rumble-stable as 1.6.0 is, and is better because it fixed how ITERATE was broken.<br />
* Also, I'm pretty sure EVERY single version from 1.6.2 to 1.7.1 Beta 2 have been bad for rumble.<br />
* 1.7.1 Final look like they're probably good for rumble except for:<br />
:# http://sourceforge.net/tracker/?func=detail&aid=2727675&group_id=37202&atid=419486<br />
:# http://sourceforge.net/tracker/?func=detail&aid=2627698&group_id=37202&atid=419486<br />
--[[User:Rednaxela|Rednaxela]] 07:34, 3 April 2009 (UTC)<br />
<br />
* Agree. I really like 1.7.1, even in alpha version, compare to 1.7.0.2, which have a ton of bugs =D I'm figuring out what behind SandboxDT and sure that Fnl is fixing another bug so expected 1.7.1.1 with better rumble :-) &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 16:07, 3 April 2009 (UTC)<br />
<br />
Ok, I can add 1.6.1.4 to the list -- but it won't matter much since that client won't report it's version number either. Nice summary though. (and you know I filed that 1.7.1 melee bug right?) Anyone interested in patching the 1.5.4/1.6.0/1.6.1.4 rumble jar(s) with the version check from 1.6.2? --[[User:Darkcanuck|Darkcanuck]] 15:40, 3 April 2009 (UTC)<br />
<br />
* Either user won't download patched version. I'll try to do. Just getting head spinning around checking out from robocode svn :-) &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 16:07, 3 April 2009 (UTC)<br />
<br />
I see you patched your client already. Just few suggestion, you can (mostly) detect from user suffix. Most user suffix their name with version (except deewiant) so you can check with that. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 19:11, 5 April 2009 (UTC)<br />
<br />
: Yes, but I like guarantees that the right version is being used. :) I've patched both 1.5.4 and 1.6.1.4 to report the client version and I'll post the new jars later today. Once rumble users have switched, then I can turn off the workaround for older clients. --[[User:Darkcanuck|Darkcanuck]] 22:08, 5 April 2009 (UTC)<br />
<br />
I've been using 1.6.0 for the rumble, for what I understand I should install 1.6.1.4 (actually the version I develop with) and replace with the patched jar? Has it been tested, even a little bit, to ensure no side effects, or should I set upload to not for a while? --[[User:Zyx|zyx]] 03:52, 6 April 2009 (UTC)<br />
<br />
: I've tested both jars on my system and they seem to be fine. If you want to stick with 1.6.0 I can patch it tomorrow -- I got lazy and only did "ol' reliable" (1.5.4) and the latest stable version. Right now I'm using 1.6.1.4 myself, although I can't get that one to work on my Mac. --[[User:Darkcanuck|Darkcanuck]] 04:20, 6 April 2009 (UTC)<br />
<br />
I tested 1.6.1.4 a fair bit and for a period of time it was what I was using for rumble. And also, like I note above, that version fixes the ITERATE option which has been broken for a long time (it still ran with ITERATE=YES in older versions, but it didn't choose the best bots properly after the first iteration). --[[User:Rednaxela|Rednaxela]] 04:17, 6 April 2009 (UTC)<br />
<br />
No no, I don't want to stick to 1.6.0, I used 1.6.1.4 as my first rumble client, then read that ''official'' versions were 1.5.4 and 1.6.0 so I downgraded to it, so actually 1.6.1.4 is what I'd like to use. When I saw [[Rednaxela]]'s post above I already decided to switch, I don't use ITERATE, but I still prefer the newest stable version, and since is the version I develop in, even more. My question was related to the patched jar's, sometimes one change affects more than one would like it to, so I asked if you tested it, relatively enough :-p. I will run the patched 1.6.1.4 later tonight, probably with UPLOADS set to NOT just in case, and tomorrow let it upload if ok, or report any weird behavior if I see one. Good job anyways. --[[User:Zyx|zyx]] 05:20, 6 April 2009 (UTC)<br />
<br />
FYI, SVN revision [http://robocode.svn.sourceforge.net/viewvc/robocode/robocode/trunk/robocode.roborumble/src/main/java/net/sf/robocode/roborumble/netengine/ResultsUpload.java?r1=2094&r2=2352 r2352] is the update where it is added. (I think you knew already, Darkcanuck) Actually, I saw only few lines of changes :-) BTW, it's engine for 1.6.2 (AKA melee bugs version) not for old engine. There is a lot change to 1.6.2. Just shame of myself, as I said above to create a patch, but I not even start yet. I don't think you need to patch 1.6.0.1, as everybody but Darkcanuck and GrubbmGait use 1.6.1.4 (at least after this night) AFAIK, no bot that can run on 1.5.4 or 1.6.0.1 can't run on 1.6.1.4, or any? If everybody use 1.6.1.4, I shall release a bot with underscore in version again =D &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 07:48, 6 April 2009 (UTC)<br />
<br />
[[Zyx]], why don't you use ITERATE? David Alves said somewhere that ITERATE is twice faster than using shell script. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 07:48, 6 April 2009 (UTC)<br />
: Probably because of that, I don't like my processors temperature when ITERATE is on. I have a shell scripts that sleeps after every iteration and it can be set how many roborumble iterations to run per one meleerumble iteration. And I know that ITERATE is much faster because the ''initializing version check'' takes quite some time. I have a ''modified'' version of RoboRumble, that basically does the same thing but it doesn't upload results(stores to files) and has a Thread.sleep(X), that I use to test new versions of my bots, and that one is faster and I can still sleep after iterations. Although adding the Sleep into the official version would be really simple, I would still be missing my roborumble/meleerumble relation, also [[Darkcanuck]] has a bit of fault, since the server is faster it's harder for the processor to cool down :-S. --[[User:Zyx|zyx]] 08:28, 6 April 2009 (UTC)<br />
<br />
I went ahead and patched 1.6.0 anyway -- but this one I haven't tested. The other two have been tested for both one-on-one and melee, and I've been using 1.6.1.4 for two days now. If you find the server too fast, I can increase the upload throttling :) (right now there's a one second delay between uploads) --[[User:Darkcanuck|Darkcanuck]] 15:14, 6 April 2009 (UTC)<br />
<br />
Rednaxela, bot issues are fixed, please verify. Unfortunatly, new bugs discovered. [https://sourceforge.net/tracker/?func=detail&aid=2742554&group_id=37202&atid=419486] :-( &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 02:16, 8 April 2009 (UTC)<br />
<br />
: I think it may be awhile before a stable 1.7.x version is ready. There was never a stable 1.6.2 and 1.7 adds more systemic changes so there will be more bug hunting to come! I might add a "test" mode on the server so basic rumble checks can be done -- let me know if you have suggestions. --[[User:Darkcanuck|Darkcanuck]] 02:24, 8 April 2009 (UTC)<br />
<br />
:: Maybe you don't know that 1.7.1 has nearly no bug left. It inherit a lot of bug from 1.7.0 that don't reported on SF, and a lot of new bug, too. But, I have hunted more than 50 bugs already (from alpha version)<br />
::The "test" mode is good ideas, but will it overload your server? I suggest, if your mysql is fast enough, try adding field stable. Stable result query WHERE `stable` = 1 and "test" result query all of them. Easy? &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 03:41, 8 April 2009 (UTC)<br />
<br />
:: Even when all the reported bugs are fixed, we will need to spend some time running it to make sure the results are valid. The "test" mode I was considering wouldn't actually store anything to the database, just do the basic data validation checks before throwing away the results. This way you could run a new client and monitor the results. There's already a status flag in the battle results table which could do what you suggested, but I don't know that we need to store the test results. A fairly simple improvement on this plan would be to calculate the difference between the real rumble results and those from the test client, then send this data back to the client. --[[User:Darkcanuck|Darkcanuck]] 04:18, 8 April 2009 (UTC)<br />
<br />
::: Team Rumble result are invalid right now, that's why those melee bot going into Team Rumble result. But I think RoboRumble and MeleeRumble result are valid now. I'll test by set UPLOAD = NOT in latest 1.7, put result to 1.6.1.4 and let it upload. :-) &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 04:30, 8 April 2009 (UTC)<br />
<br />
:: Ergh! Sorry, please consider delete all result from Nat_1711 :-( 1.6.2 and up use Survival score but older use place count. I'm very sorry. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 04:48, 8 April 2009 (UTC)<br />
<br />
::: Maybe next time don't change your client's version number? The check is there for a reason... --[[User:Darkcanuck|Darkcanuck]] 06:27, 8 April 2009 (UTC)<br />
<br />
:::: I'm not playing. All result is uploaded under new username (Nat_1711 vs. Nat_1614 or Nat). I think you cen delete with one SQL query, aren't you?<br />
:::: But the result from from it is very close to original score. I can't spot any difference except survival. I've a tousand of 1.7.2alpha result save im my machine wait for 1.6.1.4 to upload it :-) Just look at your code, using survival score aren't metter in one-one-one/team since it automatically calculate percent score.<br />
:::: I hope you plan for newer version soon. This version work twice faster than 1.6.1.4 on my machine. But load with pile of java exceptions, too. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 06:49, 8 April 2009 (UTC)<br />
<br />
::::: I appreciate your taking the time to test 1.7.2, but please don't upload results from 1.7.2 using a 1.6.1.4 client! If there are problems with the results, how can we separate them easily? Removing bad results from the rumble is more complicated than a single SQL query and unfortunately I haven't automated it yet: 1 - the bad result has to be flagged/deleted, 2 - pairing scores need to be recalculated, 3 - ELO/Glicko/APS rankings need to be updated at least once to smooth out the bad data (only APS can be recovered cleanly). When the open issues with 1.7.x are fixed and a new release comes out then we can look into allowing the new version. ''But for now, please stick to the official versions when uploading''. There are over 5 million battles stored on the server, I don't want to search through all of them to find a handful of bad ones! ;) --[[User:Darkcanuck|Darkcanuck]] 07:15, 8 April 2009 (UTC)<br />
<br />
I noticed the message about patching roborumble.jar, so I did, but then I get the following when uploading:<br />
<br />
OK. Client version null is not supported by this server! Please use one of these: 1.5.4, 1.6.0, 1.6.1.4<br />
<br />
I tried patched versions of both 1.5.4 and 1.6.1.4, but I got the same message each time. Beats me what's up with that; for now, I reverted back to the unpatched roborumble.jar (under 1.6.1.4, for what it's worth). --[[User:Deewiant|Deewiant]] 15:22, 9 April 2009 (UTC)<br />
<br />
: Sounds like the patched roborumble.jar is working but the game engine isn't returning a version number (just an empty string). Can you try a clean install (just copy over your bot jars and the files under roborumble/)? I think the engine pulls its version number from the versions.txt file, so if it's missing or has been updated then this could happen. --[[User:Darkcanuck|Darkcanuck]] 07:59, 10 April 2009 (UTC)<br />
<br />
:: Sorry, I should have been more clear: that's exactly what I did for both 1.5.4 and 1.6.1.4 when I first ran into the problem: I grabbed the installer from SourceForge, copied over robots and roborumble/*.txt, overwrote roborumble.jar with the patched one and ran meleerumble.sh. And then I got the error again. --[[User:Deewiant|Deewiant]] 10:53, 10 April 2009 (UTC)<br />
<br />
::: Thanks for the info! I think I just found the bug: in the pre-1.6.2 versions (which is where the patch comes from) there are separate methods for normal battles and melee battles. Looks like I only patched the normal one but missed melee. Expect a new set of patched versions shortly! --[[User:Darkcanuck|Darkcanuck]] 21:27, 10 April 2009 (UTC)<br />
<br />
::: Just tested the new 1.6.1.4 patch and this problem has been fixed for melee. 1.5.4 and 1.6.0 also have been fixed. You can download the new version using the same link, although you'll probably have to clear your browser cache to get the latest version. --[[User:Darkcanuck|Darkcanuck]] 22:27, 10 April 2009 (UTC)<br />
<br />
:::: Alright, 1.5.4 works for me now, cheers. --[[User:Deewiant|Deewiant]] 10:46, 11 April 2009 (UTC)<br />
<br />
Darkcanuck, could you please take a look at robocode 1.7.1.1 released this week? Please test it and report any bug you found, or, in another word, take a decision that is it stable for RoboRumble or not. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 06:30, 13 April 2009 (UTC)<br />
<br />
: I'm away this week but when I get back I'm planning to work on the server a bit more. Once that's done I'll take a look at the new version. And thanks to everyone who's using the patched rumble client, I think we're almost ready to disable uploads from anonymous clients! --[[User:Darkcanuck|Darkcanuck]] 18:32, 15 April 2009 (UTC)<br />
<br />
There is a bug, at least in the patched 1.6.1.4 version. If you have some battle results stored and run the client with EXECUTE=NOT, then I get this message and the results are thrown away.<br />
<pre><br />
OK. Client version null is not supported by this server! Please use one of these: 1.5.4, 1.6.0, 1.6.1.4<br />
</pre><br />
I guess it pulls the version number somewhere after executing battles starts or something like that. I guess the jar should be fixed, but anyway I think the server should reply FAIL instead of OK so the results are kept in the client. --[[User:Zyx|zyx]] 08:20, 16 April 2009 (UTC)<br />
<br />
: That's a quirk of how the version number is being pulled by Roborumble -- it's a bit odd, but I just copied how it was done in 1.7.1. Not sure how easy this is to fix but you can file it as a bug on sourceforge. On the server side, I always send an "OK" to invalid clients to prevent them from holding on to possibly bad results. For example, someone may run battles with an invalid version, see the error messages and then install a valid one on top -- if the old results are still there, they would later get uploaded with the correct version number and then corrupt the rankings... --[[User:Darkcanuck|Darkcanuck]] 18:55, 18 April 2009 (UTC)<br />
<br />
== Rating ==<br />
If in melee, both Bot A and Bot B had "0 survival", Bot A AND Bot B get "0% survival" against each other. is it 0 because 0 survival = 0% survival against the other bot, regardless of what the other bot got? or is it because of a 0 / 0 thing? --[[Starrynte]] 00:40, 4 April 2009 (UTC)<br />
<br />
In a melee battle, if two bots have 0 survival then when the server tries to calculate the survival % for that pairing it becomes 0 / (0+0) for bot A, same for B. The divide by zero protection simply assigns 0 scores to both, although I suppose technically they should each get 50%. --[[User:Darkcanuck|Darkcanuck]] 05:08, 4 April 2009 (UTC)<br />
<br />
== Team Rumble ==<br />
What the heck going in team rumble? What does melee bot from? &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 20:26, 5 April 2009 (UTC)<br />
<br />
Ugh, thanks for pointing this out! That's exactly the sort of thing the patched clients will prevent: they also report the MELEE and TEAMS settings from the properties file. Now if only we can get everyone to adopt them (only 6 uploaders active this month, shouldn't be too hard?) ... --[[User:Darkcanuck|Darkcanuck]] 03:16, 6 April 2009 (UTC)<br />
<br />
* (off-topic) Which rumble do you want contributor most? Now I run roborumble and meleerumble, with UPLOAD = DOWNLOAD = NOT at night (I usually close my internet at night, but I left my machine run so it don't use SERVER, but GENERAL) and when I awake, I change UPLOAD = DOWNLOAD = YES again. Should I switch to team rumble instead of roborumble? &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 09:15, 6 April 2009 (UTC)<br />
<br />
== Melee Rumble ==<br />
<br />
Is something wrong if each time when I run meleerumble it spews out tons of html code? --[[Starrynte]] 18:04, 9 April 2009 (UTC)<br />
<br />
: Sounds odd... can you send me a sample? (jerome at darkcanuck dot net) I don't often run a melee client but I don't remember seeing extra output. --[[User:Darkcanuck|Darkcanuck]] 07:53, 10 April 2009 (UTC)<br />
<br />
== Pairing ==<br />
Why DrussGT 1.3.6 has 699 pairings while only 699 bots in rumble? It should have only 698 so far (it can't paired with itself) &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 07:37, 15 April 2009 (UTC)<br />
<br />
* OK, it's going down to 697 now, and loose PL score. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 08:47, 15 April 2009 (UTC)<br />
<br />
: Data in the ranking tables only updates when that bot gets a new battle result. So if there are new bots added or retired from the rumble, it may take a little while for all the existing competitors to fight one battle each and get updated. If you want to use data from the rankings table, I'd suggest waiting until that bot has at least 2000 battles '''and''' there has been no changes to the participants list for at least one day. --[[User:Darkcanuck|Darkcanuck]] 18:03, 15 April 2009 (UTC)<br />
<br />
==Comparison between robot==<br />
I like the new feature for comparison with old version. Can you put at the end of comparison a "total" row and maybe add sorting script like main ranking page? I hope to have a look at server's code in this day. --[[User:Lestofante|lestofante]] 11:54, 28 April 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Participants&diff=5688RoboRumble/Participants2009-04-28T09:52:38Z<p>Lestofante: downgrade Cthulhu 1.3 to 1.2 for caomparison</p>
<hr />
<div>{{:RoboRumble/Navigation}}<br />
<br />
----<br />
Just add your bot name ('''as appears in the Robocode selector after packaging''', so including versionnumber) and the RobocodeRepository id number separated by "," (there must be no space after the comma). Please, make sure your bot is not in the list before adding it, and delete the old version if you are adding a new one.<br />
<br />
The list is in '''alphabetical''' order. Add your bot in the right slot.<br />
<br />
<!-- '''NOTE: this list is not active yet! It will become active (and updated) as soon as the new RR@Home server is ready. Don't bother editing this list until it is active. For now, edit [http://robowiki.net/cgi-bin/robowiki?RoboRumble/Participants RoboRumble/Participants on the old wiki]''' --><br />
----<br />
<pre><br />
abc.Shadow 3.83c,http://robocode.aclsi.pt/abc.Shadow_3.83c.jar<br />
abc.tron3.Tron 3.11,http://www.robocoderepository.com/BotFiles/2205/abc.tron3.Tron_3.11.jar<br />
abc.Tron 2.02,http://www.robocoderepository.com/BotFiles/241/abc.Tron_2.02.jar<br />
abud.ThirdRobo 1.0,http://www.robocoderepository.com/BotFiles/2479/abud.ThirdRobo_1.0.jar<br />
ad.last.Bottom 1.0,http://www.robocoderepository.com/BotFiles/1876/ad.last.Bottom_1.0.jar<br />
ad.Quest 0.10,http://www.robocoderepository.com/BotFiles/1846/ad.Quest_0.10.jar<br />
adt.Ar1 2.1,http://www.robocoderepository.com/BotFiles/2254/adt.Ar1_2.1.jar<br />
adt.Ar2 1.0,http://www.robocoderepository.com/BotFiles/2303/adt.Ar2_1.0.jar<br />
ag.Gir 0.99,http://www.robocoderepository.com/BotFiles/3065/ag.Gir_0.99.jar<br />
agd.Mooserwirt2 2.7,http://www.glyndavies.org/robocode/agd.Mooserwirt2.jar<br />
ags.micro.Carpet 1.1,http://homepages.ucalgary.ca/~agschult/robocode/ags.micro.Carpet_1.1.jar<br />
ags.polished.PolishedRuby 1,http://homepages.ucalgary.ca/~agschult/robocode/ags.polished.PolishedRuby_1.jar<br />
ags.rougedc.RougeDC balance,http://homepages.ucalgary.ca/~agschult/robocode/ags.rougedc.RougeDC_balance.jar<br />
ahf.Acero 1.0,http://www.robocoderepository.com/BotFiles/2151/ahf.Acero_1.0.jar<br />
ahf.NanoAndrew .4,http://www.robocoderepository.com/BotFiles/2002/ahf.NanoAndrew_.4.jar<br />
ahf.r2d2.R2d2 0.86,http://www.robocoderepository.com/BotFiles/2035/ahf.r2d2.R2d2_0.86.jar<br />
AIR.iRobot 1.0,http://www.robocoderepository.com/BotFiles/3205/AIR.iRobot_1.0.jar<br />
ak.Fermat 2.0,http://www.robocoderepository.com/BotFiles/799/ak.Fermat_2.0.jar<br />
alex.Diabolo5 1.1,http://www.robocoderepository.com/BotFiles/1506/alex.Diabolo5_1.1.jar<br />
alk.lap.LoudAndProud 2.23,http://www.robocoderepository.com/BotFiles/3601/alk.lap.LoudAndProud_2.23.jar<br />
altglass.Exterminans2oo8 alpha0328,http://d-gfx.kognetwork.ch/robocode/altglass.Exterminans2oo8_alpha0328.jar<br />
altglass.Exterminans2oo8 Build0411, http://d-gfx.kognetwork.ch/robocode/altglass.Exterminans2oo8_Build0411.jar<br />
am.Miedzix 2.0,http://www.robocoderepository.com/BotFiles/3383/am.Miedzix_2.0.jar<br />
am.Miedzix 3.0,http://87.98.190.235/~archon/am.Miedzix_3.0.jar<br />
amarok.Rookie 1.1,http://www.robocoderepository.com/BotFiles/422/amarok.Rookie_1.1.jar<br />
amk.ChumbaMini 0.2,http://www.robocoderepository.com/BotFiles/2655/amk.ChumbaMini_0.2.jar<br />
amk.ChumbaWumba 0.3,http://www.robocoderepository.com/BotFiles/2646/amk.ChumbaWumba_0.3.jar<br />
amk.jointstrike.JointStrike 0.2,http://www.robocoderepository.com/BotFiles/2597/amk.jointstrike.JointStrike_0.2.jar<br />
amk.ShizzleStiX.ShizzleStiX 0.6,http://www.robocoderepository.com/BotFiles/2603/amk.ShizzleStiX.ShizzleStiX_0.6.jar<br />
amk.superstrike.SuperStrike 0.3,http://www.robocoderepository.com/BotFiles/2600/amk.superstrike.SuperStrike_0.3.jar<br />
amk.Punbot.Punbot 0.01,http://www.robocoderepository.com/BotFiles/2604/amk.Punbot.Punbot_0.01.jar<br />
ao.T100 0.9,http://www.robocoderepository.com/BotFiles/3385/ao.T100_0.9.jar<br />
ap.Frederick 1.1,http://chase.tfsnewworld.com/bots/ap.Frederick_1.1.jar<br />
apollokidd.ApolloKidd 0.9,http://www.robocoderepository.com/BotFiles/321/apollokidd.ApolloKidd_0.9.jar<br />
apv.Aspid 1.7,http://www.robocoderepository.com/BotFiles/1412/apv.Aspid_1.7.jar<br />
apv.AspidReloaded 0.6,http://www.robocoderepository.com/BotFiles/1985/apv.AspidReloaded_0.6.jar<br />
apv.LauLectrik 1.2,http://www.robocoderepository.com/BotFiles/1300/apv.LauLectrik_1.2.jar<br />
apv.MicroAspid 1.8,http://www.robocoderepository.com/BotFiles/2519/apv.MicroAspid_1.8.jar<br />
apv.NanoLauLectrik 1.0,http://www.robocoderepository.com/BotFiles/1399/apv.NanoLauLectrik_1.0.jar<br />
apv.NanoLauLectrikTheCannibal 1.1,http://www.robocoderepository.com/BotFiles/2147/apv.NanoLauLectrikTheCannibal_1.1.jar<br />
apv.ScruchiPu 1.0,http://www.robocoderepository.com/BotFiles/1367/apv.ScruchiPu_1.0.jar<br />
apv.test.Virus 0.6.1,http://www.robocoderepository.com/BotFiles/2645/apv.test.Virus_0.6.1.jar<br />
apv.TheBrainPi 0.5,http://www.robocoderepository.com/BotFiles/1484/apv.TheBrainPi_0.5.jar<br />
ar.horizon.Horizon 1.03,http://www.robocoderepository.com/BotFiles/3286/ar.horizon.Horizon_1.03.jar<br />
ar.QuantumChromodynamics 1.2.1,http://www.robocoderepository.com/BotFiles/3220/ar.QuantumChromodynamics_1.2.1.jar<br />
ar.TheoryOfEverything 1.2.1,http://www.robocoderepository.com/BotFiles/3221/ar.TheoryOfEverything_1.2.1.jar<br />
ara.Shera 0.88,http://www.robocoderepository.com/BotFiles/1050/ara.Shera_0.88.jar<br />
areb.Union 1.06,http://www.robocoderepository.com/BotFiles/2893/areb.Union_1.06.jar<br />
arthord.micro.Apoptygma 0.4,http://www.robocoderepository.com/BotFiles/1688/arthord.micro.Apoptygma_0.4.jar<br />
arthord.micro.Muffin 0.6.1,http://www.robocoderepository.com/BotFiles/1963/arthord.micro.Muffin_0.6.1.jar<br />
arthord.KostyaTszyu Beta2,http://www.robocoderepository.com/BotFiles/2322/arthord.KostyaTszyu_Beta2.jar<br />
arthord.MannyPacquiao Beta,http://www.robocoderepository.com/BotFiles/2319/arthord.MannyPacquiao_Beta.jar<br />
arthord.NanoSatan Mu,http://www.robocoderepository.com/BotFiles/2157/arthord.NanoSatan_Mu.jar<br />
arthord.NanoSatanMelee Beta,http://www.robocoderepository.com/BotFiles/2088/arthord.NanoSatanMelee_Beta.jar<br />
ary.micro.Weak 1.2,http://www.robocoderepository.com/BotFiles/3433/ary.micro.Weak_1.2.jar<br />
ary.mini.Nimi 1.0,http://www.robocoderepository.com/BotFiles/3397/ary.mini.Nimi_1.0.jar<br />
ary.nano.AceSurf 1.2,http://www.robocoderepository.com/BotFiles/3352/ary.nano.AceSurf_1.2.jar<br />
ary.nano.ColorNanoP 1.1,http://www.robocoderepository.com/BotFiles/3629/ary.nano.ColorNanoP_1.1.jar<br />
ary.Crisis 1.0,http://www.robocoderepository.com/BotFiles/3495/ary.Crisis_1.0.jar<br />
ary.Help 1.0,http://www.robocoderepository.com/BotFiles/3624/ary.Help_1.0.jar<br />
ary.FourWD 1.3d,http://www.robocoderepository.com/BotFiles/3623/ary.FourWD_1.3d.jar<br />
ary.SMG 1.01,http://ary-robocode.110mb.com/ary.SMG_1.01.jar<br />
as.xbots 1.0,http://www.millerxbots.com/as.xbots_1.0.jar<br />
asd.Cthulhu 1.2,http://robocode.ilbello.com/asd.Cthulhu_1.2.jar<br />
asm.Statistas 0.1,http://www.robocoderepository.com/BotFiles/1989/asm.Statistas_0.1.jar<br />
axeBots.HataMoto 3.09,http://www.robocoderepository.com/BotFiles/1655/axeBots.HataMoto_3.09.jar<br />
axeBots.Musashi 2.18,http://www.robocoderepository.com/BotFiles/1759/axeBots.Musashi_2.18.jar<br />
axeBots.Okami 1.04,http://www.robocoderepository.com/BotFiles/2016/axeBots.Okami_1.04.jar<br />
axeBots.SilverSurfer 2.53.33fix,http://homepages.ucalgary.ca/~agschult/robocode/axeBots.SilverSurfer_2.53.33fix.jar<br />
baal.nano.N 1.42,http://webpages.charter.net/eleeleth/Robots/baal.nano.N_1.42.jar<br />
banshee.mini.Nexus6 0.2.0,http://www.robocoderepository.com/BotFiles/3467/banshee.mini.Nexus6_0.2.0.jar<br />
banshee.micro.Nexus6 0.3.0,http://www.robocoderepository.com/BotFiles/3473/banshee.micro.Nexus6_0.3.0.jar<br />
bayen.nano.Squirrel 0.2,http://www.freewebs.com/bayen/files/bayen.nano.Squirrel_0.2.jar<br />
bayen.nut.Squirrel 1.621,http://www.freewebs.com/bayen/files/bayen.nut.Squirrel_1.621.jar<br />
bayen.UbaMicro 1.4,http://www.robocoderepository.com/BotFiles/2830/bayen.UbaMicro_1.4.jar<br />
bayen.UbaRamLT 1.0,http://www.robocoderepository.com/BotFiles/2868/bayen.UbaRamLT_1.0.jar<br />
bbo.RamboT 0.3,http://www.robocoderepository.com/BotFiles/2210/bbo.RamboT_0.3.jar<br />
bbo.TheRoof 1.4.3,http://www.robocoderepository.com/BotFiles/2179/bbo.TheRoof_1.4.3.jar<br />
Bemo.Sweet30 1.6.1,http://www.stg-volleyball.de/images/Bemo.Sweet30_1.6.1.jar<br />
benhorner.PureAggression 0.2.6,http://www.robocoderepository.com/BotFiles/3421/benhorner.PureAggression_0.2.6.jar<br />
bigpete.Stewie 1.0,http://www.robocoderepository.com/BotFiles/2927/bigpete.Stewie_1.0.jar<br />
bing2.Melody 1.3.1,http://www.ccs.neu.edu/home/bing/robocode/bing2.Melody_1.3.1.jar<br />
bjl.LoneDragon 0.5,http://www.robocoderepository.com/BotFiles/1929/bjl.LoneDragon_0.5.jar<br />
bndl.LostLion 1.2,http://www.robocoderepository.com/BotFiles/1033/bndl.LostLion_1.2.jar<br />
bons.NanoStalker 1.2,http://www.robocoderepository.com/BotFiles/1179/bons.NanoStalker_1.2.jar<br />
bp.Kuma 1.0,http://www.robocoderepository.com/BotFiles/3238/bp.Kuma_1.0.jar<br />
braaropolis.Abot 1.0,http://www.robocoderepository.com/BotFiles/3292/braaropolis.Abot_1.0.jar<br />
brainfade.Fallen 0.63,http://www.robocoderepository.com/BotFiles/2250/brainfade.Fallen_0.63.jar<br />
brainfade.melee.Dusk 0.44,http://www.robocoderepository.com/BotFiles/2518/brainfade.melee.Dusk_0.44.jar<br />
bvh.fnr.Fenrir 0.36l,http://www.robocoderepository.com/BotFiles/1428/bvh.fnr.Fenrir_0.36l.jar<br />
bvh.frg.Friga 0.112dev,http://www.robocoderepository.com/BotFiles/2368/bvh.frg.Friga_0.112dev.jar<br />
bvh.fry.Freya 0.82,http://home.kpnplanet.nl/~B.van.Hest@kpnplanet.nl/jars/bvh.fry.Freya_0.82.jar<br />
bvh.hdr.Hodur 0.4,http://www.robocoderepository.com/BotFiles/1954/bvh.hdr.Hodur_0.4.jar<br />
bvh.loki.Loki 0.5,http://www.robocoderepository.com/BotFiles/885/bvh.loki.Loki_0.5.jar<br />
bvh.micro.Freya 0.3,http://www.robocoderepository.com/BotFiles/2815/bvh.micro.Freya_0.3.jar<br />
bvh.micro.Svadilfari 0.2,http://www.robocoderepository.com/BotFiles/1086/bvh.micro.Svadilfari_0.2.jar<br />
bvh.mini.Fenrir 0.39,http://www.robocoderepository.com/BotFiles/1429/bvh.mini.Fenrir_0.39.jar<br />
bvh.mini.Freya 0.55,http://home.kpnplanet.nl/~B.van.Hest@kpnplanet.nl/jars/bvh.mini.Freya_0.55.jar<br />
bvh.mini.Mjolnir 0.3,http://www.robocoderepository.com/BotFiles/2220/bvh.mini.Mjolnir_0.3.jar<br />
bvh.mini.Wodan 0.50,http://www.robocoderepository.com/BotFiles/2064/bvh.mini.Wodan_0.50.jar<br />
bvh.tyr.Tyr 1.74,http://www.robocoderepository.com/BotFiles/886/bvh.tyr.Tyr_1.74.jar<br />
caimano.Furia_Ceca 0.22,http://www.robocoderepository.com/BotFiles/1843/caimano.Furia_Ceca_0.22.jar<br />
cbot.agile.Nibbler 0.2,http://www.robocoderepository.com/BotFiles/1537/cbot.agile.Nibbler_0.2.jar<br />
cbot.cbot.CBot 0.8,http://www.robocoderepository.com/BotFiles/1375/cbot.cbot.CBot_0.8.jar<br />
cf.mini.Chiva 1.0,http://www.robocoderepository.com/BotFiles/2331/cf.mini.Chiva_1.0.jar<br />
cf.OldMan.OldManXP 0.1,http://www.robocoderepository.com/BotFiles/1968/cf.OldMan.OldManXP_0.1.jar<br />
cf.proto.Shiva 2.2,http://www.robocoderepository.com/BotFiles/2409/cf.proto.Shiva_2.2.jar<br />
cf.star.Star2 1.23,http://www.robocoderepository.com/BotFiles/2255/cf.star.Star2_1.23.jar<br />
ch.rhj.rbc.RHJ1 1.0,http://www.robocoderepository.com/BotFiles/1879/ch.rhj.rbc.RHJ1_1.0.jar<br />
CharlieN.Omega.Omega 1.03,http://www.robocoderepository.com/BotFiles/3503/CharlieN.Omega.Omega_1.03.jar<br />
chase.c.Wristwatch 1.0,http://chase.tfsnewworld.com/bots/chase.c.Wristwatch_1.0.jar<br />
chase.koho.Prototype 005S,http://www.tfsnewworld.com/chase/bots/chase.koho.Prototype_005S.jar<br />
chase.g.Genesis Demo3,http://chase.tfsnewworld.com/bots/chase.g.Genesis_Demo3.jar<br />
chase.na.Seraphim 0.052c,http://www.csdgn.org/robo/chase.na.Seraphim_0.052c.jar<br />
chase.o.Orbit 0.1,http://chase.tfsnewworld.com/bots/chase.o.Orbit_0.1.jar<br />
chase.pm.Pytko 1.0,http://chase.tfsnewworld.com/bots/chase.pm.Pytko_1.0.jar<br />
chase.Velshea 1.2.0,http://chase.tfsnewworld.com/bots/chase.Velshea_1.2.0.jar<br />
chickenfuego.UrChicken2 1.0,http://www.robocoderepository.com/BotFiles/3422/chickenfuego.UrChicken2_1.0.jar<br />
cjk.Merkava 0.1.1,http://www.robocoderepository.com/BotFiles/2637/cjk.Merkava_0.1.1.jar<br />
cjk.Merkava 0.2.0,http://www.robocoderepository.com/BotFiles/2640/cjk.Merkava_0.2.0.jar<br />
cjk.Merkava 0.3.0,http://www.krill-labs.com/robocode/robots/cjk.Merkava_0.3.0.jar<br />
cjm.chalk.Chalk 2.5.Al,http://scatterbright.com/robots/cjm.chalk.Chalk_2.5.Al.jar<br />
cjm.Charo 1.1,http://scatterbright.com/robots/cjm.Charo_1.1.jar<br />
cjm.Che 1.2,http://www.robocoderepository.com/BotFiles/2703/cjm.Che_1.2.jar<br />
cjm.Chomsky 1.5,http://scatterbright.com/robots/cjm.Chomsky_1.5.jar<br />
codemojo.nano.Woot 1.0,http://codeshift.net/robocode?action=AttachFile&do=get&target=codemojo.nano.Woot_1.0.jar<br />
csm.NthGeneration 0.04,http://www.robocoderepository.com/BotFiles/1214/csm.NthGeneration_0.04.jar<br />
csp.Eagle 3.30,http://www.robocoderepository.com/BotFiles/2436/csp.Eagle_3.30.jar<br />
css.Delitioner 0.11,http://www.robocoderepository.com/BotFiles/3590/css.Delitioner_0.11.jar<br />
cx.BlestPain 1.41,http://www.robocoderepository.com/BotFiles/1671/cx.BlestPain_1.41.jar<br />
cx.CigaretBH 1.03,http://www.robocoderepository.com/BotFiles/1414/cx.CigaretBH_1.03.jar<br />
cx.Lacrimas 1.36,http://www.robocoderepository.com/BotFiles/1820/cx.Lacrimas_1.36.jar<br />
cx.micro.Blur 0.2,http://www.robocoderepository.com/BotFiles/2447/cx.micro.Blur_0.2.jar<br />
cx.micro.Smoke 0.96,http://www.robocoderepository.com/BotFiles/1037/cx.micro.Smoke_0.96.jar<br />
cx.micro.Spark 0.6,http://www.robocoderepository.com/BotFiles/1320/cx.micro.Spark_0.6.jar<br />
cx.mini.BlackSwans 0.60,http://www.robocoderepository.com/BotFiles/1158/cx.mini.BlackSwans_0.60.jar<br />
cx.mini.Cigaret 1.31,http://www.robocoderepository.com/BotFiles/1152/cx.mini.Cigaret_1.31.jar<br />
cx.mini.Nimrod 0.55,http://www.robocoderepository.com/BotFiles/1236/cx.mini.Nimrod_0.55.jar<br />
cx.nano.Smog 2.6,http://www.robocoderepository.com/BotFiles/1036/cx.nano.Smog_2.6.jar<br />
cx.Princess 1.0,http://www.robocoderepository.com/BotFiles/1343/cx.Princess_1.0.jar<br />
da.NewBGank 1.4,http://www.robocoderepository.com/BotFiles/3312/da.NewBGank_1.4.jar<br />
dam.MogBot 2.9,http://www.robocoderepository.com/BotFiles/555/dam.MogBot_2.9.jar<br />
dans.Cinnamon 1.2,http://www.robocoderepository.com/BotFiles/1976/dans.Cinnamon_1.2.jar<br />
darkcanuck.Gaff 1.30,http://jeromelavigne.ca/robocode/darkcanuck.Gaff_1.30.jar<br />
davidalves.Firebird 0.25,http://davidalves.net/robocode/robots/davidalves.Firebird_0.25.jar<br />
davidalves.Phoenix 1.02,http://davidalves.net/robocode/robots/davidalves.Phoenix_1.02.jar<br />
davidalves.PhoenixOS 1.1,http://davidalves.net/robocode/robots/davidalves.PhoenixOS_1.1.jar<br />
davidalves.net.Duelist 0.1.6src,http://www.robocoderepository.com/BotFiles/1000/davidalves.net.Duelist_0.1.6src.jar<br />
davidalves.net.DuelistMicro 1.22,http://www.robocoderepository.com/BotFiles/1144/davidalves.net.DuelistMicro_1.22.jar<br />
davidalves.net.DuelistMicroMkII 1.1,http://www.robocoderepository.com/BotFiles/1281/davidalves.net.DuelistMicroMkII_1.1.jar<br />
davidalves.net.DuelistMini 1.1,http://www.robocoderepository.com/BotFiles/1181/davidalves.net.DuelistMini_1.1.jar<br />
davidalves.net.DuelistNano 1.0,http://www.robocoderepository.com/BotFiles/1272/davidalves.net.DuelistNano_1.0.jar<br />
dcs.Eater_of_Worlds 1.1.3-A,http://www.robocoderepository.com/BotFiles/2578/dcs.Eater_of_Worlds_1.1.3-A.jar<br />
dcs.Eater_of_Worlds_Mini 1.0,http://www.robocoderepository.com/BotFiles/2850/dcs.Eater_of_Worlds_Mini_1.0.jar<br />
dcs.PM.Eater_of_Worlds_PM 1.2,http://www.robocoderepository.com/BotFiles/2856/dcs.PM.Eater_of_Worlds_PM_1.2.jar<br />
de.erdega.robocode.Polyphemos 0.3,http://www.robocoderepository.com/BotFiles/3549/de.erdega.robocode.Polyphemos_0.3.jar<br />
de.erdega.robocode.Polyphemos 0.4,http://www.robocoderepository.com/BotFiles/3550/de.erdega.robocode.Polyphemos_0.4.jar<br />
deewiant.Anomaly 0.2,http://www.iki.fi/~deewiant/files/deewiant.Anomaly_0.2.jar<br />
deith.Czolgzilla 0.11,http://www.robocoderepository.com/BotFiles/3256/deith.Czolgzilla_0.11.jar<br />
demetrix.ForceMajeure 0.75,http://ever-rage.narod.ru/robowiki/demetrix.ForceMajeure_0.75.jar<br />
demetrix.nano.Neutrino 0.27,http://ever-rage.narod.ru/robowiki/demetrix.nano.Neutrino_0.27.jar<br />
demetrix.nano.SledgeHammer 0.22,http://ever-rage.narod.ru/robowiki/demetrix.nano.SledgeHammer_0.22.jar<br />
dft.Calliope 5.6,http://www.robocoderepository.com/BotFiles/237/dft.Calliope_5.6.jar<br />
dft.Cyanide 1.90,http://www.squarefuse.com/bots/dft.Cyanide_1.90.jar<br />
dft.Cyprus 3.0,http://www.robocoderepository.com/BotFiles/377/dft.Cyprus_3.0.jar<br />
dft.Freddie 1.32,http://www.squarefuse.com/bots/dft.Freddie_1.32.jar<br />
dft.Guppy 1.0,http://www.squarefuse.com/bots/dft.Guppy_1.0.jar<br />
dft.Immortal 1.40,http://www.squarefuse.com/bots/dft.Immortal_1.40.jar<br />
dft.Krazy 1.5,http://www.robocoderepository.com/BotFiles/2099/dft.Krazy_1.5.jar<br />
dft.Virgin 1.25,http://www.robocoderepository.com/BotFiles/1447/dft.Virgin_1.25.jar<br />
dggp.haiku.gpBot_0 1.1,http://www.robocoderepository.com/BotFiles/3154/dggp.haiku.gpBot_0_1.1.jar<br />
dittman.BlindSquirl Retired,http://home.comcast.net/~kokyunage/robocode/ugluk/dittman.BlindSquirl_Retired.jar<br />
djc.Aardvark 0.3.6,http://www.robocoderepository.com/BotFiles/652/djc.Aardvark_0.3.6.jar<br />
djdjdj.NanoSkunk10 1.0,http://davidjoerg.com/robocode/djdjdj.NanoSkunk10_1.0.jar<br />
dk.stable.Gorgatron 1.1,http://www.robocoderepository.com/BotFiles/2112/dk.stable.Gorgatron_1.1.jar<br />
dks.MicroDanMK2 1.0,http://www.robocoderepository.com/BotFiles/1691/dks.MicroDanMK2_1.0.jar<br />
DM.Capriite 3.7.2,http://www.robocoderepository.com/BotFiles/2989/DM.Capriite_3.7.2.jar<br />
DM.Chicken 4.0,http://www.robocoderepository.com/BotFiles/3020/DM.Chicken_4.0.jar<br />
DM.Mijit .3,http://www.robocoderepository.com/BotFiles/3043/DM.Mijit_.3.jar<br />
dmp.micro.Aurora 1.41,http://www.robocoderepository.com/BotFiles/853/dmp.micro.Aurora_1.41.jar<br />
dmp.nano.Eve 3.41,http://www.robocoderepository.com/BotFiles/842/dmp.nano.Eve_3.41.jar<br />
donjezza.Jezza 1.0,http://www.robocoderepository.com/BotFiles/3385/donjezza.Jezza_1.0.jar<br />
donjezza.Muncho 1.0,http://www.robocoderepository.com/BotFiles/3384/donjezza.Muncho_1.0.jar<br />
drm.CobraBora 1.12,http://www.robocoderepository.com/BotFiles/1146/drm.CobraBora_1.12.jar<br />
drm.Magazine 0.39,http://www.robocoderepository.com/BotFiles/989/drm.Magazine_0.39.jar<br />
ds.OoV4 0.3b,http://www.robocoderepository.com/BotFiles/2851/ds.OoV4_0.3b.jar<br />
dsw.StaticD 1.0,http://www.robocoderepository.com/BotFiles/2021/dsw.StaticD_1.0.jar<br />
dsx724.VSAB_EP3a 1.0,http://www.robocoderepository.com/BotFiles/3434/dsx724.VSAB_EP3a_1.0.jar<br />
dsx724.VSAB_EP3_ATR 1.1,http://www.robocoderepository.com/BotFiles/3432/dsx724.VSAB_EP3_ATR_1.1.jar<br />
dukie.Ambassador 1.0,http://www.robocoderepository.com/BotFiles/2845/dukie.Ambassador_1.0.jar<br />
dummy.micro.HummingBird 2.14,http://www.robocoderepository.com/BotFiles/369/dummy.micro.HummingBird_2.14.jar<br />
dummy.micro.Sparrow 2.5,http://www.robocoderepository.com/BotFiles/484/dummy.micro.Sparrow_2.5.jar<br />
dummy.mini.Parakeet 2.40,http://www.robocoderepository.com/BotFiles/400/dummy.mini.Parakeet_2.40.jar<br />
dvogon.GangBang 1.0,http://www.robocoderepository.com/BotFiles/3193/dvogon.GangBang_1.0.jar<br />
dy.LevelOne 2.0,http://www.robocoderepository.com/BotFiles/3452/dy.LevelOne_2.0.jar<br />
dz.Caedo 1.4,http://www.robocoderepository.com/BotFiles/1044/dz.Caedo_1.4.jar<br />
dz.GalbaMicro 0.11,http://www.robocoderepository.com/BotFiles/2482/dz.GalbaMicro_0.11.jar<br />
dz.GalbaMini 0.121,http://www.geocities.com/rationalinsanity_0t7/dz.GalbaMini_0.121.jar<br />
dz.MostlyHarmlessNano 2.1,http://www.robocoderepository.com/BotFiles/2166/dz.MostlyHarmlessNano_2.1.jar<br />
dz.OthoMicro 0.12,http://www.robocoderepository.com/BotFiles/2198/dz.OthoMicro_0.12.jar<br />
dz.OthoMini 0.15,http://www.robocoderepository.com/BotFiles/2221/dz.OthoMini_0.15.jar<br />
eat.HumblePieLite 1.0,http://www.robocoderepository.com/BotFiles/1088/eat.HumblePieLite_1.0.jar<br />
ebo.Sparse 0.02,http://www.4geeks.de/files/ebo.Sparse_0.02.jar<br />
ebo.Tahoe 1.1.79,http://www.4geeks.de/files/ebo.Tahoe_1.1.79.jar<br />
el.Attackr 0.1,http://www.robocoderepository.com/BotFiles/3366/el.Attackr_0.1.jar<br />
el.JumpShoot 0.2,http://www.robocoderepository.com/BotFiles/3360/el.JumpShoot_0.2.jar<br />
el33t.EL33tGangstarr2 2.0,http://www.robocoderepository.com/BotFiles/2069/el33t.EL33tGangstarr2_2.0.jar<br />
eld.Hmm 1.0,http://www.robocoderepository.com/BotFiles/3364/eld.Hmm_1.0.jar<br />
element.Earth 1.1,http://www.robocoderepository.com/BotFiles/3587/element.Earth_1.1.jar<br />
elloco.Flower 0.1r1,http://www.robocoderepository.com/BotFiles/3242/elloco.Flower_0.1r1.jar<br />
elloco.Kabuto 0.2r,http://www.robocoderepository.com/BotFiles/3229/elloco.Kabuto_0.2r.jar<br />
elvbot.ElverionBot 0.3,http://www.robocoderepository.com/BotFiles/3541/elvbot.ElverionBot_0.3.jar<br />
emp.Yngwie 1.11,http://www.robocoderepository.com/BotFiles/1928/emp.Yngwie_1.11.jar<br />
erdnis.Rover 0.3,http://www.free-games-fun.com/erdnis.Rover_0.3.jar<br />
et.Predator 1.8,http://www.robocoderepository.com/BotFiles/668/et.Predator_1.8.jar<br />
ethdsy.Malacka 2.4,http://www.robocoderepository.com/BotFiles/1159/ethdsy.Malacka_2.4.jar<br />
evd.X1 0.01,http://www.robocoderepository.com/BotFiles/3503/evd.X1_0.01.jar<br />
fala.robocode.FalaRobot 1.0,http://www.robocoderepository.com/BotFiles/3474/fala.robocode.FalaRobot_1.0.jar<br />
fcr.First 1.0,http://www.robocoderepository.com/BotFiles/3362/fcr.First_1.0.jar<br />
Fenix.FenixTrack 1.0,http://www.robocoderepository.com/BotFiles/1627/Fenix.FenixTrack_1.0.jar<br />
florent.FloatingTadpole 1.2.6,http://www.robocoderepository.com/BotFiles/2675/florent.FloatingTadpole_1.2.6.jar<br />
florent.small.LittleAngel 1.8,http://www.robocoderepository.com/BotFiles/2917/florent.small.LittleAngel_1.8.jar<br />
florent.test.Toad 0.14t,http://wesley3.free.fr/florent.test.Toad_0.14t.jar<br />
florent.XSeries.X2 0.17,http://wesley3.free.fr/florent.XSeries.X2_0.17.jar<br />
fm.claire 1.7,http://www.robocoderepository.com/BotFiles/2251/fm.claire_1.7.jar<br />
fm.mammillarias 1.3,http://www.robocoderepository.com/BotFiles/2238/fm.mammillarias_1.3.jar<br />
fnc.bandit.Bandit 5.2.0,http://www.robocoderepository.com/BotFiles/2155/fnc.bandit.Bandit_5.2.0.jar<br />
fnc.bandit2002.Bandit2002 4.0.2,http://www.robocoderepository.com/BotFiles/2202/fnc.bandit2002.Bandit2002_4.0.2.jar<br />
frag.FragBot 1.0,http://www.robocoderepository.com/BotFiles/1217/frag.FragBot_1.0.jar<br />
franzor.Lizt 1.3.1,http://pages.prodigy.net/franz1/house/franzor.Lizt_1.3.1.jar<br />
fullsail.LaxativeTeaTwo 1.0,http://www.robocoderepository.com/BotFiles/3403/fullsail.LaxativeTeaTwo_1.0.jar<br />
fullsail.TimbotNoPrediction 1.0,http://www.robocoderepository.com/BotFiles/3374/fullsail.TimbotNoPrediction_1.0.jar<br />
fullsail.SweetTea 1.1,http://www.robocoderepository.com/BotFiles/3406/fullsail.SweetTea_1.1.jar<br />
fushi.PvP1.PvP1 2004-02-16,http://www.robocoderepository.com/BotFiles/2023/fushi.PvP1.PvP1_2004-02-16.jar<br />
fw.Number1 1.0b,http://www.dijitari.com/void/robocode/fw.Number1_1.0b.jar<br />
geep.mini.GPBotA 1.0,http://www.robocoderepository.com/BotFiles/2361/geep.mini.GPBotA_1.0.jar<br />
geep.mini.GPBotB 1.1,http://www.robocoderepository.com/BotFiles/2363/geep.mini.GPBotB_1.1.jar<br />
germ.TheMind .2,http://www.robocoderepository.com/BotFiles/2525/germ.TheMind_.2.jar<br />
gg.Squaraus 0.6,http://www.robocoderepository.com/BotFiles/1788/gg.Squaraus_0.6.jar<br />
gg.Wolverine 2.0,http://www.robocoderepository.com/BotFiles/34/gg.Wolverine_2.0.jar<br />
gh.GresSuffurd 0.2.11,http://www.robocoderepository.com/BotFiles/3019/gh.GresSuffurd_0.2.11.jar<br />
gh.GrubbmGrb 1.2.4,http://home.versatel.nl/gheijenk/robocode/jarfiles/gh.GrubbmGrb_1.2.4.jar<br />
gh.GrypRepetyf 0.13,http://www.robocoderepository.com/BotFiles/2650/gh.GrypRepetyf_0.13.jar<br />
gh.micro.Grinnik 0.7,http://www.robocoderepository.com/BotFiles/3208/gh.micro.Grinnik_0.7.jar<br />
gh.micro.GrubbmThree 0.9,http://www.robocoderepository.com/BotFiles/2444/gh.micro.GrubbmThree_0.9.jar<br />
gh.mini.GrubbmOne 1.0,http://www.robocoderepository.com/BotFiles/2395/gh.mini.GrubbmOne_1.0.jar<br />
gh.mini.Gruwel 0.9,http://www.robocoderepository.com/BotFiles/2511/gh.mini.Gruwel_0.9.jar<br />
gh.nano.Grofvuil 0.2,http://www.robocoderepository.com/BotFiles/2553/gh.nano.Grofvuil_0.2.jar<br />
gimp.GimpBot 0.1,http://www.robocoderepository.com/BotFiles/2434/gimp.GimpBot_0.1.jar<br />
gio.RealGioBot 1.0,http://www.robocoderepository.com/BotFiles/2521/gio.RealGioBot_1.0.jar<br />
gjr.Cephalosporin 0.2,http://www.robocoderepository.com/BotFiles/2240/gjr.Cephalosporin_0.2.jar<br />
gm.GaetanoA 2.15,http://www.robocoderepository.com/BotFiles/2188/gm.GaetanoA_2.15.jar<br />
goblin.Bender 2.4,http://www.robocoderepository.com/BotFiles/1871/goblin.Bender_2.4.jar<br />
grybgoofy.GoofyBot 0.10,http://www.robocoderepository.com/BotFiles/2196/grybgoofy.GoofyBot_0.10.jar<br />
gu.MicroScoob 1.3,http://www.robocoderepository.com/BotFiles/2086/gu.MicroScoob_1.3.jar<br />
hamilton.Hamilton 1.0,http://www.robocoderepository.com/BotFiles/1408/hamilton.Hamilton_1.0.jar<br />
hirataatsushi.Neo 1.6,http://www.robocoderepository.com/BotFiles/1081/hirataatsushi.Neo_1.6.jar<br />
hirataatsushi.Trinity 0.003,http://www.robocoderepository.com/BotFiles/1145/hirataatsushi.Trinity_0.003.jar<br />
Homer.Barney 1.0,http://www.robocoderepository.com/BotFiles/1932/Homer.Barney_1.0.jar<br />
homerbots.h1 1.0,http://www.robocoderepository.com/BotFiles/2999/homerbots.h1_1.0.jar<br />
hp.Athena 0.1,http://www.robocoderepository.com/BotFiles/3415/hp.Athena_0.1.jar<br />
ins.MobyNano 0.8,http://www.robocoderepository.com/BotFiles/939/ins.MobyNano_0.8.jar<br />
intruder.PrairieWolf 2.61,http://www.robocoderepository.com/BotFiles/727/intruder.PrairieWolf_2.61.jar<br />
jaara.LambdaBot 1.1,http://www.robocoderepository.com/BotFiles/3514/jaara.LambdaBot_1.1.jar<br />
jab.avk.ManuelGallegus 0.6,http://www.freewebs.com/robocode/bots/Tests/jab.avk.ManuelGallegus_0.6.jar<br />
jab.DiamondStealer 5,http://www.freewebs.com/robocode/bots/DiamondStealers/jab.DiamondStealers_5.jar<br />
jab.micro.Sanguijuela 0.8,http://www.freewebs.com/robocode/bots/Sanguijuela/jab.micro.Sanguijuela_0.8.jar<br />
janm.Jammy 1.0,http://www.robocoderepository.com/BotFiles/3543/janm.Jammy_1.0.jar<br />
jam.micro.RaikoMicro 1.44,http://www.robocoderepository.com/BotFiles/1983/jam.micro.RaikoMicro_1.44.jar<br />
jam.mini.Raiko 0.43,http://www.robocoderepository.com/BotFiles/1922/jam.mini.Raiko_0.43.jar<br />
jam.RaikoMX 0.32,http://www.robocoderepository.com/BotFiles/1961/jam.RaikoMX_0.32.jar<br />
japs.Serenity 1.0,http://www.robocoderepository.com/BotFiles/2217/japs.Serenity_1.0.jar<br />
japs.Sjonniebot 0.9.1,http://www.robocoderepository.com/BotFiles/2203/japs.Sjonniebot_0.9.1.jar<br />
jasolo.Sonda 0.55,http://www.robocoderepository.com/BotFiles/1534/jasolo.Sonda_0.55.jar<br />
jaw.Mouse 0.11,http://www.robocoderepository.com/BotFiles/2472/jaw.Mouse_0.11.jar<br />
jaw.KarenCain 0.11,http://www.robocoderepository.com/BotFiles/2474/jaw.KarenCain_0.11.jar<br />
jaybot.adv.bots.JayBot 2.0,http://www.robocoderepository.com/BotFiles/2853/jaybot.adv.bots.JayBot_2.0.jar<br />
jaybot.bots.Oddball 4.0,http://www.robocoderepository.com/BotFiles/2854/jaybot.bots.Oddball_4.0.jar<br />
jbot.Rabbit2 1.1,http://quiet.ath.cx/~quiet/robocode/jbot.Rabbit2_1.1.jar<br />
jcs.AutoBot 4.2.1,http://www.robocoderepository.com/BotFiles/2616/jcs.AutoBot_4.2.1.jar<br />
jcs.Decepticon 2.5.3,http://www.robocoderepository.com/BotFiles/2620/jcs.Decepticon_2.5.3.jar<br />
jcs.Megatron 1.2,http://www.robocoderepository.com/BotFiles/2632/jcs.Megatron_1.2.jar<br />
jcs.Seth 1.8,http://www.robocoderepository.com/BotFiles/2427/jcs.Seth_1.8.jar<br />
jcw.ArcherOne 1.0,http://www.geocities.com/vaguelight/jcw.ArcherOne_1.0.jar<br />
jekl.DarkHallow .90.9,http://www.robocoderepository.com/BotFiles/2296/jekl.DarkHallow_.90.9.jar<br />
jekl.Jekyl .70,http://www.robocoderepository.com/BotFiles/1837/jekl.Jekyl_.70.jar<br />
jekl.mini.BlackPearl .91,http://www.robocoderepository.com/BotFiles/1875/jekl.mini.BlackPearl_.91.jar<br />
jep.nano.Hawkwing 0.4.1,http://www.robocoderepository.com/BotFiles/1561/jep.nano.Hawkwing_0.4.1.jar<br />
jep.nano.Hotspur 0.1,http://www.robocoderepository.com/BotFiles/1877/jep.nano.Hotspur_0.1.jar<br />
jep.Terrible 0.4.1,http://www.robocoderepository.com/BotFiles/1536/jep.Terrible_0.4.1.jar<br />
jgap.JGAP12584 1.0,http://www.robocoderepository.com/BotFiles/3383/jgap.JGAP12584_1.0.jar<br />
jgap.JGAP130166 1.0,http://www.robocoderepository.com/BotFiles/3371/jgap.JGAP130166_1.0.jar<br />
jgap.JGAP23423 1.0,http://www.robocoderepository.com/BotFiles/3378/jgap.JGAP23423_1.0.jar<br />
jgap.JGAP6139 1.0,http://www.robocoderepository.com/BotFiles/3372/jgap.JGAP6139_1.0.jar<br />
jgap.JGAP7247_2 1.0,http://www.robocoderepository.com/BotFiles/3382/jgap.JGAP7247_2_1.0.jar<br />
jgap.JGAP7958 1.0,http://www.robocoderepository.com/BotFiles/3373/jgap.JGAP7958_1.0.jar<br />
jje.BagPuss 1.2,http://www.robocoderepository.com/BotFiles/2582/jje.BagPuss_1.2.jar<br />
jk.mega.DrussGT 1.3.7,http://www.minifly.rchomepage.com/robocode/jk.mega.DrussGT_1.3.7.jar<br />
jk.micro.Toorkild 0.1.1,http://www.minifly.rchomepage.com/robocode/jk.micro.Toorkild_0.1.1.jar<br />
jk.mini.Cunobelin 0.2.2,http://www.minifly.rchomepage.com/robocode/jk.mini.Cunobelin_0.2.2.jar<br />
jk.precise.Wintermute 0.4,http://www.minifly.rchomepage.com/robocode/jk.precise.Wintermute_0.4.jar<br />
jmcd.BeoWulf 2.8,http://www.robocoderepository.com/BotFiles/1377/jmcd.BeoWulf_2.8.jar<br />
joe.ADinosaur 1.0,http://www.robocoderepository.com/BotFiles/2822/joe.ADinosaur_1.0.jar<br />
jp.Perpy 16.0,http://www.robocoderepository.com/BotFiles/3001/jp.Perpy_16.0.jar<br />
jp.SineWall 1.0,http://www.robocoderepository.com/BotFiles/2968/jp.SineWall_1.0.jar<br />
js.PinBall 1.6,http://www.robocoderepository.com/BotFiles/684/js.PinBall_1.6.jar<br />
jsal.Jsalbot 1.0,http://jeremybubs.googlepages.com/jsal.Jsalbot_1.0.jar<br />
jt.SpearmintCT Alpha,http://www.robocoderepository.com/BotFiles/2164/jt.SpearmintCT_Alpha.jar<br />
jw.Booring 1.11,http://www.robocoderepository.com/BotFiles/1250/jw.Booring_1.11.jar<br />
kanishk.Fr0z3n 1.1,http://www.robocoderepository.com/BotFiles/2899/kanishk.Fr0z3n_1.1.jar<br />
kano.gamma.KanoGamma 1.8,http://www.robocoderepository.com/BotFiles/1098/kano.gamma.KanoGamma_1.8.jar<br />
kawam.kmBot9 1.0,http://www.robocoderepository.com/BotFiles/967/kawam.kmBot9_1.0.jar<br />
kawigi.f.FhqwhgadsMicro 1.0,http://www.robocoderepository.com/BotFiles/1673/kawigi.f.FhqwhgadsMicro_1.0.jar<br />
kawigi.micro.Shiz 1.1,http://www.robocoderepository.com/BotFiles/2007/kawigi.micro.Shiz_1.1.jar<br />
kawigi.mini.Coriantumr 1.1,http://www.robocoderepository.com/BotFiles/1988/kawigi.mini.Coriantumr_1.1.jar<br />
kawigi.mini.Fhqwhgads 1.1,http://www.robocoderepository.com/BotFiles/1604/kawigi.mini.Fhqwhgads_1.1.jar<br />
kawigi.nano.FunkyChicken 1.1,http://www.robocoderepository.com/BotFiles/1512/kawigi.nano.FunkyChicken_1.1.jar<br />
kawigi.nano.ThnikkaBot 0.9,http://www.robocoderepository.com/BotFiles/2059/kawigi.nano.ThnikkaBot_0.9.jar<br />
kawigi.robot.Girl 1.2,http://www.robocoderepository.com/BotFiles/2124/kawigi.robot.Girl_1.2.jar<br />
kawigi.sbf.Barracuda 1.0,http://www.robocoderepository.com/BotFiles/1535/kawigi.sbf.Barracuda_1.0.jar<br />
kawigi.sbf.FloodHT 0.9.2,http://www.robocoderepository.com/BotFiles/1552/kawigi.sbf.FloodHT_0.9.2.jar<br />
kawigi.sbf.FloodMicro 1.5,http://www.robocoderepository.com/BotFiles/1381/kawigi.sbf.FloodMicro_1.5.jar<br />
kawigi.sbf.FloodMini 1.4,http://www.robocoderepository.com/BotFiles/1462/kawigi.sbf.FloodMini_1.4.jar<br />
kawigi.sbf.FloodNano 1.2,http://www.robocoderepository.com/BotFiles/1421/kawigi.sbf.FloodNano_1.2.jar<br />
kawigi.sbf.FloodSonnet 0.9,http://www.robocoderepository.com/BotFiles/1779/kawigi.sbf.FloodSonnet_0.9.jar<br />
kawigi.sbf.Teancum 1.3,http://www.robocoderepository.com/BotFiles/1470/kawigi.sbf.Teancum_1.3.jar<br />
kawigi.spare.SpareParts 0.7.6nosnd,http://www.robocoderepository.com/BotFiles/1335/kawigi.spare.SpareParts_0.7.6nosnd.jar<br />
kc.micro.Needle 0.101,http://www.robocoderepository.com/BotFiles/3379/kc.micro.Needle_0.101.jar<br />
kc.micro.Thorn 1.142,http://www.cs.utexas.edu/users/pclark/kc.micro.Thorn_1.142.jar<br />
kc.micro.WaveShark 0.3,http://www.cs.utexas.edu/users/pclark/kc.micro.WaveShark_0.3.jar<br />
kc.mini.Vyper 0.311,http://www.cs.utexas.edu/users/pclark/kc.mini.Vyper_0.311.jar<br />
kc.nano.Splinter 1.2,http://www.cs.utexas.edu/users/pclark/kc.nano.Splinter_1.2.jar<br />
kc.serpent.Hydra 0.21,http://www.cs.utexas.edu/users/pclark/kc.serpent.Hydra_0.21.jar<br />
kc.serpent.WaveSerpent 1.4,http://www.cs.utexas.edu/users/pclark/kc.serpent.WaveSerpent_1.4.jar<br />
kcn.percept.PerceptBot 2.3,http://www.robocoderepository.com/BotFiles/1075/kcn.percept.PerceptBot_2.3.jar<br />
kcn.unnamed.Unnamed 1.21,http://www.robocoderepository.com/BotFiles/1969/kcn.unnamed.Unnamed_1.21.jar<br />
kid.Gladiator .7.2,http://www.citlink.net/~normanp/robocode/gladiator/kid.Gladiator_.7.2.jar<br />
kid.Toa .0.2,http://www.citlink.net/~normanp/robocode/toa/kid.Toa_.0.2.jar<br />
kinsen.melee.Angsaichmophobia 1.8c,http://geocities.com/seakinsen1/robocode/kinsen.melee.Angsaichmophobia_1.8c.jar<br />
kinsen.nano.Hoplomachy 1.6,http://geocities.com/seakinsen1/robocode/kinsen.nano.Hoplomachy_1.6.jar<br />
kinsen.nano.Quarrelet 1.0,http://geocities.com/seakinsen1/robocode/kinsen.nano.Quarrelet_1.0.jar<br />
kinsen.nano.Senticous 1.0,http://geocities.com/seakinsen1/robocode/kinsen.nano.Senticous_1.0.jar<br />
kjc.etc.Dharok 1.0,http://www.robocoderepository.com/BotFiles/3293/kjc.etc.Dharok_1.0.jar<br />
kjc.MailManX 2.0,http://www.robocoderepository.com/BotFiles/3288/kjc.MailManX_2.0.jar<br />
kjc.Karaykan 1.0,http://www.robocoderepository.com/BotFiles/3289/kjc.Karaykan_1.0.jar<br />
klein.GottesKrieger 1.1,http://www.robocoderepository.com/BotFiles/3258/klein.GottesKrieger_1.1.jar<br />
Krabb.fe4r.Fe4r 0.4,http://www.robocoderepository.com/BotFiles/2766/Krabb.fe4r.Fe4r_0.4.jar<br />
Krabb.sliNk.Garm 0.9u,http://designnj.de/roboking/Krabb.sliNk.Garm_0.9u.jar<br />
Krabb.krabby.Krabby 1.18b,http://designnj.de/roboking/Krabb.krabby.Krabby_1.18b.jar<br />
Krabb.krabby2.Krabby2 1.9o,http://designnj.de/robocode/Krabb.krabby2.Krabby2_1.9o.jar<br />
krillr.mini.JointStrike 2.0.0,http://robocode.krillrsoft.com/releases/krillr.mini.JointStrike_2.0.0.jar<br />
krillr.mega.Psyche 0.0.3,http://robocode.krillrsoft.com/releases/krillr.mega.Psyche_0.0.3.jar<br />
krzysiek.robbo2.Robbo 1.0.0,http://www.robocoderepository.com/BotFiles/1885/krzysiek.robbo2.Robbo_1.0.0.jar<br />
kurios.DOSexe .9a,http://www.kuriosly.com/roborumble/kurios.DOSexe_.9a.jar<br />
kvk.HebusLeTroll 0.41,http://www.robocoderepository.com/BotFiles/2125/kvk.HebusLeTroll_0.41.jar<br />
labg.Cataclysm 2.05,http://www.robocoderepository.com/BotFiles/2399/labg.Cataclysm_2.05.jar<br />
leb.ShootAnArrow 0.1,http://www.robocoderepository.com/BotFiles/2648/leb.ShootAnArrow_0.1.jar<br />
lechu.Ala 0.0.4,http://www.robocoderepository.com/BotFiles/3497/lechu.Ala_0.0.4.jar<br />
lechu.Lechu 1.1,http://www.robocoderepository.com/BotFiles/3480/lechu.Lechu_1.1.jar<br />
lion.Kresnanano 1.0,http://www.robocoderepository.com/BotFiles/2295/lion.Kresnanano_1.0.jar<br />
lk.nano.Avesnar 1.1,http://www.robocoderepository.com/BotFiles/1597/lk.nano.Avesnar_1.1.jar<br />
lorneswork.Predator 1.0,http://www.robocoderepository.com/BotFiles/2609/lorneswork.Predator_1.0.jar<br />
lrem.Spectre 0.4.4,http://www.robocoderepository.com/BotFiles/2253/lrem.Spectre_0.4.4.jar<br />
lrem.magic.TormentedAngel Alpha,http://maxnet.org.pl/~lrem/lrem.magic.TormentedAngel_Alpha.jar<br />
lrem.micro.MoggFanatic 0.2,http://www.robocoderepository.com/BotFiles/2639/lrem.micro.MoggFanatic_0.2.jar<br />
lrem.micro.FalseProphet Alpha,http://www.robocoderepository.com/BotFiles/2415/lrem.micro.FalseProphet_Alpha.jar<br />
lrem.quickhack.QuickHack 1.0,http://www.robocoderepository.com/BotFiles/2555/lrem.quickhack.QuickHack_1.0.jar<br />
lunchie.Lunchbox 0.93,http://www.robocoderepository.com/BotFiles/2594/lunchie.Lunchbox_0.93.jar<br />
lw.LuthersTest 0.1,http://www.citlink.net/~normanp/robocode/luther/lw.LuthersTest_0.1.jar<br />
m3thos.Eva00 1.1,http://www.robocoderepository.com/BotFiles/233/m3thos.Eva00_1.1.jar<br />
m3thos.Eva02 0.7.1,http://escher.ist.utl.pt/miguel/robocode/m3thos.Eva02_0.7.1.jar<br />
m3thos.mini.Eva01 0.5.5,http://www.robocoderepository.com/BotFiles/322/m3thos.mini.Eva01_0.5.5.jar<br />
madmath.Cow 0.1.1,http://www.robocoderepository.com/BotFiles/3476/madmath.Cow_0.1.1.jar<br />
marcinek.TopGun 1.3,http://www.robocoderepository.com/BotFiles/3458/marcinek.TopGun_1.3.jar<br />
marksteam.Phoenix 1.0,http://www.robocoderepository.com/BotFiles/2749/marksteam.Phoenix_1.0.jar<br />
matt.advanced.Katana 1.0,http://www.robocoderepository.com/BotFiles/2498/matt.advanced.Katana_1.0.jar<br />
matt.BlueMind 0.8.00,http://www.robocoderepository.com/BotFiles/2685/matt.BlueMind_0.8.00.jar<br />
matt.UnderDark3 2.4.34,http://www.robocoderepository.com/BotFiles/2485/matt.UnderDark3_2.4.34.jar<br />
matt.UnderDark4 0.4.00,http://www.robocoderepository.com/BotFiles/2644/matt.UnderDark4_0.4.00.jar<br />
mbh.Mbh 0.1,http://www.robocoderepository.com/BotFiles/3365/mbh.Mbh_0.1.jar<br />
mbro.BelajarBot 0.0.3,http://www.robocoderepository.com/BotFiles/2471/mbro.BelajarBot_0.0.3.jar<br />
mbro.Detektor3 0.1.1,http://www.robocoderepository.com/BotFiles/2478/mbro.Detektor3_0.1.1.jar<br />
mc.Messapia 0.1.8,http://www.robocoderepository.com/BotFiles/2223/mc.Messapia_0.1.8.jar<br />
mcb.Audace 1.3,http://www.robocoderepository.com/BotFiles/3424/mcb.Audace_1.3.jar<br />
md.November 1.0,http://www.robocoderepository.com/BotFiles/1004/md.November_1.0.jar<br />
md.Pasta 1.1,http://www.robocoderepository.com/BotFiles/1014/md.Pasta_1.1.jar<br />
md.VelociRaptor 1.3,http://www.robocoderepository.com/BotFiles/232/md.VelociRaptor_1.3.jar<br />
mdouet.BotKicker 2.0,http://www.robocoderepository.com/BotFiles/1478/mdouet.BotKicker_2.0.jar<br />
metal.small.MCool 1.21,http://www.robocoderepository.com/BotFiles/1698/metal.small.MCool_1.21.jar<br />
metal.small.dna2.MCoolDNA 1.5,http://www.robocoderepository.com/BotFiles/2354/metal.small.dna2.MCoolDNA_1.5.jar<br />
mk.Alpha 0.2.1,http://coloelja.xs4all.nl/~mkruisselbrink/robocode/mk.Alpha_0.2.1.jar<br />
mladjo.AIR 0.7,http://www.robocoderepository.com/BotFiles/3187/mladjo.AIR_0.7.jar<br />
mladjo.GnuKlub 0.1,http://www.robocoderepository.com/BotFiles/3145/mladjo.GnuKlub_0.1.jar<br />
mladjo.Grrrrr 0.9,http://www.robocoderepository.com/BotFiles/3189/mladjo.Grrrrr_0.9.jar<br />
mladjo.iRobot 0.3,http://www.robocoderepository.com/BotFiles/3149/mladjo.iRobot_0.3.jar<br />
mladjo.Startko 1.0,http://www.robocoderepository.com/BotFiles/3186/mladjo.Startko_1.0.jar<br />
mld.Infinity 2.1,http://www.robocoderepository.com/BotFiles/839/mld.Infinity_2.1.jar<br />
mld.Moebius 2.3,http://www.robocoderepository.com/BotFiles/3433/mld.Moebius_2.3.jar<br />
mld.Tide 1.1,http://www.robocoderepository.com/BotFiles/3451/mld.Tide_1.1.jar<br />
mmb.Roskilde 0.2,http://www.robocoderepository.com/BotFiles/3506/mmb.Roskilde_0.2.jar<br />
mme.NikeEnhanced 2.0,http://www.robocoderepository.com/BotFiles/2828/mme.NikeEnhanced_2.0.jar<br />
mn.Combat 1.0,http://www.robocoderepository.com/BotFiles/2351/mn.Combat_1.0.jar<br />
mn.WarMachine 1.1,http://www.robocoderepository.com/BotFiles/2574/mn.WarMachine_1.1.jar<br />
mnt.AHEB 0.6a,http://www.robocoderepository.com/BotFiles/2417/mnt.AHEB_0.6a.jar<br />
mnt.SurferBot 0.2.5,http://www.robocoderepository.com/BotFiles/2433/mnt.SurferBot_0.2.5.jar<br />
morbid.MorbidPriest 1.0,http://www.robocoderepository.com/BotFiles/1758/morbid.MorbidPriest_1.0.jar<br />
mrm.MightyMoose .2,http://www.magnusmoose.com/mmoose/trunk/mrm.MightyMoose.jar<br />
ms.Ares 0.19,http://www.robocoderepository.com/BotFiles/730/ms.Ares_0.19.jar<br />
mue.Ascendant 1.2.27,http://mue.sonar-echo.de/robocode/mue.Ascendant_1.2.27.jar<br />
mue.Hyperion 0.8,http://www.robocoderepository.com/BotFiles/2224/mue.Hyperion_0.8.jar<br />
muf.CrazyKitten 0.9,http://www.robocoderepository.com/BotFiles/1946/muf.CrazyKitten_0.9.jar<br />
mwj.A1176183 1.0,http://robocode.rleach.id.au/mwj.A1176183_1.0.jar<br />
myl.micro.Avipes 1.00,http://www.robocoderepository.com/BotFiles/1347/myl.micro.Avipes_1.00.jar<br />
myl.micro.NekoNinja 1.30,http://www.robocoderepository.com/BotFiles/944/myl.micro.NekoNinja_1.30.jar<br />
myl.micro.Predator 1.50,http://www.robocoderepository.com/BotFiles/1097/myl.micro.Predator_1.50.jar<br />
myl.micro.Troodon 1.10,http://www.robocoderepository.com/BotFiles/1226/myl.micro.Troodon_1.10.jar<br />
myl.nano.Graviton 1.10,http://www.robocoderepository.com/BotFiles/770/myl.nano.Graviton_1.10.jar<br />
myl.nano.Kakuru 1.20,http://www.robocoderepository.com/BotFiles/1330/myl.nano.Kakuru_1.20.jar<br />
myl.nano.KomoriNinja 1.1,http://www.robocoderepository.com/BotFiles/978/myl.nano.KomoriNinja_1.1.jar<br />
mz.Adept 2.65,http://www.robocoderepository.com/BotFiles/2090/mz.Adept_2.65.jar<br />
mz.AdeptBSB 1.03,http://www.robocoderepository.com/BotFiles/2113/mz.AdeptBSB_1.03.jar<br />
mz.Movement 1.8,http://www.robocoderepository.com/BotFiles/2145/mz.Movement_1.8.jar<br />
mz.NanoDeath 2.56,http://www.robocoderepository.com/BotFiles/2010/mz.NanoDeath_2.56.jar<br />
mz.NanoGod 2.02,http://www.robocoderepository.com/BotFiles/1996/mz.NanoGod_2.02.jar<br />
nammyung.ModelT 0.23,http://www.robocoderepository.com/BotFiles/969/nammyung.ModelT_0.23.jar<br />
nanoskank.NanoSkank 1.0,http://www.robocoderepository.com/BotFiles/3204/nanoskank.NanoSkank_1.0.jar<br />
nat.atomic.AtomicMini 0.21,http://nat.robothai.net/robots/nat.atomic.AtomicMini_0.21.jar<br />
nat.BlackHole 0.1.06,http://nat.robothai.net/robots/nat.BlackHole_0.1.06.jar<br />
nat.BlackHole 0.1.11,http://nat.robothai.net/robots/nat.BlackHole_0.1.11.jar<br />
nat.micro.Hebe 0.1,http://nat.robothai.net/robots/nat.micro.Hebe_0.1.jar<br />
nat.nano.AW 1.0,http://nat.robothai.net/robots/nat.nano.AW_1.0.jar<br />
nat.nano.Ocnirp 1.0,http://nat.robothai.net/robots/nat.nano.Ocnirp_1.0.jar<br />
nat.nano.OcnirpSNG 1.0,http://nat.robothai.net/robots/nat.nano.OcnirpSNG_1.0.jar<br />
ndn.DyslexicMonkey 1.1,http://www.robocoderepository.com/BotFiles/1141/ndn.DyslexicMonkey_1.1.jar<br />
ne.Chimera 1.2,http://www.robocoderepository.com/BotFiles/3276/ne.Chimera_1.2.jar<br />
nexus.One 1.0,http://www.robocoderepository.com/BotFiles/3240/nexus.One_1.0.jar<br />
nexus.Prototype 1.0,http://www.robocoderepository.com/BotFiles/3228/nexus.Prototype_1.0.jar<br />
nic.Nicator 2.4,http://www.robocoderepository.com/BotFiles/193/nic.Nicator_2.4.jar<br />
nic.SnippetBot 1.0,http://www.robocoderepository.com/BotFiles/286/nic.SnippetBot_1.0.jar<br />
non.mega.NaN 0.1,http://www.robocoderepository.com/BotFiles/1960/non.mega.NaN_0.1.jar<br />
non.mega.NoName 0.0,http://www.robocoderepository.com/BotFiles/1957/non.mega.NoName_0.0.jar<br />
Noran.BitchingElk 0.054,http://www.robocoderepository.com/BotFiles/1855/Noran.BitchingElk_0.054.jar<br />
Noran.RandomTargeting 0.02,http://www.robocoderepository.com/BotFiles/1849/Noran.RandomTargeting_0.02.jar<br />
ntc.Evader 1.2,http://www.robocoderepository.com/BotFiles/3355/ntc.Evader_1.2.jar<br />
ntc.Knowledge 1.1,http://www.robocoderepository.com/BotFiles/3354/ntc.Knowledge_1.1.jar<br />
ntc.Lasers.Lasers 0.9,http://www.robocoderepository.com/BotFiles/3359/ntc.Lasers.Lasers_0.9.jar<br />
ntc.Plains 0.9,http://www.robocoderepository.com/BotFiles/3381/ntc.Plains_0.9.jar<br />
ntw.Sighup 1.5,http://www.robocoderepository.com/BotFiles/2378/ntw.Sighup_1.5.jar<br />
ntw.Sigsys 1.6,http://www.robocoderepository.com/BotFiles/2379/ntw.Sigsys_1.6.jar<br />
nz.jdc.micro.HedgehogGF 1.3,http://www.robocoderepository.com/BotFiles/3626/nz.jdc.micro.HedgehogGF_1.3.jar<br />
nz.jdc.micro.HedgehogP 1.2,http://www.robocoderepository.com/BotFiles/3622/nz.jdc.micro.HedgehogP_1.2.jar<br />
nz.jdc.nano.NeophytePattern 1.0,http://www.robocoderepository.com/BotFiles/3578/nz.jdc.nano.NeophytePattern_1.0.jar<br />
nz.jdc.nano.NeophytePRAL 1.2,http://www.robocoderepository.com/BotFiles/3568/nz.jdc.nano.NeophytePRAL_1.2.jar<br />
nz.jdc.nano.NeophyteSRAL 1.2,http://www.robocoderepository.com/BotFiles/3567/nz.jdc.nano.NeophyteSRAL_1.2.jar<br />
oa.weak.BotherBot 0.1,http://www.robocoderepository.com/BotFiles/2956/oa.weak.BotherBot_0.1.jar<br />
oa.weak.FlyMk1 0.1,http://www.robocoderepository.com/BotFiles/2958/oa.weak.FlyMk1_0.1.jar<br />
ola.Puffin 1.0,http://www.robocoderepository.com/BotFiles/3380/ola.Puffin_1.0.jar<br />
oog.MagicD2 2.3,http://www.robocoderepository.com/BotFiles/3581/oog.MagicD2_2.3.jar<br />
oog.Acraepheus 1.0,http://www.robocoderepository.com/BotFiles/3557/oog.Acraepheus_1.0.jar<br />
oog.Acraepheus 1.1,http://www.robocoderepository.com/BotFiles/3558/oog.Acraepheus_1.1.jar<br />
oog.DolphinAR 1.0,http://www.robocoderepository.com/BotFiles/3510/oog.DolphinAR_1.0.jar<br />
pa.Improved 1.1,http://www.robocoderepository.com/BotFiles/3557/pa.Improved_1.1.jar<br />
pak.JakeTheTestingRobot .1b,http://www.robocoderepository.com/BotFiles/3373/pak.JakeTheTestingRobot_.1b.jar<br />
pak.Dargon 1.0b,http://www.robocoderepository.com/BotFiles/3388/pak.Dargon_1.0b.jar<br />
pak.Dargon .2c,http://www.robocoderepository.com/BotFiles/3389/pak.Dargon_.2c.jar<br />
paolord.TheHulk 1.0,http://www.robocoderepository.com/BotFiles/3595/paolord.TheHulk_1.0.jar<br />
patson.PatsonTestBot 1.0,http://www.robocoderepository.com/BotFiles/3324/patson.PatsonTestBot_1.0.jar<br />
paulk.PaulV3 1.7,http://www.robocoderepository.com/BotFiles/3502/paulk.PaulV3_1.7.jar<br />
paulk.PaulV3 1.6,http://www.robocoderepository.com/BotFiles/3497/paulk.PaulV3_1.6.jar<br />
paulk.PaulV3 1.5,http://www.robocoderepository.com/BotFiles/3496/paulk.PaulV3_1.5.jar<br />
paulk.PaulV3 1.3,http://www.robocoderepository.com/BotFiles/3495/paulk.PaulV3_1.3.jar<br />
pb.Oscillator 1.0,http://www.robocoderepository.com/BotFiles/2070/pb.Oscillator_1.0.jar<br />
pe.mini.SandboxMini 1.2,http://www.robocoderepository.com/BotFiles/917/pe.mini.SandboxMini_1.2.jar<br />
pe.minimelee.SandboxMiniMelee 1.1,http://www.robocoderepository.com/BotFiles/934/pe.minimelee.SandboxMiniMelee_1.1.jar<br />
pe.SandboxDT 3.02,http://www.robocoderepository.com/BotFiles/793/pe.SandboxDT_3.02.jar<br />
pe.SandboxLump 1.52,http://www.robocoderepository.com/BotFiles/731/pe.SandboxLump_1.52.jar<br />
pedersen.Banzai 0.8,http://home.comcast.net/~kokyunage/robocode/pedersen.Banzai_0.8.jar<br />
pedersen.Grishnakh 1.0,http://home.comcast.net/~kokyunage/robocode/grishnakh/pedersen.Grishnakh_1.0.jar<br />
pedersen.Hubris beta.3,http://home.comcast.net/~kokyunage/robocode/hubris/pedersen.Hubris_beta.3.jar<br />
pedersen.Moron 2.0,http://home.comcast.net/~kokyunage/robocode/ugluk/pedersen.Moron_2.0.jar<br />
pedersen.Ugluk 1.0,http://home.comcast.net/~kokyunage/robocode/ugluk/pedersen.Ugluk_1.0.jar<br />
pez.clean.Swiffer 0.2.9,http://www.robocoderepository.com/BotFiles/1883/pez.clean.Swiffer_0.2.9.jar<br />
pez.frankie.Frankie 0.9.6.1,http://www.robocoderepository.com/BotFiles/1565/pez.frankie.Frankie_0.9.6.1.jar<br />
pez.gloom.GloomyDark 0.9.2,http://www.robocoderepository.com/BotFiles/1741/pez.gloom.GloomyDark_0.9.2.jar<br />
pez.mako.Mako 1.5,http://www.robocoderepository.com/BotFiles/1317/pez.mako.Mako_1.5.jar<br />
pez.micro.Aristocles 0.3.7,http://www.robocoderepository.com/BotFiles/1923/pez.micro.Aristocles_0.3.7.jar<br />
pez.mini.ChironexFleckeri 0.5,http://www.robocoderepository.com/BotFiles/2513/pez.mini.ChironexFleckeri_0.5.jar<br />
pez.mini.Gouldingi 1.5,http://www.robocoderepository.com/BotFiles/1351/pez.mini.Gouldingi_1.5.jar<br />
pez.mini.Pugilist 2.4.18,http://bots.pezius.com/pez.mini.Pugilist_2.4.18.jar<br />
pez.mini.Tityus 0.9.1,http://www.robocoderepository.com/BotFiles/1657/pez.mini.Tityus_0.9.1.jar<br />
pez.mini.VertiLeach 0.4.0,http://www.robocoderepository.com/BotFiles/1744/pez.mini.VertiLeach_0.4.0.jar<br />
pez.nano.Icarus 0.3,http://www.robocoderepository.com/BotFiles/2353/pez.nano.Icarus_0.3.jar<br />
pez.rumble.Ali 0.4.9,http://www.robocoderepository.com/BotFiles/2416/pez.rumble.Ali_0.4.9.jar<br />
pez.rumble.CassiusClay 2rho.01b,http://www.dijitari.com/void/robocode/pez.rumble.CassiusClay_2rho.01b.jar<br />
pfvicm.Sobieski 7.2.3b,http://www.robocoderepository.com/BotFiles/2911/pfvicm.Sobieski_7.2.3b.jar<br />
ph.micro.Pikeman 0.4.5,http://www.robocoderepository.com/BotFiles/2364/ph.micro.Pikeman_0.4.5.jar<br />
ph.mini.Archer 0.6.6,http://www.robocoderepository.com/BotFiles/2326/ph.mini.Archer_0.6.6.jar<br />
ph.musketeer.Musketeer 0.6,http://www.robocoderepository.com/BotFiles/2281/ph.musketeer.Musketeer_0.6.jar<br />
ph.Thinker 0.2.5,http://www.robocoderepository.com/BotFiles/2336/ph.Thinker_0.2.5.jar<br />
pi.Dark 10,http://www.robocoderepository.com/BotFiles/1516/pi.Dark_10.jar<br />
pla.Memnoch 0.5,http://www.robocoderepository.com/BotFiles/2211/pla.Memnoch_0.5.jar<br />
PK.Twardy 0.4.2,http://www.robocoderepository.com/BotFiles/3272/PK.Twardy_0.4.2.jar<br />
pkdeken.Paladin 1.0,http://www.robocoderepository.com/BotFiles/3556/pkdeken.Paladin_1.0.jar<br />
pkdeken.RubixGFSolver 2.0,http://www.robocoderepository.com/BotFiles/3589/pkdeken.RubixGFSolver_2.0.jar<br />
PkKillers.PkAssassin 1.0,http://www.robocoderepository.com/BotFiles/3485/PkKillers.PkAssassin_1.0.jar<br />
pmc.SniperBot 1.0,http://padster.webpal.info/pmc.SniperBot_1.0.jar<br />
projectx.ProjectNano 2.0,http://www.robocoderepository.com/BotFiles/3407/projectx.ProjectNano_2.0.jar<br />
projectx.TestNano 1.0,http://www.robocoderepository.com/BotFiles/3444/projectx.TestNano_1.0.jar<br />
pulsar.PulsarMax 0.8.9,http://www.robocoderepository.com/BotFiles/2227/pulsar.PulsarMax_0.8.9.jar<br />
pulsar.PulsarNano 0.2.4,http://www.robocoderepository.com/BotFiles/2335/pulsar.PulsarNano_0.2.4.jar<br />
pulsar.Nanis 0.3,http://www.robocoderepository.com/BotFiles/2560/pulsar.Nanis_0.3.jar<br />
qohnil.blot.BlotBot 3.61,http://www.robocoderepository.com/BotFiles/546/qohnil.blot.BlotBot_3.61.jar<br />
Queens_teamrobot.UltraRazor 1.0,http://www.robocoderepository.com/BotFiles/2108/Queens_teamrobot.UltraRazor_1.0.jar<br />
quietus.Invader 0.1,http://robocode.rleach.id.au/quietus.Invader_0.1.jar<br />
quietus.NarrowRadar 0.1,http://robocode.rleach.id.au/quietus.NarrowRadar_0.1.jar<br />
radnor.DoctorBob 1.42,http://www.robocoderepository.com/BotFiles/2133/radnor.DoctorBob_1.42.jar<br />
radnor.RamRod 1.0,http://www.robocoderepository.com/BotFiles/2085/radnor.RamRod_1.0.jar<br />
rapture.Rapture 2.13,http://www.robocoderepository.com/BotFiles/15/rapture.Rapture_2.13.jar<br />
ratosh.nano.Debo 1.36,http://www.robocoderepository.com/BotFiles/1702/ratosh.nano.Debo_1.36.jar<br />
ratosh.Nobo 0.21,http://www.robocoderepository.com/BotFiles/1612/ratosh.Nobo_0.21.jar<br />
ratosh.Wesco 1.4,http://www.robocoderepository.com/BotFiles/1914/ratosh.Wesco_1.4.jar<br />
rc.yoda.Yoda 1.0.6c,http://www.robocoderepository.com/BotFiles/3260/rc.yoda.Yoda_1.0.6c.jar<br />
rcb.Vanessa03 0,http://www.robocoderepository.com/BotFiles/1364/rcb.Vanessa03_0.jar<br />
rcp.Kuramatron 1.0,http://www.robocoderepository.com/BotFiles/3307/rcp.Kuramatron_1.0.jar<br />
rdt199.Warlord 0.73,http://www.robocoderepository.com/BotFiles/1130/rdt199.Warlord_0.73.jar<br />
reaper.Reaper 1.1,http://www.robocoderepository.com/BotFiles/3412/reaper.Reaper_1.1.jar<br />
repositorio.NanoStep 1.0,http://www.robocoderepository.com/BotFiles/2993/repositorio.NanoStep_1.0.jar<br />
rfj.Sunburn 1.1,http://www.robocoderepository.com/BotFiles/1060/rfj.Sunburn_1.1.jar<br />
rijteam.SmartDodge 1.1,http://www.robocoderepository.com/BotFiles/2959/rijteam.SmartDodge_1.1.jar<br />
robar.micro.Kirbyi 1.0,http://hunrobar.freeblog.hu/files/myrobots/robar.micro.Kirbyi_1.0.jar<br />
robar.nano.Assertive 0.3,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Assertive_0.3.jar<br />
robar.nano.BlackWidow 1.3,http://www.robocoderepository.com/BotFiles/3574/robar.nano.BlackWidow_1.3.jar<br />
robar.nano.Breeze 0.3,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Breeze_0.3.jar<br />
robar.nano.Mosquito 1.1,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Mosquito_1.1.jar<br />
robar.nano.MosquitoPM 1.0,http://www.robocoderepository.com/BotFiles/3559/robar.nano.MosquitoPM_1.0.jar<br />
robar.nano.Prestige 1.0,http://www.robocoderepository.com/BotFiles/3507/robar.nano.Prestige_1.0.jar<br />
robar.nano.Pugio 1.2,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Pugio_1.2.jar<br />
robar.micro.Quartz_DEV 1.0,http://www.robocoderepository.com/BotFiles/3490/robar.micro.Quartz_DEV_1.0.jar<br />
robar.nano.Scytodes 0.3,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Scytodes_0.3.jar<br />
robar.nano.Vespa 0.95,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Vespa_0.95.jar<br />
rsk1.RSK1 4.0,http://www.robocoderepository.com/BotFiles/3284/rsk1.RSK1_4.0.jar<br />
ruc.nano.Zealot 0.2,http://www.robocoderepository.com/BotFiles/1229/ruc.nano.Zealot_0.2.jar<br />
ry.LightningBug 1.0,http://sites.google.com/site/rbtying/Home/ry.LightningBug_1.0.jar?attredirects=0<br />
ry.VirtualGunExperiment 1.0,http://www.robocoderepository.com/BotFiles/3575/ry.VirtualGunExperiment_1.0.jar<br />
rz.Aleph 0.34,http://www.robocoderepository.com/BotFiles/1993/rz.Aleph_0.34.jar<br />
rz.Apollon 0.23,http://www.robocoderepository.com/BotFiles/2098/rz.Apollon_0.23.jar<br />
rz.Artist 0.2,http://www.robocoderepository.com/BotFiles/2156/rz.Artist_0.2.jar<br />
rz.GlowBlow 2.31,http://www.robocoderepository.com/BotFiles/1354/rz.GlowBlow_2.31.jar<br />
rz.GlowBlowAPM 1.0,http://www.robocoderepository.com/BotFiles/1382/rz.GlowBlowAPM_1.0.jar<br />
rz.GlowBlowMelee 1.4,http://www.robocoderepository.com/BotFiles/1436/rz.GlowBlowMelee_1.4.jar<br />
rz.HawkOnFire 0.1,http://www.robocoderepository.com/BotFiles/1575/rz.HawkOnFire_0.1.jar<br />
rz.SmallDevil 1.502,http://www.robocoderepository.com/BotFiles/1322/rz.SmallDevil_1.502.jar<br />
sam.ChipmunkDuelist 1.0,http://www.robocoderepository.com/BotFiles/3094/sam.ChipmunkDuelist_1.0.jar<br />
sam.Samspin 1.0,http://www.robocoderepository.com/BotFiles/2823/sam.Samspin_1.0.jar<br />
sch.Simone 0.3d,http://www.robocoderepository.com/BotFiles/374/sch.Simone_0.3d.jar<br />
serenity.moonlightBat 1.17,http://www.robocoderepository.com/BotFiles/2877/serenity.moonlightBat_1.17.jar<br />
serenity.nonSense 1.39,http://www.robocoderepository.com/BotFiles/3586/serenity.nonSense_1.39.jar<br />
serenity.serenityFire 1.29,http://www.robocoderepository.com/BotFiles/3071/serenity.serenityFire_1.29.jar<br />
sgp.JollyNinja 3.53,http://www.robocoderepository.com/BotFiles/183/sgp.JollyNinja_3.53.jar<br />
sgp.MadHatter 4.13,http://www.robocoderepository.com/BotFiles/156/sgp.MadHatter_4.13.jar<br />
sgp.nano.FurryLeech 1.0,http://www.robocoderepository.com/BotFiles/802/sgp.nano.FurryLeech_1.0.jar<br />
sgp.ShiningBeetle 1.1,http://www.robocoderepository.com/BotFiles/498/sgp.ShiningBeetle_1.1.jar<br />
sgp.SleepingGoat 1.1,http://www.robocoderepository.com/BotFiles/500/sgp.SleepingGoat_1.1.jar<br />
sgs.DogManSPE 1.1,http://www.robocoderepository.com/BotFiles/990/sgs.DogManSPE_1.1.jar<br />
shinh.Entangled 0.3,http://www.robocoderepository.com/BotFiles/1070/shinh.Entangled_0.3.jar<br />
shrub.Silver v048,http://www.robocoderepository.com/BotFiles/449/shrub.Silver_v048.jar<br />
shrub.Vapour v159,http://www.robocoderepository.com/BotFiles/2654/shrub.Vapour_v159.jar<br />
shu.nitro.LENIN .T34,http://www.robocoderepository.com/BotFiles/1956/shu.nitro.LENIN_.T34.jar<br />
sigterm.Sigterm 1.0,http://www.robocoderepository.com/BotFiles/2428/sigterm.Sigterm_1.0.jar<br />
simonton.beta.LifelongObsession 0.5.1,http://www.robocoderepository.com/BotFiles/3195/simonton.beta.LifelongObsession_0.5.1.jar<br />
simonton.GFNano_D 3.1b,http://www.robocoderepository.com/BotFiles/3114/simonton.GFNano_D_3.1b.jar<br />
simonton.nano.WeekendObsession_S 1.7,http://www.robocoderepository.com/BotFiles/3117/simonton.nano.WeekendObsession_S_1.7.jar<br />
simonton.mega.SniperFrog 1.0,http://upload.frozenonline.com/view/simonton/simonton.mega.SniperFrog_1.0.jar<br />
simonton.micro.GFMicro 1.0,http://upload.frozenonline.com/view/simonton/simonton.micro.GFMicro_1.0.jar<br />
simonton.micro.WeeklongObsession 3.4.1,http://upload.frozenonline.com/view/simonton/simonton.micro.WeeklongObsession_3.4.1.jar<br />
simonton.mini.WeeksOnEnd 1.10.4,http://upload.frozenonline.com/view/simonton/simonton.mini.WeeksOnEnd_1.10.4.jar<br />
skm.Ryubot 1.0,http://www.robocoderepository.com/BotFiles/3594/skm.Ryubot_1.0.jar<br />
skm.PateranBotlock2 1.0,http://www.robocoderepository.com/BotFiles/3591/skm.PateranBotlock2_1.0.jar<br />
sL300.Mozart life,http://www.robocoderepository.com/BotFiles/1992/sL300.Mozart_life.jar<br />
sm.Devil 7.3,http://www.robocoderepository.com/BotFiles/1481/sm.Devil_7.3.jar<br />
sng.arco.Arco 0.0,http://www.robocoderepository.com/BotFiles/3279/sng.arco.Arco_0.0.jar<br />
sos.SOS 1.0,http://www.robocoderepository.com/BotFiles/3489/sos.SOS_1.0.jar<br />
sqTank.waveSurfing.LionWWSVMvoid 0.01,http://www.robocoderepository.com/BotFiles/3436/sqTank.waveSurfing.LionWWSVMvoid_0.01.jar<br />
starpkg.StarViewerZ 1.26,http://www.robocoderepository.com/BotFiles/1931/starpkg.StarViewerZ_1.26.jar<br />
stefw.Tigger 0.0.23,http://uk.geocities.com/westenstefan/stefw.Tigger_0.0.23.jar<br />
stelo.Chord 1.0,http://www.geocities.com/stelokim/robots/stelo.Chord_1.0.jar<br />
stelo.FretNano 1.1,http://www.geocities.com/stelokim/robots/stelo.FretNano_1.1.jar<br />
stelo.Lifestealer 1.0,http://www.robocoderepository.com/BotFiles/2987/stelo.Lifestealer_1.0.jar<br />
stelo.MatchupMini 1.1,http://www.geocities.com/stelokim/robots/stelo.MatchupMini_1.1.jar<br />
stelo.MatchupMicro 1.2,http://www.geocities.com/stelokim/robots/stelo.MatchupMicro_1.2.jar<br />
stelo.MatchupAGF 1.1,http://www.geocities.com/stelokim/robots/stelo.MatchupAGF_1.1.jar<br />
stelo.MatchupWS 1.2c,http://www.geocities.com/stelokim/robots/stelo.MatchupWS_1.2c.jar<br />
stelo.Mirror 1.1,http://www.robocoderepository.com/BotFiles/3034/stelo.Mirror_1.1.jar<br />
stelo.MirrorMicro 1.1,http://www.geocities.com/stelokim/robots/stelo.MirrorMicro_1.1.jar<br />
stelo.MirrorNano 1.4,http://www.geocities.com/stelokim/robots/stelo.MirrorNano_1.4.jar<br />
stelo.MoojukNano 1.2,http://www.geocities.com/stelokim/robots/stelo.MoojukNano_1.2.jar<br />
stelo.PastFuture 1.2a,http://www.geocities.com/stelokim/robots/stelo.PastFuture_1.2a.jar<br />
stelo.PatternRobot 1.0,http://www.robocoderepository.com/BotFiles/2995/stelo.PatternRobot_1.0.jar<br />
stelo.PianistNano 1.3,http://www.geocities.com/stelokim/robots/stelo.PianistNano_1.3.jar<br />
stelo.RamTrackSurfer 1.2,http://www.geocities.com/stelokim/robots/stelo.RamTrackSurfer_1.2.jar<br />
stelo.Randomness 1.1,http://www.robocoderepository.com/BotFiles/3021/stelo.Randomness_1.1.jar<br />
stelo.SteloTestNano 1.0,http://www.geocities.com/stelokim/robots/stelo.SteloTestNano_1.0.jar<br />
stelo.UnfoolableNano 1.0,http://www.geocities.com/stelokim/robots/stelo.UnfoolableNano_1.0.jar<br />
stelo.UntouchableNano 1.4,http://www.geocities.com/stelokim/robots/stelo.UntouchableNano_1.4.jar<br />
step.nanoPri 1.0,http://www.robocoderepository.com/BotFiles/2996/step.nanoPri_1.0.jar<br />
step.NanoBidu 1.0,http://www.robocoderepository.com/BotFiles/3014/step.NanoBidu_1.0.jar<br />
stf.PanzerGeneral 0.1,http://www.robocoderepository.com/BotFiles/2233/stf.PanzerGeneral_0.1.jar<br />
strider.Festis 1.2.1,http://www.robocoderepository.com/BotFiles/2355/strider.Festis_1.2.1.jar<br />
strider.Mer 1.1.0,http://www.robocoderepository.com/BotFiles/2360/strider.Mer_1.1.0.jar<br />
sul.NanoR2 1.32,http://www.robocoderepository.com/BotFiles/3348/sul.NanoR2_1.32.jar<br />
sul.Pinkbot 1.1,http://www.robocoderepository.com/BotFiles/3346/sul.Pinkbot_1.1.jar<br />
sul.Bicephal 1.2,http://www.robocoderepository.com/BotFiles/3343/sul.Bicephal_1.2.jar<br />
sul.BlueBot 1.0,http://www.robocoderepository.com/BotFiles/3347/sul.BlueBot_1.0.jar<br />
syl.Centipede 0.5,http://www.robocoderepository.com/BotFiles/1254/syl.Centipede_0.5.jar<br />
synnalagma.NeuralPremier 0.51,http://www.robocoderepository.com/BotFiles/1557/synnalagma.NeuralPremier_0.51.jar<br />
synnalagma.test.MiniNeural 1.1,http://www.robocoderepository.com/BotFiles/1754/synnalagma.test.MiniNeural_1.1.jar<br />
tad.Dalek98 0.98,http://www.robocoderepository.com/BotFiles/1440/tad.Dalek98_0.98.jar<br />
takeBot.SpinSpiral 1.2,http://www.robocoderepository.com/BotFiles/312/takeBot.SpinSpiral_1.2.jar<br />
takeBot.SpiralCrash 1.0,http://www.robocoderepository.com/BotFiles/1013/takeBot.SpiralCrash_1.0.jar<br />
takeBot.WeavingWiggle 1.1,http://www.robocoderepository.com/BotFiles/1012/takeBot.WeavingWiggle_1.1.jar<br />
tango.Recrimpo 2.51,http://www.robocoderepository.com/BotFiles/2015/tango.Recrimpo_2.51.jar<br />
taqho.taqbot 1.0,http://www.robocoderepository.com/BotFiles/1316/taqho.taqbot_1.0.jar<br />
tcf.Drifter 29,http://www.7sun.com/robocode/robots/tcf.Drifter_29.jar<br />
tcf.Repat3 2,http://www.robocoderepository.com/BotFiles/3328/tcf.Repat3_2.jar<br />
techdude.kombat.FlamingKombat 1.5,http://www.robocoderepository.com/BotFiles/2810/techdude.kombat.FlamingKombat_1.5.jar<br />
techdude.Carruthers 1.2.6,http://thekandieman.com/nfwu/alex/robocode/techdude.Carruthers_1.2.6.jar<br />
techdude.Class2C.Class2C 0.1,http://www.robocoderepository.com/BotFiles/3078/techdude.Class2C.Class2C_0.1.jar<br />
test.Podgy 4.0,http://www.robocoderepository.com/BotFiles/3214/test.Podgy_4.0.jar<br />
test.Fuzzer 1.0.1,http://www.robocoderepository.com/BotFiles/3345/test.Fuzzer_1.0.1.jar<br />
testantiswapgun.AntiSwap 1.0,http://www.robocode.ilbello.com/asd.AntiSwap_1.0.jar<br />
throxbot.ThroxBot 0.1,http://www.robocoderepository.com/BotFiles/2548/throxbot.ThroxBot_0.1.jar<br />
tide.pear.Pear 0.62.1,http://www.robocoderepository.com/BotFiles/2393/tide.pear.Pear_0.62.1.jar<br />
timmit.micro.TimXJ 0.22,http://www.robocoderepository.com/BotFiles/1683/timmit.micro.TimXJ_0.22.jar<br />
timmit.mini.TimVA 0.43,http://www.robocoderepository.com/BotFiles/1681/timmit.mini.TimVA_0.43.jar<br />
timmit.nano.TimCat 0.13,http://www.robocoderepository.com/BotFiles/1600/timmit.nano.TimCat_0.13.jar<br />
timmit.nano.TimDog 0.33,http://www.robocoderepository.com/BotFiles/1602/timmit.nano.TimDog_0.33.jar<br />
timmit.TimmiT 0.22,http://www.robocoderepository.com/BotFiles/1468/timmit.TimmiT_0.22.jar<br />
tlp.ThreeLeggedPig 1,http://pages.prodigy.net/franz1/house/tlp.ThreeLeggedPig_1.jar<br />
tm.Yuugao 1.0,http://www.robocoderepository.com/BotFiles/1056/tm.Yuugao_1.0.jar<br />
tobe.calypso.Calypso 4.1,http://www.robocoderepository.com/BotFiles/784/tobe.calypso.Calypso_4.1.jar<br />
tobe.Fusion 1.0,http://www.robocoderepository.com/BotFiles/649/tobe.Fusion_1.0.jar<br />
tobe.mini.Charon 0.9,http://www.robocoderepository.com/BotFiles/836/tobe.mini.Charon_0.9.jar<br />
tobe.Relativity 3.9,http://www.robocoderepository.com/BotFiles/360/tobe.Relativity_3.9.jar<br />
tobe.Saturn lambda,http://www.robocoderepository.com/BotFiles/685/tobe.Saturn_lambda.jar<br />
tornyil.bottomup.BottomUp 1.05,http://www.alpha-consulting.hu/robo/tornyil.bottomup.BottomUp_1.05.jar<br />
tornyil.Lajcsi2.Lajcsi2sm 1.0,http://www.alpha-consulting.hu/robo/tornyil.Lajcsi2.Lajcsi2sm_1.0.jar<br />
toz.Gnome 1.1,http://www.stud.ntnu.no/~steffent/arkiv/robot/files/toz.Gnome_1.1.jar<br />
trab.Crusader 0.1.7,http://www.stud.ntnu.no/~grashei/bots/trab.Crusader_0.1.7.jar<br />
trab.nano.AinippeNano 1.3,http://www.stud.ntnu.no/~grashei/bots/trab.nano.AinippeNano_1.3.jar<br />
tzu.TheArtOfWar 1.2,http://www.robocoderepository.com/BotFiles/689/tzu.TheArtOfWar_1.2.jar<br />
urdos.URDOS 1.3,http://www.hci.sg/~y05hci409/urdos.URDOS_1.3.jar<br />
usa.nano.Nemo 2.0,http://www.robocoderepository.com/BotFiles/2045/usa.nano.Nemo_2.0.jar<br />
vic.Locke 0.7.5.5,http://www.robocoderepository.com/BotFiles/2115/vic.Locke_0.7.5.5.jar<br />
vft.Valkyrie 1.0,http://www.robocoderepository.com/BotFiles/3009/vft.Valkyrie_1.0.jar<br />
vft.Hrist 1.0,http://www.geocities.com/flarebringer/Robocode/vft.Hrist_1.0.jar<br />
voidious.Dookious 1.573c,http://www.dijitari.com/void/robocode/voidious.Dookious_1.573c.jar<br />
voidious.Lukious 1.321,http://www.dijitari.com/void/robocode/voidious.Lukious_1.321.jar<br />
voidious.micro.Jen 1.087,http://www.dijitari.com/void/robocode/voidious.micro.Jen_1.087.jar<br />
voidious.mini.Komarious 1.82,http://www.dijitari.com/void/robocode/voidious.mini.Komarious_1.82.jar<br />
vuen.Fractal 0.55,http://www.robocoderepository.com/BotFiles/1579/vuen.Fractal_0.55.jar<br />
wcsv.Engineer.Engineer 0.5.4,http://www.lehigh.edu/~wcs204/RoboCode/wcsv.Engineer.Engineer_0.5.4.jar<br />
wcsv.PowerHouse.PowerHouse 1.7e3,http://www.lehigh.edu/~wcs204/RoboCode/wcsv.PowerHouse.PowerHouse_1.7e3.jar<br />
wcsv.mega.PowerHouse2 0.2,http://www.lehigh.edu/~wcs204/RoboCode/wcsv.mega.PowerHouse2_0.2.jar<br />
wcsv.Stampede 1.3.3,http://www.robocoderepository.com/BotFiles/2527/wcsv.Stampede_1.3.3.jar<br />
wcsv.Stampede2.Stampede2 1.1.0,http://www.robocoderepository.com/BotFiles/2714/wcsv.Stampede2.Stampede2_1.1.0.jar<br />
whind.Constitution 0.7.1,http://www.robocoderepository.com/BotFiles/2812/whind.Constitution_0.7.1.jar<br />
whind.Strength 0.6.4,http://whindgames.50webs.com/otherstuff/whind.Strength_0.6.4.jar<br />
whind.StrengthBee 0.6.4,http://whindgames.50webs.com/otherstuff/whind.StrengthBee_0.6.4.jar<br />
whind.Wisdom 0.5.1,http://www.robocoderepository.com/BotFiles/2742/whind.Wisdom_0.5.1.jar<br />
wiki.BasicGFSurfer 1.01,http://home.versatel.nl/gheijenk/robocode/jarfiles/wiki.BasicGFSurfer_1.01.jar<br />
wiki.mako.MakoHT 1.2.2.1,http://www.robocoderepository.com/BotFiles/1374/wiki.mako.MakoHT_1.2.2.1.jar<br />
wiki.mini.BlackDestroyer 0.9.0,http://www.robocoderepository.com/BotFiles/1927/wiki.mini.BlackDestroyer_0.9.0.jar<br />
wiki.mini.GouldingiHT 1.0,http://www.robocoderepository.com/BotFiles/1383/wiki.mini.GouldingiHT_1.0.jar<br />
wiki.mini.Griffon 0.1,http://www.robocoderepository.com/BotFiles/1774/wiki.mini.Griffon_0.1.jar<br />
wiki.mini.Sedan 1.0,http://www.robocoderepository.com/BotFiles/1676/wiki.mini.Sedan_1.0.jar<br />
wiki.nano.DevilFISH 1.0,http://www.robocoderepository.com/BotFiles/2235/wiki.nano.DevilFISH_1.0.jar<br />
wiki.nano.RaikoNano 1.1,http://www.robocoderepository.com/BotFiles/2163/wiki.nano.RaikoNano_1.1.jar<br />
wiki.WaveRammer 1.0,http://www.robocoderepository.com/BotFiles/3505/wiki.WaveRammer_1.0.jar<br />
wiki.Wolverine 2.1,http://chase.tfsnewworld.com/bots/wiki.Wolverine_2.1.jar<br />
wilson.Chameleon 0.91,http://www.robocoderepository.com/BotFiles/1608/wilson.Chameleon_0.91.jar<br />
winamp32.micro.MicroMacro 1.0,http://www.robocoderepository.com/BotFiles/2891/winamp32.micro.MicroMacro_1.0.jar<br />
wit.Chuliath 1.0,http://www.robocoderepository.com/BotFiles/2306/wit.Chuliath_1.0.jar<br />
wit.Deep7 2.0,http://www.robocoderepository.com/BotFiles/2313/wit.Deep7_2.0.jar<br />
xiongan.Xiongan 1.1,http://www.robocoderepository.com/BotFiles/3565/xiongan.Xiongan_1.1.jar<br />
yarghard.Y101 1.0,http://sliwa.ws/RoboCode/yarghard.Y101_1.0.jar<br />
yk.JahMicro 1.0,http://www.robocoderepository.com/BotFiles/3033/yk.JahMicro_1.0.jar<br />
yk.JahRoslav 1.1,http://www.robocoderepository.com/BotFiles/3032/yk.JahRoslav_1.1.jar<br />
zen.Lindada 0.2,http://www.robocoderepository.com/BotFiles/1679/zen.Lindada_0.2.jar<br />
zeze2.OperatorZeze 1.05,http://www.robocoderepository.com/BotFiles/3330/zeze2.OperatorZeze_1.05.jar<br />
zch.David 0.21,http://www.robocoderepository.com/BotFiles/3575/zch.David_0.21.jar<br />
zch.Hirkan 0.11,http://www.robocoderepository.com/BotFiles/1288/zch.Hirkan_0.11.jar<br />
zh.UnderDog 0.0.2,http://www.robocoderepository.com/BotFiles/3053/zh.UnderDog_0.0.2.jar<br />
zyx.mega.Newton 2.1,http://sites.google.com/site/zyxsite/robocode/zyx.mega.Newton_2.1.jar<br />
zyx.mega.Gauss 2.2.0,http://sites.google.com/site/zyxsite/robocode/zyx.mega.Gauss_2.2.0.jar<br />
zyx.mega.YersiniaPestis 1.3.7,http://sites.google.com/site/zyxsite/robocode/zyx.mega.YersiniaPestis_1.3.7.jar<br />
zyx.micro.Ant 1.1,http://www.robocoderepository.com/BotFiles/3481/zyx.micro.Ant_1.1.jar<br />
zyx.micro.Ant 2.1,http://sites.google.com/site/zyxsite/robocode/zyx.micro.Ant_2.1.jar<br />
zyx.nano.Ant 1.1,http://www.robocoderepository.com/BotFiles/3493/zyx.nano.Ant_1.1.jar<br />
zyx.nano.EscherichiaColi 1.0,http://sites.google.com/site/zyxsite/robocode/zyx.nano.EscherichiaColi_1.0.jar<br />
</pre><br />
----<br />
'''''No chatting on this page. Use the /ParticipantsChat page for that.'''''<br />
<br />
Removed because the jarcontent/filename is not correct<br><br />
henriquevilela.TieFighter 0.1,3224<br><br />
jgap.Aspirant_13029_gen7 1.0,3553<br><br />
jgap.Aspirant_7980_gen7 1.0,3552<br><br />
<br />
Removed because the filename on RobocodeRepository contains spaces.<br><br />
as.xbots 1.0,3473<br />
<br />
Removed until file corruption is resolved:<br />
<br />
cas.CelsoKiller 1.0,3465<br />
<br />
Removed due to almost always giving '0' scores:<br />
<br />
com.syncleus.robocode.Dreadnaught 0.1,3426</div>Lestofantehttp://robowiki.net/w/index.php?title=Easter_Holiday&diff=5248Easter Holiday2009-04-15T14:11:27Z<p>Lestofante: /* 2009 */ no holiday</p>
<hr />
<div>(Feel free to update infomation)<br />
== 2009 ==<br />
This year easter day is April 12 at western, and April 19 at eastern.<br />
<br />
Robocoder, who go out for Easter Holiday? Make your list here!<br />
<br />
* [[User:Zamboch|Pavel Savara]]<br />
* (who else?)<br />
<br />
----<br />
I think nobody will go in that list now, easter isn't over yet! But I don't have easter in mu country :-) Instead, I have [[wikipedia:Songkran|Songkran]] holiday, which I stayed home and finishing my dad website, which should be finish a couple of weeks before, but I robocoding and left my dad work as-is :-)<br />
<br />
I know [[User:Zamboch|Pavel Savara]] is go out for Easter so I added for him. [[Skigannon]] isn't go for Easter Holiday, since he still update [[Wintermute]]. Well, I think [[Rednaxela]] go, or he probably has several comments for me by now. &raquo; <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> &raquo; 13:41, 15 April 2009 (UTC)<br />
<br />
Here in Italy Easter was on sunday... so no Holiday :-( --[[User:Lestofante|lestofante]] 14:11, 15 April 2009 (UTC)<br />
<br />
== 2010 ==<br />
This year easter day is April 9.</div>Lestofantehttp://robowiki.net/w/index.php?title=@workgun&diff=4652@workgun2009-03-23T14:51:11Z<p>Lestofante: /* @work gun */</p>
<hr />
<div>==@work gun==<br />
I'm thinking about this new gun, it's work is quite simple: get and save data as PM gun, but use a Pattern object instead a byte to save information. Also use a weigthing system for every value in patterns, giving -1 if the value seem to change always, 0 if is ininfluent, 1 if seem to be always the same (GF applied on value change instead of angle)<br />
===How gun works?===<br />
* get data<br />
* create a Pattern based on data<br />
* find similar pattern(s)<br />
* shot as PM, create a virual bullet containig the Pattern and his weigth<br />
* if bullet hit modify actual gun weigth with virtual bullet weigth<br />
<br />
===Which data save?===<br />
Pattern data stored:<br />
* enemy distance travelled<br />
* enemy bearing change<br />
* i've shot<br />
* enemy has shot - not actually<br />
* distance from me<br />
* enemy life<br />
<br />
===How find PM match?===<br />
* Look for exactly equal Pattern (weigthDistance = 0)<br />
if exactly match hasn't been found:<br />
* Find distance of the Pattern value and multiply weigth, i call this "weigth distance"<br />
<math>weigthDistance=(pattern1.value1^2 - pattern2.value1^2) * gun.weigth1</math><br />
* Return Patterns with lowest weigthDistance<br />
<br />
===Where to shoot?===<br />
As PM, see what happen after the best similar Pattern found :-)<br />
<br />
I hope you have understend^^, ask if you need<br />
==[[User:Lestofante|lestofante]] 13:11, 26 February 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=@workgun&diff=4651@workgun2009-03-23T14:44:02Z<p>Lestofante: /* How find PM match? */</p>
<hr />
<div>==@work gun==<br />
I'm thinking about this new ibrid gun, it's work is quite simple: get and save data as PM gun, but can choose if use a PM or GF targeting algoritm.<br />
===How gun works?===<br />
* get data<br />
* create a Pattern based on data<br />
* find similar pattern(s)<br />
* shot as PM, create a virual bullet containig the Pattern and his weigth<br />
* if bullet hit modify actual gun weigth with virtual bullet weigth<br />
<br />
===Which data save?===<br />
Pattern data stored:<br />
* enemy distance travelled<br />
* enemy bearing change<br />
* i've shot<br />
* enemy has shot - not actually<br />
* distance from me<br />
* enemy life<br />
<br />
===How find PM match?===<br />
* Look for exactly equal Pattern<br />
if exactly match hasn't been found:<br />
* Find distance of the Pattern value and multiply weigth, i call this "weigth distance"<br />
<math>weigthDistance=(pattern1.value1^2 - pattern2.value1^2) * gun.weigth1</math><br />
* Return Patterns with lowest weigthDistance<br />
<br />
===How find similar result?===<br />
* sum the distance of data bins index and sum it<br />
* find the lowest sum<br />
* if there are many low sum do the same but using the distance between absolute value and not bins index<br />
<br />
I hope you have understend^^<br />
==[[User:Lestofante|lestofante]] 13:11, 26 February 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=@workgun&diff=4649@workgun2009-03-23T14:36:42Z<p>Lestofante: /* Which data save? */</p>
<hr />
<div>==@work gun==<br />
I'm thinking about this new ibrid gun, it's work is quite simple: get and save data as PM gun, but can choose if use a PM or GF targeting algoritm.<br />
===How gun works?===<br />
* get data<br />
* create a Pattern based on data<br />
* find similar pattern(s)<br />
* shot as PM, create a virual bullet containig the Pattern and his weigth<br />
* if bullet hit modify actual gun weigth with virtual bullet weigth<br />
<br />
===Which data save?===<br />
Pattern data stored:<br />
* enemy distance travelled<br />
* enemy bearing change<br />
* i've shot<br />
* enemy has shot - not actually<br />
* distance from me<br />
* enemy life<br />
<br />
===How find PM match?===<br />
* Look for exactly same data in an Arraylist<String> (index is tick) who contains bins indexin this form: (index bin 1).(index bin 2).ecc..<br />
if exactly match hasn't been found:<br />
* get all same data with same bin index<br />
* find the most similar results for every bin<br />
* look how much enemy has moved from the most similar result until predicted hit<br />
<br />
===How find similar result?===<br />
* sum the distance of data bins index and sum it<br />
* find the lowest sum<br />
* if there are many low sum do the same but using the distance between absolute value and not bins index<br />
<br />
I hope you have understend^^<br />
==[[User:Lestofante|lestofante]] 13:11, 26 February 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=@workgun&diff=4647@workgun2009-03-23T14:32:53Z<p>Lestofante: /* How gun works? */</p>
<hr />
<div>==@work gun==<br />
I'm thinking about this new ibrid gun, it's work is quite simple: get and save data as PM gun, but can choose if use a PM or GF targeting algoritm.<br />
===How gun works?===<br />
* get data<br />
* create a Pattern based on data<br />
* find similar pattern(s)<br />
* shot as PM, create a virual bullet containig the Pattern and his weigth<br />
* if bullet hit modify actual gun weigth with virtual bullet weigth<br />
<br />
===Which data save?===<br />
(difference are calculate every tick, if one or more scan fail gun can try to estimate lost data)<br />
* enemy distance travelled bin from 0 to 8 (int)<br />
* enemy bearing change bin from 0 to 46 (int)<br />
* i've shot bin from 0 to 3 (int)<br />
* enemy has shot bin from 0 to 3 (int)<br />
* distance from me bin from 0 to 10 (int)<br />
* enemy life bin from 0 to 10 (int)<br />
<br />
===How find PM match?===<br />
* Look for exactly same data in an Arraylist<String> (index is tick) who contains bins indexin this form: (index bin 1).(index bin 2).ecc..<br />
if exactly match hasn't been found:<br />
* get all same data with same bin index<br />
* find the most similar results for every bin<br />
* look how much enemy has moved from the most similar result until predicted hit<br />
<br />
===How find similar result?===<br />
* sum the distance of data bins index and sum it<br />
* find the lowest sum<br />
* if there are many low sum do the same but using the distance between absolute value and not bins index<br />
<br />
I hope you have understend^^<br />
==[[User:Lestofante|lestofante]] 13:11, 26 February 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=@workgun&diff=4646@workgun2009-03-23T14:32:34Z<p>Lestofante: /* How gun works? */</p>
<hr />
<div>==@work gun==<br />
I'm thinking about this new ibrid gun, it's work is quite simple: get and save data as PM gun, but can choose if use a PM or GF targeting algoritm.<br />
===How gun works?===<br />
* get data<br />
* create a Pattern based on data<br />
* find similar pattern(s)<br />
* shot as PM, create a virual bullet containig the Pattern and is weigth<br />
* if bullet hit modify actual gun weigth with virtual bullet weigth<br />
<br />
===Which data save?===<br />
(difference are calculate every tick, if one or more scan fail gun can try to estimate lost data)<br />
* enemy distance travelled bin from 0 to 8 (int)<br />
* enemy bearing change bin from 0 to 46 (int)<br />
* i've shot bin from 0 to 3 (int)<br />
* enemy has shot bin from 0 to 3 (int)<br />
* distance from me bin from 0 to 10 (int)<br />
* enemy life bin from 0 to 10 (int)<br />
<br />
===How find PM match?===<br />
* Look for exactly same data in an Arraylist<String> (index is tick) who contains bins indexin this form: (index bin 1).(index bin 2).ecc..<br />
if exactly match hasn't been found:<br />
* get all same data with same bin index<br />
* find the most similar results for every bin<br />
* look how much enemy has moved from the most similar result until predicted hit<br />
<br />
===How find similar result?===<br />
* sum the distance of data bins index and sum it<br />
* find the lowest sum<br />
* if there are many low sum do the same but using the distance between absolute value and not bins index<br />
<br />
I hope you have understend^^<br />
==[[User:Lestofante|lestofante]] 13:11, 26 February 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Darkcanuck/RRServer/Roadmap&diff=4444Darkcanuck/RRServer/Roadmap2009-03-12T15:32:06Z<p>Lestofante: /* Down the Road */</p>
<hr />
<div>{{Darkcanuck/RRServer/Navigation}}<br />
<br />
Where do we go from here? '''Feedback highly encouraged!'''<br />
<br />
Version numbers are not yet planned, so the following groups are fuzzy on purpose.<br />
<br />
<br />
== Next Steps ==<br />
<br />
* <strike>Check PHP source into SVN!</strike> Source code available by request only while I clean it up a bit. Licensed under the GPL.<br />
* <strike>Implement other ranking algorithms (RR Elo, Glicko-2) for comparison purposes.</strike><br />
* <strike>Add nice sorting to pairing and battle detail views.</strike><br />
* Add rankings view for [[PremierLeague]], survivalist league (data already summarized, just need to display).<br />
* Add support for other games, such as TwinDuel?<br />
* <strike>Try to make tables look as nice as [[ABC]]'s, add proper HTML headers.</strike><br />
* <strike>Create utility to import battle files (and ratings) from other servers.</strike><br />
* Improve site navigation.<br />
* Add comparison feature (similar to old server), including comparisons against previous bot versions.<br />
* <strike>Test transaction-based uploads for speed improvement.</strike><br />
* Calculate estimated APS using Glicko-2 expected scores for missing pairings.<br />
<br />
* Add space left in DB (many times the old roborumble was out of order due to space over)<br />
<br />
== Down the Road ==<br />
<br />
* Create automatic rebuilding strategy and routines.<br />
* Update Rumble clients to supply more verification data (especially version, # of bots, # of teams, perhaps codesize?).<br />
* Create admin interface to purge bad results and flag suspect ones.<br />
* Everyone can flag bad result<br />
* Look into using a PHP framework because coding authentication schemes and forms gets really tiring, really quick.<br />
* Motivate others to join in and submit new features & patches.<br />
<br />
== Final Destination ==<br />
<br />
* Achieve world peace through RoboRumble.</div>Lestofantehttp://robowiki.net/w/index.php?title=Darkcanuck/RRServer/Roadmap&diff=4443Darkcanuck/RRServer/Roadmap2009-03-12T15:31:47Z<p>Lestofante: /* Down the Road */</p>
<hr />
<div>{{Darkcanuck/RRServer/Navigation}}<br />
<br />
Where do we go from here? '''Feedback highly encouraged!'''<br />
<br />
Version numbers are not yet planned, so the following groups are fuzzy on purpose.<br />
<br />
<br />
== Next Steps ==<br />
<br />
* <strike>Check PHP source into SVN!</strike> Source code available by request only while I clean it up a bit. Licensed under the GPL.<br />
* <strike>Implement other ranking algorithms (RR Elo, Glicko-2) for comparison purposes.</strike><br />
* <strike>Add nice sorting to pairing and battle detail views.</strike><br />
* Add rankings view for [[PremierLeague]], survivalist league (data already summarized, just need to display).<br />
* Add support for other games, such as TwinDuel?<br />
* <strike>Try to make tables look as nice as [[ABC]]'s, add proper HTML headers.</strike><br />
* <strike>Create utility to import battle files (and ratings) from other servers.</strike><br />
* Improve site navigation.<br />
* Add comparison feature (similar to old server), including comparisons against previous bot versions.<br />
* <strike>Test transaction-based uploads for speed improvement.</strike><br />
* Calculate estimated APS using Glicko-2 expected scores for missing pairings.<br />
<br />
* Add space left in DB (many times the old roborumble was out of order due to space over)<br />
<br />
== Down the Road ==<br />
<br />
* Create automatic rebuilding strategy and routines.<br />
* Update Rumble clients to supply more verification data (especially version, # of bots, # of teams, perhaps codesize?).<br />
* Create admin interface to purge bad results and flag suspect ones.<br />
* Everyone can flag bad result<br />
* Look into using a PHP framework because coding authentication schemes and forms gets really tiring, really quick.<br />
* Motivate others to join in and submit new features & patches.<br />
<br />
== Final Destination ==<br />
<br />
* Achieve world peace through RoboRumble.</div>Lestofantehttp://robowiki.net/w/index.php?title=Darkcanuck/RRServer/Roadmap&diff=4442Darkcanuck/RRServer/Roadmap2009-03-12T15:29:49Z<p>Lestofante: /* Next Steps */</p>
<hr />
<div>{{Darkcanuck/RRServer/Navigation}}<br />
<br />
Where do we go from here? '''Feedback highly encouraged!'''<br />
<br />
Version numbers are not yet planned, so the following groups are fuzzy on purpose.<br />
<br />
<br />
== Next Steps ==<br />
<br />
* <strike>Check PHP source into SVN!</strike> Source code available by request only while I clean it up a bit. Licensed under the GPL.<br />
* <strike>Implement other ranking algorithms (RR Elo, Glicko-2) for comparison purposes.</strike><br />
* <strike>Add nice sorting to pairing and battle detail views.</strike><br />
* Add rankings view for [[PremierLeague]], survivalist league (data already summarized, just need to display).<br />
* Add support for other games, such as TwinDuel?<br />
* <strike>Try to make tables look as nice as [[ABC]]'s, add proper HTML headers.</strike><br />
* <strike>Create utility to import battle files (and ratings) from other servers.</strike><br />
* Improve site navigation.<br />
* Add comparison feature (similar to old server), including comparisons against previous bot versions.<br />
* <strike>Test transaction-based uploads for speed improvement.</strike><br />
* Calculate estimated APS using Glicko-2 expected scores for missing pairings.<br />
<br />
* Add space left in DB (many times the old roborumble was out of order due to space over)<br />
<br />
== Down the Road ==<br />
<br />
* Create automatic rebuilding strategy and routines.<br />
* Update Rumble clients to supply more verification data (especially version, # of bots, # of teams, perhaps codesize?).<br />
* Create admin interface to purge bad results and flag suspect ones.<br />
* Look into using a PHP framework because coding authentication schemes and forms gets really tiring, really quick.<br />
* Motivate others to join in and submit new features & patches.<br />
<br />
<br />
== Final Destination ==<br />
<br />
* Achieve world peace through RoboRumble.</div>Lestofantehttp://robowiki.net/w/index.php?title=Disk_space_quota&diff=4441Disk space quota2009-03-12T15:20:27Z<p>Lestofante: Question about file size calculations</p>
<hr />
<div>Little question: space for saving to file double is 64bit, one char 16bit.<br />
If i want to save the weigth for my gun i can store it to file using 1 double(weigth) and 1 char(separator), using 80bit (8 byte).<br />
8 byte for 1000 robot is 8000 byte, and 200kb is maximum file quota (204800 byte)<br />
So for every bot in rumble i can save 204800/8000 = 25 weigth, right?<br />
If i use float(32 bit) i will gain about double space right?<br />
It can seems a stupid question but if i'm right i'm impressed how easily i can store more than 15 weigth for every bot in rumble(and much more!), giving at my gun a chance to learn specific weigth for every bot (i think the gun will be really slow to learn, due to automatics weigth finding, but actually is under development)<br />
--[[User:Lestofante|lestofante]] 15:20, 12 March 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=@workgun&diff=4159@workgun2009-02-26T13:18:10Z<p>Lestofante: /* How find PM match? */</p>
<hr />
<div>==@work gun==<br />
I'm thinking about this new ibrid gun, it's work is quite simple: get and save data as PM gun, but can choose if use a PM or GF targeting algoritm.<br />
===How gun works?===<br />
* _ get data<br />
* _ calculate % virtual hit on true shot using GF algorithm (at same bin distance if enought data)<br />
* _ calculate % virtual hit on true shot using PM algorithm (at same bin distance if enought data)<br />
* _ shot with the best gun, create a virtual wave for GF & PM, and set the wave as "true virtual wave"<br />
<br />
===Which data save?===<br />
(difference are calculate every tick, if one or more scan fail gun can try to estimate lost data)<br />
* enemy distance travelled bin from 0 to 8 (int)<br />
* enemy bearing change bin from 0 to 46 (int)<br />
* i've shot bin from 0 to 3 (int)<br />
* enemy has shot bin from 0 to 3 (int)<br />
* distance from me bin from 0 to 10 (int)<br />
* enemy life bin from 0 to 10 (int)<br />
<br />
===How find PM match?===<br />
* Look for exactly same data in an Arraylist<String> (index is tick) who contains bins indexin this form: (index bin 1).(index bin 2).ecc..<br />
if exactly match hasn't been found:<br />
* get all same data with same bin index<br />
* find the most similar results for every bin<br />
* look how much enemy has moved from the most similar result until predicted hit<br />
<br />
===How find similar result?===<br />
* sum the distance of data bins index and sum it<br />
* find the lowest sum<br />
* if there are many low sum do the same but using the distance between absolute value and not bins index<br />
<br />
I hope you have understend^^<br />
==[[User:Lestofante|lestofante]] 13:11, 26 February 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=@workgun&diff=4158@workgun2009-02-26T13:14:26Z<p>Lestofante: /* How gun works? */</p>
<hr />
<div>==@work gun==<br />
I'm thinking about this new ibrid gun, it's work is quite simple: get and save data as PM gun, but can choose if use a PM or GF targeting algoritm.<br />
===How gun works?===<br />
* _ get data<br />
* _ calculate % virtual hit on true shot using GF algorithm (at same bin distance if enought data)<br />
* _ calculate % virtual hit on true shot using PM algorithm (at same bin distance if enought data)<br />
* _ shot with the best gun, create a virtual wave for GF & PM, and set the wave as "true virtual wave"<br />
<br />
===Which data save?===<br />
(difference are calculate every tick, if one or more scan fail gun can try to estimate lost data)<br />
* enemy distance travelled bin from 0 to 8 (int)<br />
* enemy bearing change bin from 0 to 46 (int)<br />
* i've shot bin from 0 to 3 (int)<br />
* enemy has shot bin from 0 to 3 (int)<br />
* distance from me bin from 0 to 10 (int)<br />
* enemy life bin from 0 to 10 (int)<br />
<br />
===How find PM match?===<br />
* Look for exactly same data in an Arraylist<String> (index is tick) who contains bins indexin this form: (index bin 1).(index bin 2).ecc..<br />
if exactly match hasn't been found:<br />
* get all same data with same bin index<br />
* find the most similar results for every bin<br />
<br />
===How find similar result?===<br />
* sum the distance of data bins index and sum it<br />
* find the lowest sum<br />
* if there are many low sum do the same but using the distance between absolute value and not bins index<br />
<br />
I hope you have understend^^<br />
==[[User:Lestofante|lestofante]] 13:11, 26 February 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=@workgun&diff=4157@workgun2009-02-26T13:11:52Z<p>Lestofante: new gun</p>
<hr />
<div>==@work gun==<br />
I'm thinking about this new ibrid gun, it's work is quite simple: get and save data as PM gun, but can choose if use a PM or GF targeting algoritm.<br />
===How gun works?===<br />
* _ get data<br />
* _ calculate % virtual hit on true shot using GF algorithm (at same bin distance if enought data)<br />
* _ calculate % virtual hit on true shot using PM algorithm (at same bin distance if enought data)<br />
* _ shot with the best gun, create a virtual wave for GF & PM, and set the wave as "true virtual wave"<br />
<br />
===Which data save?===(difference are calculate every tick, if one or more scan fail gun can try to estimate lost data)<br />
* enemy distance travelled bin from 0 to 8 (int)<br />
* enemy bearing change bin from 0 to 46 (int)<br />
* i've shot bin from 0 to 3 (int)<br />
* enemy has shot bin from 0 to 3 (int)<br />
* distance from me bin from 0 to 10 (int)<br />
* enemy life bin from 0 to 10 (int)<br />
<br />
===How find PM match?===<br />
* Look for exactly same data in an Arraylist<String> (index is tick) who contains bins indexin this form: (index bin 1).(index bin 2).ecc..<br />
if exactly match hasn't been found:<br />
* get all same data with same bin index<br />
* find the most similar results for every bin<br />
<br />
===How find similar result?===<br />
* sum the distance of data bins index and sum it<br />
* find the lowest sum<br />
* if there are many low sum do the same but using the distance between absolute value and not bins index<br />
<br />
I hope you have understend^^<br />
==[[User:Lestofante|lestofante]] 13:11, 26 February 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Reported_Problems&diff=3793RoboRumble/Reported Problems2009-01-14T12:52:14Z<p>Lestofante: teamrumble fault</p>
<hr />
<div>==OutOfMemoryError==<br />
I'm running roborumble client version 1.5.4 on ubuntu (default VM: openJDK 1.6.0.0), and sometimes in my log I find: Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space, can someone tell me a way to grab more information about this error or a way to solve it?<br />
<br />
UPDATE: found more information<br />
<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
:at java.util.Arrays.copyOf(Arrays.java:2894)<br />
:at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)<br />
:at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)<br />
:at java.lang.StringBuilder.append(StringBuilder.java:136)<br />
:at robocode.io.Logger.log(Unknown Source)<br />
:at robocode.battle.Battle.setupRound(Unknown Source)<br />
:at robocode.battle.Battle.run(Unknown Source)<br />
:at java.lang.Thread.run(Thread.java:636)<br />
--[[User:Lestofante|lestofante]] 12:07, 4 December 2008 (UTC)<br />
<br />
To allocate more memory, you need to change "-Xmx256M" in roborumble.sh to something more like "-Xmx512M" or however much you feel comfortable allowing Java to eat. I find 512M is usually a safe value that doesn't run out of memory. --[[User:Rednaxela|Rednaxela]] 14:16, 4 December 2008 (UTC)<br />
<br />
I've followed your tip but here the another error: <br />
Fighting battle 4 ... ags.polished.PolishedRuby 1,jcs.Seth 1.8<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: GC overhead limit exceeded<br />
and another:<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
at java.util.Arrays.copyOf(Arrays.java:2882)<br />
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)<br />
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)<br />
at java.lang.StringBuilder.append(StringBuilder.java:119)<br />
at robocode.io.Logger.log(Unknown Source)<br />
at robocode.battle.Battle.setupRound(Unknown Source)<br />
at robocode.battle.Battle.run(Unknown Source)<br />
at java.lang.Thread.run(Thread.java:619)<br />
--[[User:Lestofante|lestofante]] 14:38, 10 December 2008 (UTC)<br />
<br />
<br />
One of my clients also died from an OutOfMemoryError (heap space) while running PolishedRuby against Reaper. I'm using -Xm512, which should be plenty. Most battles run fine so you may have a memory leak? --[[User:Darkcanuck|Darkcanuck]] 17:48, 10 December 2008 (UTC)<br />
<br />
I've looked into my log, the exception are launched only in battle with PolishedRuby.. The bad thing is after this error roborumble will not exit, blocking all external loop script. --[[User:Lestofante|lestofante]] 18:02, 10 December 2008 (UTC)<br />
<br />
Yeah, my client also had an out of memory error with PolishedRuby when I came back to the computer now. I find this quite odd because it's gun is an exact copy from [[RougeDC]] and the movement doesn't store any data, and yet I've never seen RougeDC get an out of memory error with -Xmx512M. The only possible cause for this I can think of is that certain battles might last longer with PolishedRuby than RougeDC and because the gun consists of a PM and two DC configs memory usage is increased in longer battles. Still though, I doubt battles last that much longer really, so I'm quite perplexed... If anyone knows of any way to profile memory usage, I'm all ears. --[[User:Rednaxela|Rednaxela]] 20:02, 10 December 2008 (UTC)<br />
<br />
GC overhead limit exceeded exception mean that java garbage collector is working about 98% of application time... try some GC monitor (VisualVM has it) --[[User:Lestofante|lestofante]] 21:17, 10 December 2008 (UTC)<br />
<br />
Well, in tests with VisualVM, I can't ever get GC overhead to exceed 20% with PolishedRuby and 10% with RougeDC (RougeDC surfs and thus eats much more cpu), so I'm not sure what's with these "98%" cases, but it does seem that the gun is causing much more GC activity than I'd like. It's looking like it's related to the data structure for the single-tick patternmatcher that's in there. I'll look into it more some time but right now I have a bunch of finals to do. --[[User:Rednaxela|Rednaxela]] 09:06, 11 December 2008 (UTC)<br />
<br />
I've deleted the old log, but if I remember well the exception is trigged only vs some robot, like jcs.Seth 1.8 (maybe your GC + enemy GC > 98%, maybe a bug trigged in particular condition). Actually this exception freeze my roborumble (switching to version 1.6.0 hasn't help), so I've excluded the bot. --[[User:Lestofante|lestofante]] 17:05, 11 December 2008 (UTC)<br />
<br />
==Bad results==<br />
Darkstorm's client has been uploading some problematic bad results in some cases such as [http://darkcanuck.net/rumble/BattleDetails?game=roborumble&name=Krabb.sliNk.Garm%200.9u&vs=skm.PateranBotlock2%201.0 here], and so has Alcatraz such as <br />
[http://darkcanuck.net/rumble/BattleDetails?game=roborumble&name=Krabb.sliNk.Garm%200.9u&vs=jk.mega.DrussGT%201.3.1 here]. I really think the server should remove and reject all 0% scores where the expected score is greater than 10%... Or just reject 0% scores like the old server did... I really don't trust the scores right now with all those bad results scattered around... --[[User:Rednaxela|Rednaxela]] 18:55, 16 December 2008 (UTC)<br />
<br />
I gave a brief try at running 1.6.2 beta 2, and the rumble gave all sorts of problems for the new SilverSurfer (post-fix). I promptly switched back to 1.5.4. I'm not sure how Alcatraz and Darkstorm are configuring their client to get the 0 scores on 1.5.4 though. I've played around with the config, and I can only get it to happen on 1.6.2b2. So maybe they upgraded and didn't change their config file? So it still says 1.5.4.... --[[User:Skilgannon|Skilgannon]] 21:10, 16 December 2008 (UTC)<br />
<br />
What are you seeing happen with SilverSurfer in 1.6.2 beta 2? I just downloaded and installed 1.6.2 Beta 2 and SilverSurfer seemed to run just fine (but I didn't do it in the rumble or give it that many trials). I highly suggest that you [http://sourceforge.net/tracker/?group_id=37202&atid=419486 report] the problems you saw so we won't be stuck with a 1.6.2 non-beta corrupting the rumble... --[[User:Rednaxela|Rednaxela]] 21:49, 16 December 2008 (UTC)<br />
<br />
stopped roborumble, toworrow i will take a look. <br />
edit: yesterday i've renstalled robocode because roborumble gave a <br />
<pre>Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsException: 0<br />
at roborumble.battlesengine.BattlesRunner.runBattles(Unknown Source)<br />
at roborumble.RoboRumbleAtHome.main(Unknown Source)</pre><br />
--[[User:Lestofante|lestofante]] 22:21, 16 December 2008 (UTC)<br />
<br />
I get that same error in 1.6.1.4 here, but it seems harmless as the results uploaded from my client are still correct, so I'm quite sure that's completely unrelated. --[[User:Rednaxela|Rednaxela]] 23:06, 16 December 2008 (UTC)<br />
<br />
Just a tip (that probably all of you know) when starting with a new client version: set UPLOAD=NOT in your roborumble file, let the client run for a while, and then check the results in your resultsfile. When bad results are there, discard the file and start using your 'old' client again. --[[User:GrubbmGait|GrubbmGait]] 06:23, 17 December 2008 (UTC)<br />
<br />
I didn't run any rumble battles on 1.6.2 beta 2, but I had problems with it, they seemed minor problems, like the paint feature doesn't quite work, and when a bot skips turns then is a pain to reload the same bot. But it didn't look stable enough for rumble battles for me. --[[User:Zyx|Zyx]] 04:59, 19 December 2008 (UTC)<br />
<br />
I'm pretty sure "when a bot skips turns then is a pain to reload the same bot" has always been the case. For me anyways that has always happened. As far as painting issues, well, [http://sourceforge.net/tracker/?group_id=37202&atid=419486 report] them! :P<br />
<br>What worries me are the SilverSurfer issues that [[User:Skilgannon|Skilgannon]] mentioned that I couldn't reproduce and I think would be important to [http://sourceforge.net/tracker/?group_id=37202&atid=419486 report]. Oh, also Speaking of the 1.6.2 Beta2 version, Beta3 was just released today, so testing should probably be on that version --[[User:Rednaxela|Rednaxela]] 05:29, 19 December 2008 (UTC)<br />
<br />
==Wrong Participant list==<br />
Er, [[User:Skilgannon|Skilgannon]] it looks like your client is using the wrong participants list (and not this wiki's one either) because it's uploading DrussGT 1.1.1. --[[User:Rednaxela|Rednaxela]] 22:59, 16 December 2008 (UTC)<br />
<br />
Yep, I started another client and it had some 1.1.1 left in the results file. But now it is trying to fill up the pairings for it, why I have no idea. My other client is behaving normally. I'll clear all the temp files... and [[Darkcanuck]]], could you re-enable removing bots from the rumble? --[[User:Skilgannon|Skilgannon]] 06:28, 17 December 2008 (UTC)<br />
<br />
: Sorry, been away for the past few weeks and my "home" client went down. Old bots have been removed and I'll look at opening up removals again in the next few days. --[[User:Darkcanuck|Darkcanuck]] 23:40, 28 December 2008 (UTC)<br />
<br />
:: Hey no worries. Thanks for all you've done with this RR server! --[[User:Rednaxela|Rednaxela]] 06:19, 29 December 2008 (UTC)<br />
<br />
: I think the wiki is down again, may be there more old problem about removing every tobots :) -- [[User:Nat|Nat]] 06:16, 30 December 2008 (UTC)<br />
<br />
Hey, why the old wiki content reseted? I need to re-enter my robot to roborumble! --[[User:Nat|Nat]] 12:57, 6 January 2009 (UTC)<br />
<br />
==Robocode 1.6.0.1 - teamrumble==<br />
I'm running robocode 1.6.0.1, windows XP 16bit, java 1.6. When I try to run teambattle my client simply freeze without error during the first battle. Someone else is having this kind of problem? --[[User:Lestofante|lestofante]] 12:52, 14 January 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Contributing_to_RoboRumble&diff=3784RoboRumble/Contributing to RoboRumble2009-01-09T21:37:23Z<p>Lestofante: layout update and little change</p>
<hr />
<div>{{:RoboRumble/Navigation}}<br />
<br />
== <b>To collaborate with RR@H</b> ==<br />
<br />
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.<br />
<br />
# 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><br />
# Edit "roborumble\roborumble.txt" file and change the Put_Your_Name_Here to your nick.<br />
# Extract all the zip-files below into the "robots" directory<br />
# 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!<br />
#* 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.<br />
# 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.<br />
# If you find problems, refer to RoboRumble related pages, or post your issue and we will try to solve it.<br />
<br />
=== Get robot database ===<br />
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:<br />
<br />
==== 1vs1 database ====<br />
get the 300 updates since ? till 20041017:<br />
* http://robowiki.net/robocode/rrath_participants.zip<br />
* http://www.krillrfiles.com/robocode/rrath_participants.zip <-- not working<br />
And get the 308 updates since 20041017 till 20070929:<br />
* http://home.versatel.nl/gheijenk/robocode/things/rrath_add_20070929.zip<br />
And get the 117 updates since 20070929 till 20080711:<br />
* http://home.versatel.nl/gheijenk/robocode/things/rrath_add_20080711.zip<br />
<br />
==== Melee database ====<br />
* http://home.versatel.nl/gheijenk/robocode/things/ParticipantsMelee_20080726.zip<br />
<br />
==== Team database ====<br />
* http://home.versatel.nl/gheijenk/robocode/things/ParticipantsTeam_20080726.zip<br />
<br />
== Problem reporting ==<br />
Issues on starting off with RoboRumble can be discussed on the [[Talk:RoboRumble/Starting With RoboRumble|talk page]].<br><br />
Old issues are archived at [[RoboRumble/StartingWithRoboRumbleOld]].<br />
<br />
== Useful options in roborumble.txt ==<br />
* "'''USER'''": Your name/handle, used for identification of your roborumble client.<br />
* "'''BATTLESPERBOT'''" is the minimum number of battles a bot needs before it stops getting priority.<br />
* "'''NUMBATTLES'''", the number of battles fought on each run of roborumble.<br />
** If you want the roborumble client to run battles indefinitely, use one of the following scripts.<br />
<br />
== Script ==<br />
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<br />
<br />
=== Batch script for Windows users ===<br />
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:<br />
<pre><br />
@echo off<br />
title RoboRumble@Home Client<br />
set count=1<br />
:run<br />
echo "Iteration number: %count%"<br />
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<br />
echo ---<br />
set /a count+=1<br />
goto run<br />
</pre><br />
<br />
=== Bash script for *nix users ===<br />
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:<br />
<pre><br />
#!/bin/bash<br />
<br />
echo # new line<br />
count=0<br />
while [ "$var1" != "fine" ] # forever<br />
do<br />
let "count=count+1"<br />
echo "battle n: " $count<br />
sh roborumble.sh &> ./log/temp$count.txt<br />
echo<br />
done <br />
<br />
exit 0<br />
</pre></div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Current_Rankings&diff=3783RoboRumble/Current Rankings2009-01-08T15:05:16Z<p>Lestofante: Current Rankings</p>
<hr />
<div>Actually stable ranking can be found [http://darkcanuck.net/rumble/ here] ([[Darkcanuck]]'s server)</div>Lestofantehttp://robowiki.net/w/index.php?title=Talk:RoboRumble/Participants&diff=3766Talk:RoboRumble/Participants2009-01-05T13:40:48Z<p>Lestofante: /* Entering rumble via infobox */</p>
<hr />
<div>== Entering rumble via infobox ==<br />
<br />
You know, it would be kinda cool if people could enter their robots in the rumble via [[Template:Infobox Robot]]. Just add the appropriate data to the box and an argument that says, effectively, "Yes, enter my bot in the rumble," and boom, it gets picked up. [[User:RobertWalker|RobertWalker]] 19:10, 12 December 2007 (UTC)<br />
<br />
: Thats sorta possible, if say, we added a category to the template then had it use that category and trace the link to the bots page and look for its jar. However thats a lot of extra skipping around, and its a realy strain on server resources to have to 'check' for these things. --[[User:Chase-san|Chase-san]] 20:07, 12 December 2007 (UTC)<br />
<br />
: A couple issues with that, though not show-stopping issues: one, we have bots in the rumble with no bot pages. (Vanessa, for instance.) Two, you don't always have your latest version in the rumble, or you have to post a temporary RRGC version or something like that. With all the little caveats, the Participants page might still be the most elegant solution. --[[User:Voidious|Voidious]] 20:13, 12 December 2007 (UTC)<br />
<br />
Is there a reason this list isn't being used for the rumble yet? Also, is there an updated zip of the rumble bots around? (Or could someone make it? :-D? I'd like to start running battles again. -- [[User:Alcatraz|Alcatraz]] 12:52, 8 December 2008 (EST)<br />
<br />
: robowiki.net is running again, but maybe is time to activate this participant list? --[[User:Lestofante|lestofante]] 13:40, 5 January 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Participants&diff=3765RoboRumble/Participants2009-01-05T13:30:25Z<p>Lestofante: </p>
<hr />
<div>{{:RoboRumble/Navigation}}<br />
<br />
----<br />
Just add your bot name ('''as appears in the Robocode selector after packaging''', so including versionnumber) and the RobocodeRepository id number separated by "," (there must be no space after the comma). Please, make sure your bot is not in the list before adding it, and delete the old version if you are adding a new one.<br />
<br />
The list is in '''alphabetical''' order. Add your bot in the right slot.<br />
<br />
'''NOTE: this list is not active yet! It will become active (and updated) as soon as the new RR@Home server is ready. Don't bother editing this list until it is active. For now, edit [http://robowiki.net/cgi-bin/robowiki?RoboRumble/Participants RoboRumble/Participants on the old wiki]'''<br />
<br />
----<br />
<pre><br />
abc.Shadow 3.83c,http://robocode.aclsi.pt/abc.Shadow_3.83c.jar<br />
abc.tron3.Tron 3.11,2205<br />
abc.Tron 2.02,241<br />
abud.ThirdRobo 1.0,2479<br />
ad.last.Bottom 1.0,1876<br />
ad.Quest 0.10,1846<br />
adt.Ar1 2.1,2254<br />
adt.Ar2 1.0,2303<br />
ag.Gir 0.99,3065<br />
agd.Mooserwirt2 2.7,http://www.glyndavies.org/robocode/agd.Mooserwirt2.jar<br />
ags.rougedc.RougeDC balance,http://homepages.ucalgary.ca/~agschult/robocode/ags.rougedc.RougeDC_balance.jar<br />
ags.woodchip.Woodchip 0.1,http://homepages.ucalgary.ca/~agschult/ags.woodchip.Woodchip_0.1.jar<br />
ahf.Acero 1.0,2151<br />
ahf.NanoAndrew .4,2002<br />
ahf.r2d2.R2d2 0.86,2035<br />
AIR.iRobot 1.0,3205<br />
ak.Fermat 2.0,799<br />
alex.Diabolo5 1.1,1506<br />
alk.lap.LoudAndProud 2.23,3601<br />
altglass.Exterminans2oo8 alpha0328,http://d-gfx.kognetwork.ch/robocode/altglass.Exterminans2oo8_alpha0328.jar<br />
altglass.Exterminans2oo8 Build0411, http://d-gfx.kognetwork.ch/robocode/altglass.Exterminans2oo8_Build0411.jar<br />
am.Miedzix 2.0,3383<br />
am.Miedzix 3.0,http://87.98.190.235/~archon/am.Miedzix_3.0.jar<br />
amarok.Rookie 1.1,422<br />
amk.ChumbaMini 0.2,2655<br />
amk.ChumbaWumba 0.3,2646<br />
amk.jointstrike.JointStrike 0.2,2597<br />
amk.ShizzleStiX.ShizzleStiX 0.6,2603<br />
amk.superstrike.SuperStrike 0.3,2600<br />
amk.Punbot.Punbot 0.01,2604<br />
ao.T100 0.9,3385<br />
ap.Frederick 1.1,http://chase.tfsnewworld.com/bots/ap.Frederick_1.1.jar<br />
apollokidd.ApolloKidd 0.9,321<br />
apv.Aspid 1.7,1412<br />
apv.AspidReloaded 0.6,1985<br />
apv.LauLectrik 1.2,1300<br />
apv.MicroAspid 1.8,2519<br />
apv.NanoLauLectrik 1.0,1399<br />
apv.NanoLauLectrikTheCannibal 1.1,2147<br />
apv.ScruchiPu 1.0,1367<br />
apv.test.Virus 0.6.1,2645<br />
apv.TheBrainPi 0.5,1484<br />
ar.horizon.Horizon 1.03,3286<br />
ar.QuantumChromodynamics 1.2.1,3220<br />
ar.TheoryOfEverything 1.2.1,3221<br />
ara.Shera 0.88,1050<br />
areb.Union 1.06,2893<br />
arthord.micro.Apoptygma 0.4,1688<br />
arthord.micro.Muffin 0.6.1,1963<br />
arthord.KostyaTszyu Beta2,2322<br />
arthord.MannyPacquiao Beta,2319<br />
arthord.NanoSatan Mu,2157<br />
arthord.NanoSatanMelee Beta,2088<br />
ary.micro.Weak 1.2,3433<br />
ary.mini.Nimi 1.0,3397<br />
ary.nano.AceSurf 1.2,3352<br />
ary.nano.ColorNanoP 1.1,3629<br />
ary.Crisis 1.0,3495<br />
ary.Help 1.0,3624<br />
ary.FourWD 1.3d,3623<br />
ary.SMG 1.01,http://ary-robocode.110mb.com/ary.SMG_1.01.jar<br />
as.xbots 1.0,http://www.millerxbots.com/as.xbots_1.0.jar<br />
asd.AntiSwap 1.0,http://www.robocode.ilbello.com/asd.AntiSwap_1.0.jar<br />
asd.Cthulhu 1.3,http://robocode.ilbello.com/asd.Cthulhu_1.3.jar<br />
asm.Statistas 0.1,1989<br />
axeBots.HataMoto 3.09,1655<br />
axeBots.Musashi 2.18,1759<br />
axeBots.Okami 1.04,2016 <br />
axeBots.SilverSurfer 2.53.33,2089<br />
baal.nano.N 1.42,http://webpages.charter.net/eleeleth/Robots/baal.nano.N_1.42.jar<br />
banshee.mini.Nexus6 0.2.0,3467<br />
banshee.micro.Nexus6 0.3.0,3473<br />
bayen.nano.Squirrel 0.2,http://www.freewebs.com/bayen/files/bayen.nano.Squirrel_0.2.jar<br />
bayen.nut.Squirrel 1.621,http://www.freewebs.com/bayen/files/bayen.nut.Squirrel_1.621.jar<br />
bayen.UbaMicro 1.4,2830<br />
bayen.UbaRamLT 1.0,2868<br />
bbo.RamboT 0.3,2210<br />
bbo.TheRoof 1.4.3,2179<br />
Bemo.Sweet30 1.6.1,http://www.stg-volleyball.de/images/Bemo.Sweet30_1.6.1.jar<br />
benhorner.PureAggression 0.2.6,3421<br />
bigpete.Stewie 1.0,2927<br />
bing2.Melody 1.3.1,http://www.ccs.neu.edu/home/bing/robocode/bing2.Melody_1.3.1.jar<br />
bjl.LoneDragon 0.5,1929<br />
bndl.LostLion 1.2,1033<br />
bons.NanoStalker 1.2,1179<br />
bp.Kuma 1.0,3238<br />
braaropolis.Abot 1.0,3292<br />
brainfade.Fallen 0.63,2250<br />
brainfade.melee.Dusk 0.44,2518<br />
bvh.fnr.Fenrir 0.36l,1428<br />
bvh.frg.Friga 0.112dev,2368<br />
bvh.fry.Freya 0.82,http://home.kpnplanet.nl/~B.van.Hest@kpnplanet.nl/jars/bvh.fry.Freya_0.82.jar<br />
bvh.hdr.Hodur 0.4,1954<br />
bvh.loki.Loki 0.5,885<br />
bvh.micro.Freya 0.3,2815<br />
bvh.micro.Svadilfari 0.2,1086<br />
bvh.mini.Fenrir 0.39,1429<br />
bvh.mini.Freya 0.55,http://home.kpnplanet.nl/~B.van.Hest@kpnplanet.nl/jars/bvh.mini.Freya_0.55.jar<br />
bvh.mini.Mjolnir 0.3,2220<br />
bvh.mini.Wodan 0.50,2064<br />
bvh.tyr.Tyr 1.74,886<br />
caimano.Furia_Ceca 0.22,1843<br />
cbot.agile.Nibbler 0.2,1537<br />
cbot.cbot.CBot 0.8,1375<br />
cf.mini.Chiva 1.0,2331<br />
cf.OldMan.OldManXP 0.1,1968<br />
cf.proto.Shiva 2.2,2409<br />
cf.star.Star2 1.23,2255<br />
ch.rhj.rbc.RHJ1 1.0,1879<br />
CharlieN.Omega.Omega 1.03,3503<br />
chase.c.Wristwatch 1.0,http://chase.tfsnewworld.com/bots/chase.c.Wristwatch_1.0.jar<br />
chase.koho.Prototype 005S,http://www.tfsnewworld.com/chase/bots/chase.koho.Prototype_005S.jar<br />
chase.g.Genesis Demo3,http://chase.tfsnewworld.com/bots/chase.g.Genesis_Demo3.jar<br />
chase.na.Seraphim 0.052c,http://www.csdgn.org/robo/chase.na.Seraphim_0.052c.jar<br />
chase.o.Orbit 0.1,http://chase.tfsnewworld.com/bots/chase.o.Orbit_0.1.jar<br />
chase.pm.Pytko 1.0,http://chase.tfsnewworld.com/bots/chase.pm.Pytko_1.0.jar<br />
chase.Velshea 1.2.0,http://chase.tfsnewworld.com/bots/chase.Velshea_1.2.0.jar<br />
chickenfuego.UrChicken2 1.0,3422<br />
cjk.Merkava 0.1.1,2637<br />
cjk.Merkava 0.2.0,2640<br />
cjk.Merkava 0.3.0,http://www.krill-labs.com/robocode/robots/cjk.Merkava_0.3.0.jar<br />
cjm.chalk.Chalk 2.5.Al,http://scatterbright.com/robots/cjm.chalk.Chalk_2.5.Al.jar<br />
cjm.Charo 1.1,http://scatterbright.com/robots/cjm.Charo_1.1.jar<br />
cjm.Che 1.2,2703<br />
cjm.Chomsky 1.5,http://scatterbright.com/robots/cjm.Chomsky_1.5.jar<br />
csm.NthGeneration 0.04,1214<br />
csp.Eagle 3.30,2436<br />
css.Delitioner 0.11,3590<br />
cx.BlestPain 1.41,1671<br />
cx.CigaretBH 1.03,1414<br />
cx.Lacrimas 1.36,1820<br />
cx.micro.Blur 0.2,2447<br />
cx.micro.Smoke 0.96,1037<br />
cx.micro.Spark 0.6,1320<br />
cx.mini.BlackSwans 0.60,1158<br />
cx.mini.Cigaret 1.31,1152<br />
cx.mini.Nimrod 0.55,1236<br />
cx.nano.Smog 2.6,1036<br />
cx.Princess 1.0,1343<br />
da.NewBGank 1.4,3312<br />
dam.MogBot 2.9,555<br />
dans.Cinnamon 1.2,1976<br />
darkcanuck.Gaff 1.30,http://jeromelavigne.ca/robocode/darkcanuck.Gaff_1.30.jar<br />
davidalves.Firebird 0.25,http://davidalves.net/robocode/robots/davidalves.Firebird_0.25.jar<br />
davidalves.Phoenix 1.02,http://davidalves.net/robocode/robots/davidalves.Phoenix_1.02.jar<br />
davidalves.PhoenixOS 1.1,http://davidalves.net/robocode/robots/davidalves.PhoenixOS_1.1.jar<br />
davidalves.net.Duelist 0.1.6src,1000<br />
davidalves.net.DuelistMicro 1.22,1144<br />
davidalves.net.DuelistMicroMkII 1.1,1281<br />
davidalves.net.DuelistMini 1.1,1181<br />
davidalves.net.DuelistNano 1.0,1272<br />
dcs.Eater_of_Worlds 1.1.3-A,2578<br />
dcs.Eater_of_Worlds_Mini 1.0,2850<br />
dcs.PM.Eater_of_Worlds_PM 1.2,2856<br />
de.erdega.robocode.Polyphemos 0.3,3549<br />
de.erdega.robocode.Polyphemos 0.4,3550<br />
deewiant.Anomaly 0.2,http://www.iki.fi/~deewiant/files/deewiant.Anomaly_0.2.jar<br />
deith.Czolgzilla 0.11,3256<br />
demetrix.ForceMajeure 0.75,http://ever-rage.narod.ru/robowiki/demetrix.ForceMajeure_0.75.jar<br />
demetrix.nano.Neutrino 0.27,http://ever-rage.narod.ru/robowiki/demetrix.nano.Neutrino_0.27.jar<br />
demetrix.nano.SledgeHammer 0.22,http://ever-rage.narod.ru/robowiki/demetrix.nano.SledgeHammer_0.22.jar<br />
dft.Calliope 5.6,237<br />
dft.Cyanide 1.90,http://www.squarefuse.com/bots/dft.Cyanide_1.90.jar<br />
dft.Cyprus 3.0,377<br />
dft.Freddie 1.32,http://www.squarefuse.com/bots/dft.Freddie_1.32.jar<br />
dft.Guppy 1.0,http://www.squarefuse.com/bots/dft.Guppy_1.0.jar<br />
dft.Immortal 1.40,http://www.squarefuse.com/bots/dft.Immortal_1.40.jar<br />
dft.Krazy 1.5,2099<br />
dft.Virgin 1.25,1447<br />
dggp.haiku.gpBot_0 1.1,3154<br />
dittman.BlindSquirl Retired,http://home.comcast.net/~kokyunage/robocode/ugluk/dittman.BlindSquirl_Retired.jar<br />
djc.Aardvark 0.3.6,652<br />
djdjdj.NanoSkunk10 1.0,http://davidjoerg.com/robocode/djdjdj.NanoSkunk10_1.0.jar<br />
dk.stable.Gorgatron 1.1,2112<br />
dks.MicroDanMK2 1.0,1691<br />
DM.Capriite 3.7.2,2989<br />
DM.Chicken 4.0,3020<br />
DM.Mijit .3,3043<br />
dmp.micro.Aurora 1.41,853<br />
dmp.nano.Eve 3.41,842<br />
donjezza.Jezza 1.0,3385<br />
donjezza.Muncho 1.0,3384<br />
drm.CobraBora 1.12,1146<br />
drm.Magazine 0.39,989<br />
ds.OoV4 0.3b,2851<br />
dsw.StaticD 1.0,2021<br />
dsx724.VSAB_EP3a 1.0,3434<br />
dsx724.VSAB_EP3_ATR 1.1,3432<br />
dukie.Ambassador 1.0,2845<br />
dummy.micro.HummingBird 2.14,369<br />
dummy.micro.Sparrow 2.5,484<br />
dummy.mini.Parakeet 2.40,400<br />
dvogon.GangBang 1.0,3193<br />
dy.LevelOne 2.0,3452<br />
dz.Caedo 1.4,1044<br />
dz.GalbaMicro 0.11,2482<br />
dz.GalbaMini 0.121,http://www.geocities.com/rationalinsanity_0t7/dz.GalbaMini_0.121.jar<br />
dz.MostlyHarmlessNano 2.1,2166<br />
dz.OthoMicro 0.12,2198<br />
dz.OthoMini 0.15,2221<br />
eat.HumblePieLite 1.0,1088<br />
ebo.Sparse 0.02,http://www.4geeks.de/files/ebo.Sparse_0.02.jar<br />
ebo.Tahoe 1.1.79,http://www.4geeks.de/files/ebo.Tahoe_1.1.79.jar<br />
el.Attackr 0.1,3366<br />
el.JumpShoot 0.2,3360<br />
el33t.EL33tGangstarr2 2.0,2069<br />
eld.Hmm 1.0,3364<br />
elloco.Flower 0.1r1,3242<br />
elloco.Kabuto 0.2r,3229<br />
emp.Yngwie 1.11,1928<br />
erdnis.Rover 0.3,http://www.free-games-fun.com/erdnis.Rover_0.3.jar<br />
et.Predator 1.8,668<br />
ethdsy.Malacka 2.4,1159 <br />
fala.robocode.FalaRobot 1.0,3474<br />
fcr.First 1.0,3362<br />
Fenix.FenixTrack 1.0,1627<br />
florent.FloatingTadpole 1.2.6,2675<br />
florent.small.LittleAngel 1.8,2917<br />
florent.test.Toad 0.14t,http://wesley3.free.fr/florent.test.Toad_0.14t.jar<br />
florent.XSeries.X2 0.17,http://wesley3.free.fr/florent.XSeries.X2_0.17.jar<br />
fm.claire 1.7,2251<br />
fm.mammillarias 1.3,2238<br />
fnc.bandit.Bandit 5.2.0,2155<br />
fnc.bandit2002.Bandit2002 4.0.2,2202<br />
frag.FragBot 1.0,1217<br />
franzor.Lizt 1.3.1,http://pages.prodigy.net/franz1/house/franzor.Lizt_1.3.1.jar<br />
fullsail.LaxativeTeaTwo 1.0,3403<br />
fullsail.TimbotNoPrediction 1.0,3374<br />
fullsail.SweetTea 1.1,3406<br />
fushi.PvP1.PvP1 2004-02-16,2023<br />
fw.Number1 1.0b,http://www.dijitari.com/void/robocode/fw.Number1_1.0b.jar<br />
geep.mini.GPBotA 1.0,2361<br />
geep.mini.GPBotB 1.1,2363<br />
germ.TheMind .2,2525<br />
gg.Squaraus 0.6,1788<br />
gg.Wolverine 2.0,34<br />
gh.GresSuffurd 0.2.11,3019<br />
gh.GrubbmGrb 1.2.4,http://home.versatel.nl/gheijenk/robocode/jarfiles/gh.GrubbmGrb_1.2.4.jar<br />
gh.GrypRepetyf 0.13,2650<br />
gh.micro.Grinnik 0.7,3208<br />
gh.micro.GrubbmThree 0.9,2444<br />
gh.mini.GrubbmOne 1.0,2395<br />
gh.mini.Gruwel 0.9,2511<br />
gh.nano.Grofvuil 0.2,2553<br />
gimp.GimpBot 0.1,2434<br />
gio.RealGioBot 1.0,2521<br />
gjr.Cephalosporin 0.2,2240<br />
gm.GaetanoA 2.15,2188<br />
goblin.Bender 2.4,1871<br />
grybgoofy.GoofyBot 0.10,2196<br />
gu.MicroScoob 1.3,2086<br />
hamilton.Hamilton 1.0,1408<br />
hirataatsushi.Neo 1.6,1081<br />
hirataatsushi.Trinity 0.003,1145<br />
Homer.Barney 1.0,1932<br />
homerbots.h1 1.0,2999<br />
hp.Athena 0.1,3415<br />
ins.MobyNano 0.8,939<br />
intruder.PrairieWolf 2.61,727<br />
jab.avk.ManuelGallegus 0.6,http://www.freewebs.com/robocode/bots/Tests/jab.avk.ManuelGallegus_0.6.jar<br />
jab.DiamondStealer 5,http://www.freewebs.com/robocode/bots/DiamondStealers/jab.DiamondStealers_5.jar<br />
jab.micro.Sanguijuela 0.8,http://www.freewebs.com/robocode/bots/Sanguijuela/jab.micro.Sanguijuela_0.8.jar<br />
janm.Jammy 1.0,3543<br />
jam.micro.RaikoMicro 1.44,1983<br />
jam.mini.Raiko 0.43,1922<br />
jam.RaikoMX 0.32,1961<br />
japs.Serenity 1.0,2217<br />
japs.Sjonniebot 0.9.1,2203<br />
jasolo.Sonda 0.55,1534<br />
jaw.Mouse 0.11,2472<br />
jaw.KarenCain 0.11,2474<br />
jaybot.adv.bots.JayBot 2.0,2853<br />
jaybot.bots.Oddball 4.0,2854<br />
jbot.Rabbit2 1.1,http://quiet.ath.cx/~quiet/robocode/jbot.Rabbit2_1.1.jar<br />
jcs.AutoBot 4.2.1,2616<br />
jcs.Decepticon 2.5.3,2620<br />
jcs.Megatron 1.2,2632<br />
jcs.Seth 1.8,2427<br />
jcw.ArcherOne 1.0,http://www.geocities.com/vaguelight/jcw.ArcherOne_1.0.jar<br />
jekl.DarkHallow .90.9,2296<br />
jekl.Jekyl .70,1837<br />
jekl.mini.BlackPearl .91,1875<br />
jep.nano.Hawkwing 0.4.1,1561<br />
jep.nano.Hotspur 0.1,1877<br />
jep.Terrible 0.4.1,1536<br />
jgap.JGAP12584 1.0,3383<br />
jgap.JGAP130166 1.0,3371<br />
jgap.JGAP23423 1.0,3378<br />
jgap.JGAP6139 1.0,3372<br />
jgap.JGAP7247_2 1.0,3382<br />
jgap.JGAP7958 1.0,3373<br />
jje.BagPuss 1.2,2582<br />
jk.mega.DrussGT 1.3.1,http://www.minifly.rchomepage.com/robocode/jk.mega.DrussGT_1.3.1.jar<br />
jk.micro.Connavar 0.1.1,http://www.minifly.rchomepage.com/robocode/jk.micro.Connavar_0.1.1.jar<br />
jk.micro.Toorkild 0.1.1,http://www.minifly.rchomepage.com/robocode/jk.micro.Toorkild_0.1.1.jar<br />
jk.mini.Cunobelin 0.2.2,http://www.minifly.rchomepage.com/robocode/jk.mini.Cunobelin_0.2.2.jar<br />
jk.nano.Machete 0.4,http://www.minifly.rchomepage.com/robocode/jk.nano.Machete_0.4.jar<br />
jk.nano.Olek 0.1.0,http://www.minifly.rchomepage.com/robocode/jk.nano.Olek_0.1.0.jar<br />
jk.Waylander 0.3.7,http://www.minifly.rchomepage.com/robocode/jk.Waylander_0.3.7.jar<br />
jmcd.BeoWulf 2.8,1377<br />
joe.ADinosaur 1.0,2822<br />
jp.Perpy 16.0,3001<br />
jp.SineWall 1.0,2968<br />
js.PinBall 1.6,684<br />
jt.SpearmintCT Alpha,2164<br />
jw.Booring 1.11,1250<br />
kanishk.Fr0z3n 1.1,2899<br />
kano.gamma.KanoGamma 1.8,1098<br />
kawam.kmBot9 1.0,967<br />
kawigi.f.FhqwhgadsMicro 1.0,1673<br />
kawigi.micro.Shiz 1.1,2007<br />
kawigi.mini.Coriantumr 1.1,1988<br />
kawigi.mini.Fhqwhgads 1.1,1604<br />
kawigi.nano.FunkyChicken 1.1,1512<br />
kawigi.nano.ThnikkaBot 0.9,2059<br />
kawigi.robot.Girl 1.2,2124<br />
kawigi.sbf.Barracuda 1.0,1535<br />
kawigi.sbf.FloodHT 0.9.2,1552<br />
kawigi.sbf.FloodMicro 1.5,1381<br />
kawigi.sbf.FloodMini 1.4,1462<br />
kawigi.sbf.FloodNano 1.2,1421<br />
kawigi.sbf.FloodSonnet 0.9,1779<br />
kawigi.sbf.Teancum 1.3,1470<br />
kawigi.spare.SpareParts 0.7.6nosnd,1335<br />
kc.micro.Needle 0.101,3379<br />
kc.micro.Thorn 1.142,http://www.cs.utexas.edu/users/pclark/kc.micro.Thorn_1.142.jar<br />
kc.micro.WaveShark 0.3,http://www.cs.utexas.edu/users/pclark/kc.micro.WaveShark_0.3.jar<br />
kc.mini.Vyper 0.311,http://www.cs.utexas.edu/users/pclark/kc.mini.Vyper_0.311.jar<br />
kc.nano.Splinter 1.2,http://www.cs.utexas.edu/users/pclark/kc.nano.Splinter_1.2.jar<br />
kc.serpent.Hydra 0.21,http://www.cs.utexas.edu/users/pclark/kc.serpent.Hydra_0.21.jar<br />
kc.serpent.WaveSerpent 1.4,http://www.cs.utexas.edu/users/pclark/kc.serpent.WaveSerpent_1.4.jar<br />
kcn.percept.PerceptBot 2.3,1075<br />
kcn.unnamed.Unnamed 1.21,1969<br />
kid.Gladiator .7.2,http://www.citlink.net/~normanp/robocode/gladiator/kid.Gladiator_.7.2.jar<br />
kid.Toa .0.1,http://www.citlink.net/~normanp/robocode/toa/kid.Toa_.0.1.jar<br />
kinsen.melee.Angsaichmophobia 1.8c,http://geocities.com/seakinsen1/robocode/kinsen.melee.Angsaichmophobia_1.8c.jar<br />
kinsen.nano.Hoplomachy 1.6,http://geocities.com/seakinsen1/robocode/kinsen.nano.Hoplomachy_1.6.jar<br />
kinsen.nano.Quarrelet 1.0,http://geocities.com/seakinsen1/robocode/kinsen.nano.Quarrelet_1.0.jar<br />
kinsen.nano.Senticous 1.0,http://geocities.com/seakinsen1/robocode/kinsen.nano.Senticous_1.0.jar<br />
kjc.etc.Dharok 1.0,3293<br />
kjc.MailManX 2.0,3288<br />
kjc.Karaykan 1.0,3289<br />
klein.GottesKrieger 1.1,3258<br />
Krabb.fe4r.Fe4r 0.4,2766<br />
Krabb.sliNk.Garm 0.9u,http://designnj.de/roboking/Krabb.sliNk.Garm_0.9u.jar<br />
Krabb.krabby.Krabby 1.18b,http://designnj.de/roboking/Krabb.krabby.Krabby_1.18b.jar<br />
Krabb.krabby2.Krabby2 1.9o,http://designnj.de/robocode/Krabb.krabby2.Krabby2_1.9o.jar<br />
krillr.mini.JointStrike 2.0.0,http://robocode.krillrsoft.com/releases/krillr.mini.JointStrike_2.0.0.jar<br />
krillr.mega.Psyche 0.0.3,http://robocode.krillrsoft.com/releases/krillr.mega.Psyche_0.0.3.jar<br />
krzysiek.robbo2.Robbo 1.0.0,1885<br />
kurios.DOSexe .9a,http://www.kuriosly.com/roborumble/kurios.DOSexe_.9a.jar<br />
kvk.HebusLeTroll 0.41,2125<br />
labg.Cataclysm 2.05,2399<br />
leb.ShootAnArrow 0.1,2648<br />
lechu.Ala 0.0.4,3497<br />
lechu.Lechu 1.1,3480<br />
lion.Kresnanano 1.0,2295<br />
lk.nano.Avesnar 1.1,1597<br />
lorneswork.Predator 1.0,2609<br />
lrem.Spectre 0.4.4,2253<br />
lrem.magic.TormentedAngel Alpha,http://maxnet.org.pl/~lrem/lrem.magic.TormentedAngel_Alpha.jar<br />
lrem.micro.MoggFanatic 0.2,2639<br />
lrem.micro.FalseProphet Alpha,2415<br />
lrem.quickhack.QuickHack 1.0,2555<br />
lunchie.Lunchbox 0.93,2594<br />
lw.LuthersTest 0.1,http://www.citlink.net/~normanp/robocode/luther/lw.LuthersTest_0.1.jar<br />
m3thos.Eva00 1.1,233<br />
m3thos.Eva02 0.7.1,http://escher.ist.utl.pt/miguel/robocode/m3thos.Eva02_0.7.1.jar<br />
m3thos.mini.Eva01 0.5.5,322<br />
madmath.Cow 0.1.1,3476<br />
marcinek.TopGun 1.3,3458<br />
marksteam.Phoenix 1.0,2749<br />
matt.advanced.Katana 1.0,2498<br />
matt.BlueMind 0.8.00,2685<br />
matt.UnderDark3 2.4.34,2485<br />
matt.UnderDark4 0.4.00,2644<br />
mbh.Mbh 0.1,3365<br />
mbro.BelajarBot 0.0.3,2471<br />
mbro.Detektor3 0.1.1,2478<br />
mc.Messapia 0.1.8,2223<br />
mcb.Audace 1.3,3424<br />
md.November 1.0,1004<br />
md.Pasta 1.1,1014<br />
md.VelociRaptor 1.3,232<br />
mdouet.BotKicker 2.0,1478<br />
metal.small.MCool 1.21,1698<br />
metal.small.dna2.MCoolDNA 1.5,2354<br />
mk.Alpha 0.2.1,http://coloelja.xs4all.nl/~mkruisselbrink/robocode/mk.Alpha_0.2.1.jar<br />
mladjo.AIR 0.7,3187<br />
mladjo.GnuKlub 0.1,3145<br />
mladjo.Grrrrr 0.9,3189<br />
mladjo.iRobot 0.3,3149<br />
mladjo.Startko 1.0,3186<br />
mld.Infinity 2.1,839<br />
mld.Moebius 2.3,3433<br />
mld.Tide 1.1,3451<br />
mmb.Roskilde 0.2,3506<br />
mme.NikeEnhanced 2.0,2828<br />
mn.Combat 1.0,2351<br />
mn.WarMachine 1.1,2574<br />
mnt.AHEB 0.6a,2417<br />
mnt.SurferBot 0.2.5,2433<br />
morbid.MorbidPriest 1.0,1758<br />
mrm.MightyMoose .2,http://www.magnusmoose.com/mmoose/trunk/mrm.MightyMoose.jar<br />
ms.Ares 0.19,730<br />
mue.Ascendant 1.2.27,http://mue.sonar-echo.de/robocode/mue.Ascendant_1.2.27.jar<br />
mue.Hyperion 0.8,2224<br />
muf.CrazyKitten 0.9,1946<br />
mwj.A1176183 1.0,http://robocode.rleach.id.au/mwj.A1176183_1.0.jar<br />
myl.micro.Avipes 1.00,1347<br />
myl.micro.NekoNinja 1.30,944<br />
myl.micro.Predator 1.50,1097<br />
myl.micro.Troodon 1.10,1226<br />
myl.nano.Graviton 1.10,770<br />
myl.nano.Kakuru 1.20,1330<br />
myl.nano.KomoriNinja 1.1,978<br />
mz.Adept 2.65,2090<br />
mz.AdeptBSB 1.03,2113<br />
mz.Movement 1.8,2145<br />
mz.NanoDeath 2.56,2010<br />
mz.NanoGod 2.02,1996<br />
nammyung.ModelT 0.23,969<br />
nanoskank.NanoSkank 1.0,3204<br />
nat.Carola 0.3,3474<br />
ndn.DyslexicMonkey 1.1,1141<br />
ne.Chimera 1.2,3276<br />
nexus.One 1.0,3240<br />
nexus.Prototype 1.0,3228<br />
nic.Nicator 2.4,193<br />
nic.SnippetBot 1.0,286<br />
non.mega.NaN 0.1,1960<br />
non.mega.NoName 0.0,1957<br />
Noran.BitchingElk 0.054,1855<br />
Noran.RandomTargeting 0.02,1849<br />
ntc.Evader 1.2,3355<br />
ntc.Knowledge 1.1,3354<br />
ntc.Lasers.Lasers 0.9,3359<br />
ntc.Plains 0.9,3381<br />
ntw.Sighup 1.5,2378<br />
ntw.Sigsys 1.6,2379<br />
nz.jdc.micro.HedgehogGF 1.3,3626<br />
nz.jdc.micro.HedgehogP 1.2,3622<br />
nz.jdc.nano.NeophytePattern 1.0,3578<br />
nz.jdc.nano.NeophytePRAL 1.2,3568<br />
nz.jdc.nano.NeophyteSRAL 1.2,3567<br />
oa.weak.BotherBot 0.1,2956<br />
oa.weak.FlyMk1 0.1,2958<br />
ola.Puffin 1.0,3380<br />
pa.Improved 1.1,3557<br />
pak.JakeTheTestingRobot .1b,3373<br />
pak.Dargon 1.0b,3388<br />
pak.Dargon .2c,3389<br />
paolord.TheHulk 1.0,3595<br />
patson.PatsonTestBot 1.0,3324<br />
pb.Oscillator 1.0,2070<br />
pe.mini.SandboxMini 1.2,917<br />
pe.minimelee.SandboxMiniMelee 1.1,934<br />
pe.SandboxDT 3.02,793<br />
pe.SandboxLump 1.52,731<br />
pedersen.Banzai 0.8,http://home.comcast.net/~kokyunage/robocode/pedersen.Banzai_0.8.jar<br />
pedersen.Grishnakh 1.0,http://home.comcast.net/~kokyunage/robocode/grishnakh/pedersen.Grishnakh_1.0.jar<br />
pedersen.Hubris beta.3,http://home.comcast.net/~kokyunage/robocode/hubris/pedersen.Hubris_beta.3.jar<br />
pedersen.Moron 2.0,http://home.comcast.net/~kokyunage/robocode/ugluk/pedersen.Moron_2.0.jar<br />
pedersen.Ugluk 1.0,http://home.comcast.net/~kokyunage/robocode/ugluk/pedersen.Ugluk_1.0.jar<br />
pez.clean.Swiffer 0.2.9,1883<br />
pez.frankie.Frankie 0.9.6.1,1565<br />
pez.gloom.GloomyDark 0.9.2,1741<br />
pez.mako.Mako 1.5,1317<br />
pez.micro.Aristocles 0.3.7,1923<br />
pez.mini.ChironexFleckeri 0.5,2513<br />
pez.mini.Gouldingi 1.5,1351<br />
pez.mini.Pugilist 2.4.18,http://bots.pezius.com/pez.mini.Pugilist_2.4.18.jar<br />
pez.mini.Tityus 0.9.1,1657<br />
pez.mini.VertiLeach 0.4.0,1744<br />
pez.nano.Icarus 0.3,2353<br />
pez.rumble.Ali 0.4.9,2416<br />
pez.rumble.CassiusClay 2rho.01b,http://www.dijitari.com/void/robocode/pez.rumble.CassiusClay_2rho.01b.jar<br />
pfvicm.Sobieski 7.2.3b,2911<br />
ph.micro.Pikeman 0.4.5,2364<br />
ph.mini.Archer 0.6.6,2326<br />
ph.musketeer.Musketeer 0.6,2281<br />
ph.Thinker 0.2.5,2336<br />
pi.Dark 10,1516<br />
pla.Memnoch 0.5,2211<br />
PK.Twardy 0.4.2,3272<br />
pmc.SniperBot 1.0,http://padster.webpal.info/pmc.SniperBot_1.0.jar<br />
projectx.ProjectNano 2.0,3407<br />
projectx.TestNano 1.0,3444<br />
pulsar.PulsarMax 0.8.9,2227<br />
pulsar.PulsarNano 0.2.4,2335<br />
pulsar.Nanis 0.3,2560<br />
qohnil.blot.BlotBot 3.61,546<br />
Queens_teamrobot.UltraRazor 1.0,2108<br />
quietus.Invader 0.1,http://robocode.rleach.id.au/quietus.Invader_0.1.jar<br />
quietus.NarrowRadar 0.1,http://robocode.rleach.id.au/quietus.NarrowRadar_0.1.jar<br />
radnor.DoctorBob 1.42,2133<br />
radnor.RamRod 1.0,2085<br />
rapture.Rapture 2.13,15<br />
ratosh.nano.Debo 1.36,1702<br />
ratosh.Nobo 0.21,1612<br />
ratosh.Wesco 1.4,1914<br />
rc.yoda.Yoda 1.0.6c,3260<br />
rcb.Vanessa03 0,1364<br />
rcp.Kuramatron 1.0,3307<br />
rdt199.Warlord 0.73,1130<br />
reaper.Reaper 1.1,3412<br />
repositorio.NanoStep 1.0,2993<br />
rfj.Sunburn 1.1,1060<br />
rijteam.SmartDodge 1.1,2959<br />
robar.micro.Kirbyi 1.0,http://hunrobar.freeblog.hu/files/myrobots/robar.micro.Kirbyi_1.0.jar<br />
robar.nano.Assertive 0.3,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Assertive_0.3.jar<br />
robar.nano.Breeze 0.3,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Breeze_0.3.jar<br />
robar.nano.Mosquito 1.1,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Mosquito_1.1.jar<br />
robar.nano.Pugio 1.2,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Pugio_1.2.jar<br />
robar.nano.Scytodes 0.3,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.Scytodes_0.3.jar<br />
robar.nano.THe_DaRK_BRoTHeR 0.3,http://hunrobar.freeblog.hu/files/myrobots/robar.nano.THe_DaRK_BRoTHeR_0.3.jar<br />
rsk1.RSK1 4.0,3284<br />
ruc.nano.Zealot 0.2,1229<br />
ry.LightningBug 1.0,http://sites.google.com/site/rbtying/Home/ry.LightningBug_1.0.jar?attredirects=0<br />
rz.Aleph 0.34,1993<br />
rz.Apollon 0.23,2098<br />
rz.Artist 0.2,2156<br />
rz.GlowBlow 2.31,1354<br />
rz.GlowBlowAPM 1.0,1382<br />
rz.GlowBlowMelee 1.4,1436<br />
rz.HawkOnFire 0.1,1575<br />
rz.SmallDevil 1.502,1322<br />
sam.ChipmunkDuelist 1.0,3094<br />
sam.Samspin 1.0,2823<br />
sch.Simone 0.3d,374<br />
serenity.moonlightBat 1.17,2877<br />
serenity.nonSense 1.39,3586<br />
serenity.serenityFire 1.29,3071<br />
sgp.JollyNinja 3.53,183<br />
sgp.MadHatter 4.13,156<br />
sgp.nano.FurryLeech 1.0,802<br />
sgp.ShiningBeetle 1.1,498<br />
sgp.SleepingGoat 1.1,500<br />
sgs.DogManSPE 1.1,990<br />
shinh.Entangled 0.3,1070<br />
shrub.Silver v048,449<br />
shrub.Vapour v159,2654<br />
shu.nitro.LENIN .T34,1956<br />
sigterm.Sigterm 1.0,2428<br />
simonton.beta.LifelongObsession 0.5.1,3195<br />
simonton.GFNano_D 3.1b,3114<br />
simonton.nano.WeekendObsession_S 1.7,3117<br />
simonton.mega.SniperFrog 1.0,http://upload.frozenonline.com/view/simonton/simonton.mega.SniperFrog_1.0.jar<br />
simonton.micro.GFMicro 1.0,http://upload.frozenonline.com/view/simonton/simonton.micro.GFMicro_1.0.jar<br />
simonton.micro.WeeklongObsession 3.4.1,http://upload.frozenonline.com/view/simonton/simonton.micro.WeeklongObsession_3.4.1.jar<br />
simonton.mini.WeeksOnEnd 1.10.4,http://upload.frozenonline.com/view/simonton/simonton.mini.WeeksOnEnd_1.10.4.jar<br />
skm.Ryubot 1.0,3594<br />
skm.PateranBotlock2 1.0,3591<br />
sL300.Mozart life,1992<br />
sm.Devil 7.3,1481<br />
sng.arco.Arco 0.0,3279<br />
sos.SOS 1.0,3489<br />
sqTank.waveSurfing.LionWWSVMvoid 0.01,3436<br />
starpkg.StarViewerZ 1.26,1931<br />
stefw.Tigger 0.0.23,http://uk.geocities.com/westenstefan/stefw.Tigger_0.0.23.jar<br />
stelo.Chord 1.0,http://www.geocities.com/stelokim/robots/stelo.Chord_1.0.jar<br />
stelo.FretNano 1.1,http://www.geocities.com/stelokim/robots/stelo.FretNano_1.1.jar<br />
stelo.Lifestealer 1.0,2987<br />
stelo.MatchupMini 1.1,http://www.geocities.com/stelokim/robots/stelo.MatchupMini_1.1.jar<br />
stelo.MatchupMicro 1.2,http://www.geocities.com/stelokim/robots/stelo.MatchupMicro_1.2.jar<br />
stelo.MatchupAGF 1.1,http://www.geocities.com/stelokim/robots/stelo.MatchupAGF_1.1.jar<br />
stelo.MatchupWS 1.2c,http://www.geocities.com/stelokim/robots/stelo.MatchupWS_1.2c.jar<br />
stelo.Mirror 1.1,3034<br />
stelo.MirrorMicro 1.1,http://www.geocities.com/stelokim/robots/stelo.MirrorMicro_1.1.jar<br />
stelo.MirrorNano 1.4,http://www.geocities.com/stelokim/robots/stelo.MirrorNano_1.4.jar<br />
stelo.MoojukNano 1.2,http://www.geocities.com/stelokim/robots/stelo.MoojukNano_1.2.jar<br />
stelo.PastFuture 1.2a,http://www.geocities.com/stelokim/robots/stelo.PastFuture_1.2a.jar<br />
stelo.PatternRobot 1.0,2995<br />
stelo.PianistNano 1.3,http://www.geocities.com/stelokim/robots/stelo.PianistNano_1.3.jar<br />
stelo.RamTrackSurfer 1.2,http://www.geocities.com/stelokim/robots/stelo.RamTrackSurfer_1.2.jar<br />
stelo.Randomness 1.1,3021<br />
stelo.SteloTestNano 1.0,http://www.geocities.com/stelokim/robots/stelo.SteloTestNano_1.0.jar<br />
stelo.UnfoolableNano 1.0,http://www.geocities.com/stelokim/robots/stelo.UnfoolableNano_1.0.jar<br />
stelo.UntouchableNano 1.4,http://www.geocities.com/stelokim/robots/stelo.UntouchableNano_1.4.jar<br />
step.nanoPri 1.0,2996<br />
step.NanoBidu 1.0,3014<br />
stf.PanzerGeneral 0.1,2233<br />
strider.Festis 1.2.1,2355<br />
strider.Mer 1.1.0,2360<br />
sul.NanoR2 1.32,3348<br />
sul.Pinkbot 1.1,3346<br />
sul.Bicephal 1.2,3343<br />
sul.BlueBot 1.0,3347<br />
syl.Centipede 0.5,1254<br />
synnalagma.NeuralPremier 0.51,1557<br />
synnalagma.test.MiniNeural 1.1,1754<br />
tad.Dalek98 0.98,1440<br />
takeBot.SpinSpiral 1.2,312<br />
takeBot.SpiralCrash 1.0,1013<br />
takeBot.WeavingWiggle 1.1,1012<br />
tango.Recrimpo 2.51,2015<br />
taqho.taqbot 1.0,1316<br />
tcf.Drifter 29,http://www.7sun.com/robocode/robots/tcf.Drifter_29.jar<br />
tcf.Repat3 2,3328<br />
techdude.kombat.FlamingKombat 1.5,2810<br />
techdude.Carruthers 1.2.6,http://thekandieman.com/nfwu/alex/robocode/techdude.Carruthers_1.2.6.jar <br />
techdude.Class2C.Class2C 0.1,3078<br />
test.Podgy 4.0,3214<br />
test.Fuzzer 1.0.1,3345<br />
throxbot.ThroxBot 0.1,2548<br />
tide.pear.Pear 0.62.1,2393<br />
timmit.micro.TimXJ 0.22,1683<br />
timmit.mini.TimVA 0.43,1681<br />
timmit.nano.TimCat 0.13,1600<br />
timmit.nano.TimDog 0.33,1602<br />
timmit.TimmiT 0.22,1468<br />
tlp.ThreeLeggedPig 1,http://pages.prodigy.net/franz1/house/tlp.ThreeLeggedPig_1.jar<br />
tm.Yuugao 1.0,1056<br />
tobe.calypso.Calypso 4.1,784<br />
tobe.Fusion 1.0,649<br />
tobe.mini.Charon 0.9,836<br />
tobe.Relativity 3.9,360<br />
tobe.Saturn lambda,685<br />
tornyil.bottomup.BottomUp 1.05,http://www.alpha-consulting.hu/robo/tornyil.bottomup.BottomUp_1.05.jar<br />
tornyil.Lajcsi2.Lajcsi2sm 1.0,http://www.alpha-consulting.hu/robo/tornyil.Lajcsi2.Lajcsi2sm_1.0.jar<br />
toz.Gnome 1.1,http://www.stud.ntnu.no/~steffent/arkiv/robot/files/toz.Gnome_1.1.jar<br />
trab.Crusader 0.1.7,http://www.stud.ntnu.no/~grashei/bots/trab.Crusader_0.1.7.jar<br />
trab.nano.AinippeNano 1.3,http://www.stud.ntnu.no/~grashei/bots/trab.nano.AinippeNano_1.3.jar<br />
tzu.TheArtOfWar 1.2,689<br />
urdos.URDOS 1.3,http://www.hci.sg/~y05hci409/urdos.URDOS_1.3.jar<br />
usa.nano.Nemo 2.0,2045<br />
vic.Locke 0.7.5.5,2115<br />
vft.Valkyrie 1.0,3009<br />
vft.Hrist 1.0,http://www.geocities.com/flarebringer/Robocode/vft.Hrist_1.0.jar<br />
voidious.Dookious 1.573c,http://www.dijitari.com/void/robocode/voidious.Dookious_1.573c.jar<br />
voidious.Lukious 1.321,http://www.dijitari.com/void/robocode/voidious.Lukious_1.321.jar<br />
voidious.micro.Jen 1.087,http://www.dijitari.com/void/robocode/voidious.micro.Jen_1.087.jar<br />
voidious.mini.Komarious 1.78b,http://www.dijitari.com/void/robocode/voidious.mini.Komarious_1.78b.jar<br />
vuen.Fractal 0.55,1579<br />
wcsv.Engineer.Engineer 0.5.4,http://www.lehigh.edu/~wcs204/RoboCode/wcsv.Engineer.Engineer_0.5.4.jar<br />
wcsv.PowerHouse.PowerHouse 1.7e3,http://www.lehigh.edu/~wcs204/RoboCode/wcsv.PowerHouse.PowerHouse_1.7e3.jar<br />
wcsv.mega.PowerHouse2 0.2,http://www.lehigh.edu/~wcs204/RoboCode/wcsv.mega.PowerHouse2_0.2.jar<br />
wcsv.Stampede 1.3.3,2527<br />
wcsv.Stampede2.Stampede2 1.1.0,2714<br />
whind.Constitution 0.7.1,2812<br />
whind.Strength 0.6.4,http://whindgames.50webs.com/otherstuff/whind.Strength_0.6.4.jar<br />
whind.StrengthBee 0.6.4,http://whindgames.50webs.com/otherstuff/whind.StrengthBee_0.6.4.jar<br />
whind.Wisdom 0.5.1,2742<br />
wiki.BasicGFSurfer 1.01,http://home.versatel.nl/gheijenk/robocode/jarfiles/wiki.BasicGFSurfer_1.01.jar<br />
wiki.mako.MakoHT 1.2.2.1,1374<br />
wiki.mini.BlackDestroyer 0.9.0,1927<br />
wiki.mini.GouldingiHT 1.0,1383<br />
wiki.mini.Griffon 0.1,1774<br />
wiki.mini.Sedan 1.0,1676<br />
wiki.nano.DevilFISH 1.0,2235<br />
wiki.nano.RaikoNano 1.1,2163<br />
wiki.Wolverine 2.1,http://chase.tfsnewworld.com/bots/wiki.Wolverine_2.1.jar<br />
wilson.Chameleon 0.91,1608<br />
winamp32.micro.MicroMacro 1.0,2891<br />
wit.Chuliath 1.0,2306<br />
wit.Deep7 2.0,2313<br />
yarghard.Y101 1.0,http://sliwa.ws/RoboCode/yarghard.Y101_1.0.jar<br />
yk.JahMicro 1.0,3033<br />
yk.JahRoslav 1.1,3032<br />
zen.Lindada 0.2,1679<br />
zeze2.OperatorZeze 1.05,3330<br />
zch.David 0.21,3575<br />
zch.Hirkan 0.11,1288<br />
zh.UnderDog 0.0.2,3053<br />
zyx.micro.Ant 1.1,3481<br />
zyx.nano.Ant 1.0,3480<br />
zyx.newton.Newton 1.0,3479<br />
</pre><br />
----<br />
'''''No chatting on this page. Use the /ParticipantsChat page for that.'''''</div>Lestofantehttp://robowiki.net/w/index.php?title=New_Years&diff=3721New Years2009-01-01T21:06:48Z<p>Lestofante: </p>
<hr />
<div>I guess it's also time to start this page too :)<br />
http://www.timeanddate.com/counters/multicountdown.html has countdown to the New Year<br />
(In one place it's about 5 hours left :O, where i live is about 27 hours)<br />
Also, the [[Chronicle of 2008]]<br />
--[[Starrynte]] 04:24, 31 December 2008 (UTC)<br />
<br />
Happy NewYear everybody !! It is my fifth time here (ok, also counted on the old wiki) to do so, and I have seen many robocoders coming and even more leaving. I hope that I still can give the best wishes to some current robocoders over 5 year. Still 5 hours left though in this year. --[[User:GrubbmGait|GrubbmGait]] 17:57, 31 December 2008 (UTC)<br />
<br />
OK, many place (but not my place) had enter 2009. 10 hours left (UTC), use it at your own risk! (I think I will write a last nano-bot of this year :)) This page is hard to find (if you don't look at Recent changes link :)). -- [[User:Nat|Nat]] 14:05, 31 December 2008 (UTC)<br />
<br />
Let's celebrated the last robot of this year: (please don't stole my position!, I know I can't post robot on 23:59:59)<br />
<pre><br />
package nat.nano;<br />
<br />
import robocode.AdvancedRobot;<br />
import robocode.RobotDeathEvent;<br />
import robocode.ScannedRobotEvent;<br />
import robocode.util.Utils;<br />
<br />
public class NewYear09 extends AdvancedRobot {<br />
static double xForce;<br />
static double yForce;<br />
static String target;<br />
<br />
public void run() {<br />
setAdjustGunForRobotTurn(true);<br />
turnRadarRightRadians(Double.POSITIVE_INFINITY);<br />
}<br />
<br />
public void onScannedRobot(ScannedRobotEvent e) {<br />
double absoluteBearing, distance;<br />
xForce = xForce<br />
* .9<br />
- Math.sin((absoluteBearing = e.getBearingRadians()<br />
+ getHeadingRadians())) / (distance = e.getDistance());<br />
yForce = yForce * .9 - Math.cos(absoluteBearing) / distance;<br />
setTurnRightRadians(Utils.normalRelativeAngle(Math.atan2(xForce + 1<br />
/ getX() - 1 / (getBattleFieldWidth() - getX()), yForce + 1<br />
/ getY() - 1 / (getBattleFieldHeight() - getY()))<br />
- getHeadingRadians()));<br />
setAhead(Double.POSITIVE_INFINITY);<br />
setMaxVelocity(420 / getTurnRemaining());<br />
<br />
if ((target == null || target.equals(e.getName()) && getGunHeat() < 1)) {<br />
target = e.getName();<br />
setTurnRadarLeftRadians(getRadarTurnRemaining());<br />
<br />
setTurnGunRightRadians(Utils.normalRelativeAngle(absoluteBearing<br />
- getGunHeadingRadians()<br />
+ Math.asin(e.getVelocity()<br />
* Math.sin(e.getHeadingRadians() - absoluteBearing)<br />
/ 12.5)));<br />
<br />
if (setFireBullet(2.5D) != null)<br />
target = null;<br />
}<br />
}<br />
<br />
public void onRobotDeath(RobotDeathEvent e) {<br />
target = null;<br />
}<br />
}<br />
</pre><br />
(RoboWiki is down so I can't enter RoboRumble)<br />
<br />
This robot move [[Anti-Gravity Movement]] (the [[DustBunny]] One) and fire [[LinearTargeting]]. The enemy choosing is one from [[SwodniwMR]].<br />
<br />
--[[User:Nat|Nat]] 14:41, 31 December 2008 (UTC)<br />
<br />
Happy new years everyone! 12.5 hours to go here! --[[User:Rednaxela|Rednaxela]] 18:26, 31 December 2008 (UTC)<br />
<br />
10 minutes to go ! See you all in my 'comeback year' --[[User:GrubbmGait|GrubbmGait]] 22:51, 31 December 2008 (UTC)<br />
<br />
3.5 hours to go, unlikely to be able to come back so this is my last post of 2008 I guess XD --[[Starrynte]] 04:27, 1 January 2009 (UTC)<br />
<br />
It's 2009! Happy new years everybody! --[[User:Rednaxela|Rednaxela]] 07:49, 1 January 2009 (UTC)<br />
<br />
Happy New Year's, Robocoders! :-) --[[User:Voidious|Voidious]] 18:24, 1 January 2009 (UTC)<br />
<br />
Happy New Year! --[[User:Darkcanuck|Darkcanuck]] 18:39, 1 January 2009 (UTC)<br />
<br />
Happy new year from Italy --[[User:Lestofante|lestofante]] 21:06, 1 January 2009 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Antiswapgun&diff=3696Antiswapgun2008-12-29T20:00:29Z<p>Lestofante: new bot</p>
<hr />
<div>==AntiSwapGun==<br />
I've test a head-on gun on a basic swap movement; no one bullet follow the right heading cause robot's spin. so I've grub [[futurePosition]] and used to predict my next tick position, and eventually correct the gun bearing. Wow, now bullet follow the right path. Then I've modified Albert's future position class to predict enemy movement, and created a liner gun (actually don't predict spin but can be easily implemented).<br />
When old wiki will be online (yeah, actually is down!) I will put this test robot in roborumble, I think it will be ranked about 300, and I will improve it to be the base for my next robots and try new trick.<br />
I'm sure the "precise shot" will be very usefully for all guns (first of all GF and simple targeting method), specially when enemy is moving in opposite direction or our bot is always on move. Also if we now the right path of our bullet is easier for our team mate evade it.<br />
<br />
Code is under [[RWPCL]].<br />
<br />
===Version 1.0===<br />
# precise prediction<br />
# precise shot<br />
# linear gun<br />
# virtual bullet<br />
# spin movement, no wall avoidance<br />
# paint wave<br />
# paint enemy future position<br />
<br />
===TO DO===<br />
# Extend TeamRobotPeer?<br />
# Wash the code :-)<br />
# Comment the code<br />
# Something else<br />
# Reduce codesize<br />
# Enemy's shot listener?<br />
<br />
You can [http://www.robocode.ilbello.com/asd.AntiSwap_1.0.jar download jar + source], comment and helps are welcome.</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Reported_Problems&diff=3633RoboRumble/Reported Problems2008-12-16T22:27:45Z<p>Lestofante: /* Bad results */</p>
<hr />
<div>==OutOfMemoryError==<br />
I'm running roborumble client version 1.5.4 on ubuntu (default VM: openJDK 1.6.0.0), and sometimes in my log I find: Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space, can someone tell me a way to grab more information about this error or a way to solve it?<br />
<br />
UPDATE: found more information<br />
<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
:at java.util.Arrays.copyOf(Arrays.java:2894)<br />
:at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)<br />
:at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)<br />
:at java.lang.StringBuilder.append(StringBuilder.java:136)<br />
:at robocode.io.Logger.log(Unknown Source)<br />
:at robocode.battle.Battle.setupRound(Unknown Source)<br />
:at robocode.battle.Battle.run(Unknown Source)<br />
:at java.lang.Thread.run(Thread.java:636)<br />
--[[User:Lestofante|lestofante]] 12:07, 4 December 2008 (UTC)<br />
<br />
To allocate more memory, you need to change "-Xmx256M" in roborumble.sh to something more like "-Xmx512M" or however much you feel comfortable allowing Java to eat. I find 512M is usually a safe value that doesn't run out of memory. --[[User:Rednaxela|Rednaxela]] 14:16, 4 December 2008 (UTC)<br />
<br />
I've followed your tip but here the another error: <br />
Fighting battle 4 ... ags.polished.PolishedRuby 1,jcs.Seth 1.8<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: GC overhead limit exceeded<br />
and another:<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
at java.util.Arrays.copyOf(Arrays.java:2882)<br />
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)<br />
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)<br />
at java.lang.StringBuilder.append(StringBuilder.java:119)<br />
at robocode.io.Logger.log(Unknown Source)<br />
at robocode.battle.Battle.setupRound(Unknown Source)<br />
at robocode.battle.Battle.run(Unknown Source)<br />
at java.lang.Thread.run(Thread.java:619)<br />
--[[User:Lestofante|lestofante]] 14:38, 10 December 2008 (UTC)<br />
<br />
<br />
One of my clients also died from an OutOfMemoryError (heap space) while running PolishedRuby against Reaper. I'm using -Xm512, which should be plenty. Most battles run fine so you may have a memory leak? --[[User:Darkcanuck|Darkcanuck]] 17:48, 10 December 2008 (UTC)<br />
<br />
I've looked into my log, the exception are launched only in battle with PolishedRuby.. The bad thing is after this error roborumble will not exit, blocking all external loop script. --[[User:Lestofante|lestofante]] 18:02, 10 December 2008 (UTC)<br />
<br />
Yeah, my client also had an out of memory error with PolishedRuby when I came back to the computer now. I find this quite odd because it's gun is an exact copy from [[RougeDC]] and the movement doesn't store any data, and yet I've never seen RougeDC get an out of memory error with -Xmx512M. The only possible cause for this I can think of is that certain battles might last longer with PolishedRuby than RougeDC and because the gun consists of a PM and two DC configs memory usage is increased in longer battles. Still though, I doubt battles last that much longer really, so I'm quite perplexed... If anyone knows of any way to profile memory usage, I'm all ears. --[[User:Rednaxela|Rednaxela]] 20:02, 10 December 2008 (UTC)<br />
<br />
GC overhead limit exceeded exception mean that java garbage collector is working about 98% of application time... try some GC monitor (VisualVM has it) --[[User:Lestofante|lestofante]] 21:17, 10 December 2008 (UTC)<br />
<br />
Well, in tests with VisualVM, I can't ever get GC overhead to exceed 20% with PolishedRuby and 10% with RougeDC (RougeDC surfs and thus eats much more cpu), so I'm not sure what's with these "98%" cases, but it does seem that the gun is causing much more GC activity than I'd like. It's looking like it's related to the data structure for the single-tick patternmatcher that's in there. I'll look into it more some time but right now I have a bunch of finals to do. --[[User:Rednaxela|Rednaxela]] 09:06, 11 December 2008 (UTC)<br />
<br />
I've deleted the old log, but if I remember well the exception is trigged only vs some robot, like jcs.Seth 1.8 (maybe your GC + enemy GC > 98%, maybe a bug trigged in particular condition). Actually this exception freeze my roborumble (switching to version 1.6.0 hasn't help), so I've excluded the bot. --[[User:Lestofante|lestofante]] 17:05, 11 December 2008 (UTC)<br />
<br />
==Bad results==<br />
Darkstorm's client has been uploading some problematic bad results in some cases such as [http://darkcanuck.net/rumble/BattleDetails?game=roborumble&name=Krabb.sliNk.Garm%200.9u&vs=skm.PateranBotlock2%201.0 here], and so has Alcatraz such as <br />
[http://darkcanuck.net/rumble/BattleDetails?game=roborumble&name=Krabb.sliNk.Garm%200.9u&vs=jk.mega.DrussGT%201.3.1 here]. I really think the server should remove and reject all 0% scores where the expected score is greater than 10%... Or just reject 0% scores like the old server did... I really don't trust the scores right now with all those bad results scattered around... --[[User:Rednaxela|Rednaxela]] 18:55, 16 December 2008 (UTC)<br />
<br />
I gave a brief try at running 1.6.2 beta 2, and the rumble gave all sorts of problems for the new SilverSurfer (post-fix). I promptly switched back to 1.5.4. I'm not sure how Alcatraz and Darkstorm are configuring their client to get the 0 scores on 1.5.4 though. I've played around with the config, and I can only get it to happen on 1.6.2b2. So maybe they upgraded and didn't change their config file? So it still says 1.5.4.... --[[User:Skilgannon|Skilgannon]] 21:10, 16 December 2008 (UTC)<br />
<br />
What are you seeing happen with SilverSurfer in 1.6.2 beta 2? I just downloaded and installed 1.6.2 Beta 2 and SilverSurfer seemed to run just fine (but I didn't do it in the rumble or give it that many trials). I highly suggest that you [http://sourceforge.net/tracker/?group_id=37202&atid=419486 report] the problems you saw so we won't be stuck with a 1.6.2 non-beta corrupting the rumble... --[[User:Rednaxela|Rednaxela]] 21:49, 16 December 2008 (UTC)<br />
<br />
stopped roborumble, toworrow i will take a look. <br />
edit: yesterday i've renstalled robocode because roborumble gave a <br />
<pre>Exception in thread "Application Thread" java.lang.ArrayIndexOutOfBoundsException: 0<br />
at roborumble.battlesengine.BattlesRunner.runBattles(Unknown Source)<br />
at roborumble.RoboRumbleAtHome.main(Unknown Source)</pre><br />
--[[User:Lestofante|lestofante]] 22:21, 16 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Reported_Problems&diff=3632RoboRumble/Reported Problems2008-12-16T22:21:40Z<p>Lestofante: /* Bad results */</p>
<hr />
<div>==OutOfMemoryError==<br />
I'm running roborumble client version 1.5.4 on ubuntu (default VM: openJDK 1.6.0.0), and sometimes in my log I find: Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space, can someone tell me a way to grab more information about this error or a way to solve it?<br />
<br />
UPDATE: found more information<br />
<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
:at java.util.Arrays.copyOf(Arrays.java:2894)<br />
:at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)<br />
:at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)<br />
:at java.lang.StringBuilder.append(StringBuilder.java:136)<br />
:at robocode.io.Logger.log(Unknown Source)<br />
:at robocode.battle.Battle.setupRound(Unknown Source)<br />
:at robocode.battle.Battle.run(Unknown Source)<br />
:at java.lang.Thread.run(Thread.java:636)<br />
--[[User:Lestofante|lestofante]] 12:07, 4 December 2008 (UTC)<br />
<br />
To allocate more memory, you need to change "-Xmx256M" in roborumble.sh to something more like "-Xmx512M" or however much you feel comfortable allowing Java to eat. I find 512M is usually a safe value that doesn't run out of memory. --[[User:Rednaxela|Rednaxela]] 14:16, 4 December 2008 (UTC)<br />
<br />
I've followed your tip but here the another error: <br />
Fighting battle 4 ... ags.polished.PolishedRuby 1,jcs.Seth 1.8<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: GC overhead limit exceeded<br />
and another:<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
at java.util.Arrays.copyOf(Arrays.java:2882)<br />
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)<br />
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)<br />
at java.lang.StringBuilder.append(StringBuilder.java:119)<br />
at robocode.io.Logger.log(Unknown Source)<br />
at robocode.battle.Battle.setupRound(Unknown Source)<br />
at robocode.battle.Battle.run(Unknown Source)<br />
at java.lang.Thread.run(Thread.java:619)<br />
--[[User:Lestofante|lestofante]] 14:38, 10 December 2008 (UTC)<br />
<br />
<br />
One of my clients also died from an OutOfMemoryError (heap space) while running PolishedRuby against Reaper. I'm using -Xm512, which should be plenty. Most battles run fine so you may have a memory leak? --[[User:Darkcanuck|Darkcanuck]] 17:48, 10 December 2008 (UTC)<br />
<br />
I've looked into my log, the exception are launched only in battle with PolishedRuby.. The bad thing is after this error roborumble will not exit, blocking all external loop script. --[[User:Lestofante|lestofante]] 18:02, 10 December 2008 (UTC)<br />
<br />
Yeah, my client also had an out of memory error with PolishedRuby when I came back to the computer now. I find this quite odd because it's gun is an exact copy from [[RougeDC]] and the movement doesn't store any data, and yet I've never seen RougeDC get an out of memory error with -Xmx512M. The only possible cause for this I can think of is that certain battles might last longer with PolishedRuby than RougeDC and because the gun consists of a PM and two DC configs memory usage is increased in longer battles. Still though, I doubt battles last that much longer really, so I'm quite perplexed... If anyone knows of any way to profile memory usage, I'm all ears. --[[User:Rednaxela|Rednaxela]] 20:02, 10 December 2008 (UTC)<br />
<br />
GC overhead limit exceeded exception mean that java garbage collector is working about 98% of application time... try some GC monitor (VisualVM has it) --[[User:Lestofante|lestofante]] 21:17, 10 December 2008 (UTC)<br />
<br />
Well, in tests with VisualVM, I can't ever get GC overhead to exceed 20% with PolishedRuby and 10% with RougeDC (RougeDC surfs and thus eats much more cpu), so I'm not sure what's with these "98%" cases, but it does seem that the gun is causing much more GC activity than I'd like. It's looking like it's related to the data structure for the single-tick patternmatcher that's in there. I'll look into it more some time but right now I have a bunch of finals to do. --[[User:Rednaxela|Rednaxela]] 09:06, 11 December 2008 (UTC)<br />
<br />
I've deleted the old log, but if I remember well the exception is trigged only vs some robot, like jcs.Seth 1.8 (maybe your GC + enemy GC > 98%, maybe a bug trigged in particular condition). Actually this exception freeze my roborumble (switching to version 1.6.0 hasn't help), so I've excluded the bot. --[[User:Lestofante|lestofante]] 17:05, 11 December 2008 (UTC)<br />
<br />
==Bad results==<br />
Darkstorm's client has been uploading some problematic bad results in some cases such as [http://darkcanuck.net/rumble/BattleDetails?game=roborumble&name=Krabb.sliNk.Garm%200.9u&vs=skm.PateranBotlock2%201.0 here], and so has Alcatraz such as <br />
[http://darkcanuck.net/rumble/BattleDetails?game=roborumble&name=Krabb.sliNk.Garm%200.9u&vs=jk.mega.DrussGT%201.3.1 here]. I really think the server should remove and reject all 0% scores where the expected score is greater than 10%... Or just reject 0% scores like the old server did... I really don't trust the scores right now with all those bad results scattered around... --[[User:Rednaxela|Rednaxela]] 18:55, 16 December 2008 (UTC)<br />
<br />
I gave a brief try at running 1.6.2 beta 2, and the rumble gave all sorts of problems for the new SilverSurfer (post-fix). I promptly switched back to 1.5.4. I'm not sure how Alcatraz and Darkstorm are configuring their client to get the 0 scores on 1.5.4 though. I've played around with the config, and I can only get it to happen on 1.6.2b2. So maybe they upgraded and didn't change their config file? So it still says 1.5.4.... --[[User:Skilgannon|Skilgannon]] 21:10, 16 December 2008 (UTC)<br />
<br />
What are you seeing happen with SilverSurfer in 1.6.2 beta 2? I just downloaded and installed 1.6.2 Beta 2 and SilverSurfer seemed to run just fine (but I didn't do it in the rumble or give it that many trials). I highly suggest that you [http://sourceforge.net/tracker/?group_id=37202&atid=419486 report] the problems you saw so we won't be stuck with a 1.6.2 non-beta corrupting the rumble... --[[User:Rednaxela|Rednaxela]] 21:49, 16 December 2008 (UTC)<br />
<br />
stopped roborumble, toworrow i will take a look --[[User:Lestofante|lestofante]] 22:21, 16 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode/Developers_Guide_for_modify_Robocode&diff=3631Robocode/Developers Guide for modify Robocode2008-12-16T22:02:52Z<p>Lestofante: /* Create MOD launch file */</p>
<hr />
<div>This guide show you how to modify some parts or all of your robocode without need of reinstall it.<br />
You can choose if run the original or the MOD version<br />
==Developer's Guide for building Robocode==<br />
===Software Requirements===<br />
* Sun's Java SE JDK (5.0 or >) or alternatives<br />
* Robocode installed (same version as source)<br />
* Robocode source (same version as installer)<br />
* Text editor<br />
<br />
Install the java SDK (JRE is not enough), then install robocode. As text editor you can simply use block notes, gedit, ecc.. You surely have installed one basic text editor in your operative system.<br />
<br />
===Create MOD launch file===<br />
We want create a mod but we don't want break the original robocode, so here the solution:<br />
* open home folder of robocode (the installation directory)<br />
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner<br />
* open the copy and delete ".jar" in the -cp option for roborumble and robocode<br />
:example: <br />
:old roborumble.sh(or roborumble.bat): <pre>java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt</pre><br />
:new roborumbleMOD.sh(or roborumbleMOD.bat): <pre>java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt</pre><br />
* now open folder "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if necessary set this folder's permission as read/write for your user<br />
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work normally<br />
<br />
===Modifing source code===<br />
If the MOD launch file is working is time for modify your robocode version.<br />
* extract roborumble source code where you want<br />
* find the source file you want modify<br />
* copy it under the extracted folder "libs" in the right location indicated by file's package(tip: if you are in the right directory you will find a .class file with the same name as your .java)<br />
* modify your source code<br />
* if your MOD works send your code at [http://sourceforge.net/tracker/?group_id=37202&atid=419488 patch tracker] and if it's good enough will be implemented in the next version of robocode<br />
tip: is better import only the source code of the file you want modify and not all, so you know where you have changed something<br />
<br />
===Compiling Robocode's code===<br />
I assume:<br />
<br />
robocodeDir is the directory where you intalled robocode<br />
<br />
fileName is the name of the file you want compile<br />
<br />
fileDir it's the directory of the file you want compile<br />
<br />
====UNIX:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir/libs/robocode:robocodeDir/libs/roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = ~/robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir/libs/roborumble/roborumble<br />
<pre><br />
cd ~/robocode/libs/roborumble/roborumble<br />
javac -cp ~/robocode/libs/robocode:~/robocode/libs/roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
====WINDOWS:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir\libs\robocode;robocodeDir\libs\roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = C:\robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir\libs\roborumble\roborumble<br />
<pre><br />
cd C:\robocode\libs\roborumble\roborumble<br />
javac -cp C:\robocode\libs\robocode;C:\robocode\libs\roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
===Launch Robocode===<br />
<br />
====Original version====<br />
Simply use the original robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)<br />
<br />
====MOD version====<br />
Simply use the [[Robocode/Developers Guide for modify Robocode#Create MOD launch file|modified]] robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode/Developers_Guide_for_modify_Robocode&diff=3603Robocode/Developers Guide for modify Robocode2008-12-11T19:00:39Z<p>Lestofante: /* Modifing source code */</p>
<hr />
<div>This guide show you how to modify some parts or all of your robocode without need of reinstall it.<br />
You can choose if run the original or the MOD version<br />
==Developer's Guide for building Robocode==<br />
===Software Requirements===<br />
* Sun's Java SE JDK (5.0 or >) or alternatives<br />
* Robocode installed (same version as source)<br />
* Robocode source (same version as installer)<br />
* Text editor<br />
<br />
Install the java SDK (JRE is not enough), then install robocode. As text editor you can simply use block notes, gedit, ecc.. You surely have installed one basic text editor in your operative system.<br />
<br />
===Create MOD launch file===<br />
We want create a mod but we don't want break the original robocode, so here the solution:<br />
* open home folder of robocode (the installation directory)<br />
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner<br />
* open the copy and delete ".jar" in the -cp option for roborumble and robocode<br />
:example: <br />
:old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
:new roborumbleMOD.sh(or roborumbleMOD.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
* now open folder "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if necessary set this folder's permission as read/write for your user<br />
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work normally<br />
<br />
===Modifing source code===<br />
If the MOD launch file is working is time for modify your robocode version.<br />
* extract roborumble source code where you want<br />
* find the source file you want modify<br />
* copy it under the extracted folder "libs" in the right location indicated by file's package(tip: if you are in the right directory you will find a .class file with the same name as your .java)<br />
* modify your source code<br />
* if your MOD works send your code at [http://sourceforge.net/tracker/?group_id=37202&atid=419488 patch tracker] and if it's good enough will be implemented in the next version of robocode<br />
tip: is better import only the source code of the file you want modify and not all, so you know where you have changed something<br />
<br />
===Compiling Robocode's code===<br />
I assume:<br />
<br />
robocodeDir is the directory where you intalled robocode<br />
<br />
fileName is the name of the file you want compile<br />
<br />
fileDir it's the directory of the file you want compile<br />
<br />
====UNIX:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir/libs/robocode:robocodeDir/libs/roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = ~/robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir/libs/roborumble/roborumble<br />
<pre><br />
cd ~/robocode/libs/roborumble/roborumble<br />
javac -cp ~/robocode/libs/robocode:~/robocode/libs/roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
====WINDOWS:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir\libs\robocode;robocodeDir\libs\roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = C:\robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir\libs\roborumble\roborumble<br />
<pre><br />
cd C:\robocode\libs\roborumble\roborumble<br />
javac -cp C:\robocode\libs\robocode;C:\robocode\libs\roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
===Launch Robocode===<br />
<br />
====Original version====<br />
Simply use the original robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)<br />
<br />
====MOD version====<br />
Simply use the [[Robocode/Developers Guide for modify Robocode#Create MOD launch file|modified]] robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)</div>Lestofantehttp://robowiki.net/w/index.php?title=Talk:Robocode/Developers_Guide_for_modify_Robocode&diff=3602Talk:Robocode/Developers Guide for modify Robocode2008-12-11T18:59:17Z<p>Lestofante: /* SF link */</p>
<hr />
<div>== SF link ==<br />
<br />
I see you link to the [http://sourceforge.net/tracker/?group_id=37202&atid=419489 feature request tracker], but shouldn't this be linking to the [http://sourceforge.net/tracker/?group_id=37202&atid=419488 patch tracker]? After all that is what's meant for patches that are actually implemented. --[[User:Rednaxela|Rednaxela]] 18:45, 11 December 2008 (UTC)<br />
<br />
Yes, I'm new on sorceforge and I haven't saw that page, thank you --[[User:Lestofante|lestofante]] 18:59, 11 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode/Developers_Guide_for_modify_Robocode&diff=3600Robocode/Developers Guide for modify Robocode2008-12-11T18:30:57Z<p>Lestofante: /* Modifing source code */</p>
<hr />
<div>This guide show you how to modify some parts or all of your robocode without need of reinstall it.<br />
You can choose if run the original or the MOD version<br />
==Developer's Guide for building Robocode==<br />
===Software Requirements===<br />
* Sun's Java SE JDK (5.0 or >) or alternatives<br />
* Robocode installed (same version as source)<br />
* Robocode source (same version as installer)<br />
* Text editor<br />
<br />
Install the java SDK (JRE is not enough), then install robocode. As text editor you can simply use block notes, gedit, ecc.. You surely have installed one basic text editor in your operative system.<br />
<br />
===Create MOD launch file===<br />
We want create a mod but we don't want break the original robocode, so here the solution:<br />
* open home folder of robocode (the installation directory)<br />
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner<br />
* open the copy and delete ".jar" in the -cp option for roborumble and robocode<br />
:example: <br />
:old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
:new roborumbleMOD.sh(or roborumbleMOD.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
* now open folder "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if necessary set this folder's permission as read/write for your user<br />
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work normally<br />
<br />
===Modifing source code===<br />
If the MOD launch file is working is time for modify your robocode version.<br />
* extract roborumble source code where you want<br />
* find the source file you want modify<br />
* copy it under the extracted folder "libs" in the right location indicated by file's package(tip: if you are in the right directory you will find a .class file with the same name as your .java)<br />
* modify your source code<br />
* if your MOD works send your code at [[https://sourceforge.net/tracker/?group_id=37202&atid=419489 souceforge.net page]] and if it's good enough will be implemented in the next version of robocode<br />
tip: is better import only the source code of the file you want modify and not all, so you know where you have changed something<br />
<br />
===Compiling Robocode's code===<br />
I assume:<br />
<br />
robocodeDir is the directory where you intalled robocode<br />
<br />
fileName is the name of the file you want compile<br />
<br />
fileDir it's the directory of the file you want compile<br />
<br />
====UNIX:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir/libs/robocode:robocodeDir/libs/roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = ~/robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir/libs/roborumble/roborumble<br />
<pre><br />
cd ~/robocode/libs/roborumble/roborumble<br />
javac -cp ~/robocode/libs/robocode:~/robocode/libs/roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
====WINDOWS:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir\libs\robocode;robocodeDir\libs\roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = C:\robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir\libs\roborumble\roborumble<br />
<pre><br />
cd C:\robocode\libs\roborumble\roborumble<br />
javac -cp C:\robocode\libs\robocode;C:\robocode\libs\roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
===Launch Robocode===<br />
<br />
====Original version====<br />
Simply use the original robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)<br />
<br />
====MOD version====<br />
Simply use the [[Robocode/Developers Guide for modify Robocode#Create MOD launch file|modified]] robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode/Developers_Guide_for_modify_Robocode&diff=3599Robocode/Developers Guide for modify Robocode2008-12-11T18:30:07Z<p>Lestofante: /* Modifing source code */</p>
<hr />
<div>This guide show you how to modify some parts or all of your robocode without need of reinstall it.<br />
You can choose if run the original or the MOD version<br />
==Developer's Guide for building Robocode==<br />
===Software Requirements===<br />
* Sun's Java SE JDK (5.0 or >) or alternatives<br />
* Robocode installed (same version as source)<br />
* Robocode source (same version as installer)<br />
* Text editor<br />
<br />
Install the java SDK (JRE is not enough), then install robocode. As text editor you can simply use block notes, gedit, ecc.. You surely have installed one basic text editor in your operative system.<br />
<br />
===Create MOD launch file===<br />
We want create a mod but we don't want break the original robocode, so here the solution:<br />
* open home folder of robocode (the installation directory)<br />
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner<br />
* open the copy and delete ".jar" in the -cp option for roborumble and robocode<br />
:example: <br />
:old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
:new roborumbleMOD.sh(or roborumbleMOD.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
* now open folder "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if necessary set this folder's permission as read/write for your user<br />
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work normally<br />
<br />
===Modifing source code===<br />
If the MOD launch file is working is time for modify your robocode version.<br />
* extract roborumble source code where you want<br />
* find the source file you want modify<br />
* copy it under the extracted folder "libs" in the right location indicated by file's package(tip: if you are in the right directory you will find a .class file with the same name as your .java)<br />
* modify your source code<br />
* if your MOD works send your code at [[https://sourceforge.net/tracker/?group_id=37202&atid=419489|robocode souceforge.net page]] and if it's good enough will be implemented in the next version of robocode<br />
tip: is better import only the source code of the file you want modify and not all, so you know where you have changed something<br />
<br />
===Compiling Robocode's code===<br />
I assume:<br />
<br />
robocodeDir is the directory where you intalled robocode<br />
<br />
fileName is the name of the file you want compile<br />
<br />
fileDir it's the directory of the file you want compile<br />
<br />
====UNIX:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir/libs/robocode:robocodeDir/libs/roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = ~/robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir/libs/roborumble/roborumble<br />
<pre><br />
cd ~/robocode/libs/roborumble/roborumble<br />
javac -cp ~/robocode/libs/robocode:~/robocode/libs/roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
====WINDOWS:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir\libs\robocode;robocodeDir\libs\roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = C:\robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir\libs\roborumble\roborumble<br />
<pre><br />
cd C:\robocode\libs\roborumble\roborumble<br />
javac -cp C:\robocode\libs\robocode;C:\robocode\libs\roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
===Launch Robocode===<br />
<br />
====Original version====<br />
Simply use the original robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)<br />
<br />
====MOD version====<br />
Simply use the [[Robocode/Developers Guide for modify Robocode#Create MOD launch file|modified]] robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode/Developers_Guide_for_modify_Robocode&diff=3598Robocode/Developers Guide for modify Robocode2008-12-11T18:28:51Z<p>Lestofante: </p>
<hr />
<div>This guide show you how to modify some parts or all of your robocode without need of reinstall it.<br />
You can choose if run the original or the MOD version<br />
==Developer's Guide for building Robocode==<br />
===Software Requirements===<br />
* Sun's Java SE JDK (5.0 or >) or alternatives<br />
* Robocode installed (same version as source)<br />
* Robocode source (same version as installer)<br />
* Text editor<br />
<br />
Install the java SDK (JRE is not enough), then install robocode. As text editor you can simply use block notes, gedit, ecc.. You surely have installed one basic text editor in your operative system.<br />
<br />
===Create MOD launch file===<br />
We want create a mod but we don't want break the original robocode, so here the solution:<br />
* open home folder of robocode (the installation directory)<br />
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner<br />
* open the copy and delete ".jar" in the -cp option for roborumble and robocode<br />
:example: <br />
:old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
:new roborumbleMOD.sh(or roborumbleMOD.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
* now open folder "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if necessary set this folder's permission as read/write for your user<br />
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work normally<br />
<br />
===Modifing source code===<br />
If the MOD launch file is working is time for modify your robocode version.<br />
* extract roborumble source code where you want<br />
* find the source file you want modify<br />
* copy it under the extracted folder "libs" in the right location indicated by file's package(tip: if you are in the right directory you will find a .class file with the same name as your .java)<br />
* modify your source code<br />
* if your MOD works send your code at [[https://sourceforge.net/tracker/?group_id=37202&atid=419489]] and if it's good enough will be implemented in the next version of robocode<br />
tip: is better import only the source code of the file you want modify and not all, so you know where you have changed something<br />
<br />
===Compiling Robocode's code===<br />
I assume:<br />
<br />
robocodeDir is the directory where you intalled robocode<br />
<br />
fileName is the name of the file you want compile<br />
<br />
fileDir it's the directory of the file you want compile<br />
<br />
====UNIX:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir/libs/robocode:robocodeDir/libs/roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = ~/robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir/libs/roborumble/roborumble<br />
<pre><br />
cd ~/robocode/libs/roborumble/roborumble<br />
javac -cp ~/robocode/libs/robocode:~/robocode/libs/roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
====WINDOWS:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir\libs\robocode;robocodeDir\libs\roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = C:\robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir\libs\roborumble\roborumble<br />
<pre><br />
cd C:\robocode\libs\roborumble\roborumble<br />
javac -cp C:\robocode\libs\robocode;C:\robocode\libs\roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
===Launch Robocode===<br />
<br />
====Original version====<br />
Simply use the original robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)<br />
<br />
====MOD version====<br />
Simply use the [[Robocode/Developers Guide for modify Robocode#Create MOD launch file|modified]] robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode/Developers_Guide_for_modify_Robocode&diff=3597Robocode/Developers Guide for modify Robocode2008-12-11T18:20:09Z<p>Lestofante: /* Create MOD launch file */</p>
<hr />
<div>This guide show you how to modify some parts or all of your robocode without need of reinstall it.<br />
You can choose if run the original or the MOD version<br />
==Developer's Guide for building Robocode==<br />
===Software Requirements===<br />
* Sun's Java SE JDK (5.0 or >) or alternatives<br />
* Robocode installed (same version as source)<br />
* Robocode source (same version as installer)<br />
* Text editor<br />
<br />
Install the java SDK (JRE is not enough), then install robocode. As text editor you can simply use block notes, gedit, ecc.. You surely have installed one basic text editor in your operative system.<br />
<br />
===Create MOD launch file===<br />
We want create a mod but we don't want break the original robocode, so here the solution:<br />
* open home folder of robocode (the installation directory)<br />
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner<br />
* open the copy and delete ".jar" in the -cp option for roborumble and robocode<br />
:example: <br />
:old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
:new roborumbleMOD.sh(or roborumbleMOD.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
* now open folder "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if necessary set this folder's permission as read/write for your user<br />
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work normally<br />
<br />
===Modifing source code===<br />
If the MOD launch file is working is time for modify your robocode version.<br />
* extract roborumble source code where you want<br />
* find the source file you want modify<br />
* copy it under the extracted folder "libs" in the right location indicated by file's package(tip: if you are in the right directory you will find a .class file with the same name as your .java)<br />
* modify your source code<br />
<br />
===Compiling Robocode's code===<br />
I assume:<br />
<br />
robocodeDir is the directory where you intalled robocode<br />
<br />
fileName is the name of the file you want compile<br />
<br />
fileDir it's the directory of the file you want compile<br />
<br />
====UNIX:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir/libs/robocode:robocodeDir/libs/roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = ~/robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir/libs/roborumble/roborumble<br />
<pre><br />
cd ~/robocode/libs/roborumble/roborumble<br />
javac -cp ~/robocode/libs/robocode:~/robocode/libs/roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
====WINDOWS:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir\libs\robocode;robocodeDir\libs\roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = C:\robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir\libs\roborumble\roborumble<br />
<pre><br />
cd C:\robocode\libs\roborumble\roborumble<br />
javac -cp C:\robocode\libs\robocode;C:\robocode\libs\roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
===Launch Robocode===<br />
<br />
====Original version====<br />
Simply use the original robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)<br />
<br />
====MOD version====<br />
Simply use the [[Robocode/Developers Guide for modify Robocode#Create MOD launch file|modified]] robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode/Developers_Guide_for_modify_Robocode&diff=3596Robocode/Developers Guide for modify Robocode2008-12-11T18:17:44Z<p>Lestofante: /* MOD version */</p>
<hr />
<div>This guide show you how to modify some parts or all of your robocode without need of reinstall it.<br />
You can choose if run the original or the MOD version<br />
==Developer's Guide for building Robocode==<br />
===Software Requirements===<br />
* Sun's Java SE JDK (5.0 or >) or alternatives<br />
* Robocode installed (same version as source)<br />
* Robocode source (same version as installer)<br />
* Text editor<br />
<br />
Install the java SDK (JRE is not enough), then install robocode. As text editor you can simply use block notes, gedit, ecc.. You surely have installed one basic text editor in your operative system.<br />
<br />
===Create MOD launch file===<br />
We want create a mod but we don't want break the original robocode, so here the solution:<br />
* open home folder of robocode (the installation directory)<br />
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner<br />
* open the copy made after and delete ".jar" in the -cp option for roborumble and robocode<br />
:example: <br />
:old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
:new roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
* now open folder "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if nesessary set this folder's permission as read/write for your user<br />
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work as the original version<br />
<br />
===Modifing source code===<br />
If the MOD launch file is working is time for modify your robocode version.<br />
* extract roborumble source code where you want<br />
* find the source file you want modify<br />
* copy it under the extracted folder "libs" in the right location indicated by file's package(tip: if you are in the right directory you will find a .class file with the same name as your .java)<br />
* modify your source code<br />
<br />
===Compiling Robocode's code===<br />
I assume:<br />
<br />
robocodeDir is the directory where you intalled robocode<br />
<br />
fileName is the name of the file you want compile<br />
<br />
fileDir it's the directory of the file you want compile<br />
<br />
====UNIX:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir/libs/robocode:robocodeDir/libs/roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = ~/robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir/libs/roborumble/roborumble<br />
<pre><br />
cd ~/robocode/libs/roborumble/roborumble<br />
javac -cp ~/robocode/libs/robocode:~/robocode/libs/roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
====WINDOWS:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir\libs\robocode;robocodeDir\libs\roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = C:\robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir\libs\roborumble\roborumble<br />
<pre><br />
cd C:\robocode\libs\roborumble\roborumble<br />
javac -cp C:\robocode\libs\robocode;C:\robocode\libs\roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
===Launch Robocode===<br />
<br />
====Original version====<br />
Simply use the original robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)<br />
<br />
====MOD version====<br />
Simply use the [[Robocode/Developers Guide for modify Robocode#Create MOD launch file|modified]] robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode/Developers_Guide_for_modify_Robocode&diff=3595Robocode/Developers Guide for modify Robocode2008-12-11T18:17:21Z<p>Lestofante: New page: This guide show you how to modify some parts or all of your robocode without need of reinstall it. You can choose if run the original or the MOD version ==Developer's Guide for building Ro...</p>
<hr />
<div>This guide show you how to modify some parts or all of your robocode without need of reinstall it.<br />
You can choose if run the original or the MOD version<br />
==Developer's Guide for building Robocode==<br />
===Software Requirements===<br />
* Sun's Java SE JDK (5.0 or >) or alternatives<br />
* Robocode installed (same version as source)<br />
* Robocode source (same version as installer)<br />
* Text editor<br />
<br />
Install the java SDK (JRE is not enough), then install robocode. As text editor you can simply use block notes, gedit, ecc.. You surely have installed one basic text editor in your operative system.<br />
<br />
===Create MOD launch file===<br />
We want create a mod but we don't want break the original robocode, so here the solution:<br />
* open home folder of robocode (the installation directory)<br />
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner<br />
* open the copy made after and delete ".jar" in the -cp option for roborumble and robocode<br />
:example: <br />
:old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
:new roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt<br />
* now open folder "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if nesessary set this folder's permission as read/write for your user<br />
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work as the original version<br />
<br />
===Modifing source code===<br />
If the MOD launch file is working is time for modify your robocode version.<br />
* extract roborumble source code where you want<br />
* find the source file you want modify<br />
* copy it under the extracted folder "libs" in the right location indicated by file's package(tip: if you are in the right directory you will find a .class file with the same name as your .java)<br />
* modify your source code<br />
<br />
===Compiling Robocode's code===<br />
I assume:<br />
<br />
robocodeDir is the directory where you intalled robocode<br />
<br />
fileName is the name of the file you want compile<br />
<br />
fileDir it's the directory of the file you want compile<br />
<br />
====UNIX:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir/libs/robocode:robocodeDir/libs/roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = ~/robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir/libs/roborumble/roborumble<br />
<pre><br />
cd ~/robocode/libs/roborumble/roborumble<br />
javac -cp ~/robocode/libs/robocode:~/robocode/libs/roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
====WINDOWS:====<br />
<pre><br />
cd fileDir<br />
javac -cp robocodeDir\libs\robocode;robocodeDir\libs\roborumble fileName<br />
</pre><br />
<br />
:example:<br />
:robocodeDir = C:\robocode<br />
:fileName = RoboRumbleAtHome.java (the main file of roborumble)<br />
:fileDir = robocodeDir\libs\roborumble\roborumble<br />
<pre><br />
cd C:\robocode\libs\roborumble\roborumble<br />
javac -cp C:\robocode\libs\robocode;C:\robocode\libs\roborumble RoboRumbleAtHome.java<br />
</pre><br />
<br />
===Launch Robocode===<br />
<br />
====Original version====<br />
Simply use the original robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)<br />
<br />
====MOD version====<br />
Simply use the [[Robocode/Developers Guide for modify Robocode/Create MOD launch file|modified]] robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode&diff=3594Robocode2008-12-11T17:13:51Z<p>Lestofante: /* Tutorials */</p>
<hr />
<div><div style="font-size:170%;text-align:center">Welcome to Robocode!</div><br />
== What is Robocode? ==<br />
Robocode is a [[wikipedia:programming game|programming game]] where the goal is to '''code a robot''' to compete against other robots in a battle arena. The player is the programmer of the robot, who will have no direct influence on the game. Instead, the player must write the [[wikipedia:Artificial_intelligence|AI]] of the robot telling it how to behave and react on events occurring in the battle arena. So the name Robocode is a short for "Robot code".<br />
<br />
The game is designed to help you learn Java, and have fun doing it. Robots are written in the [http://java.sun.com/docs/books/tutorial/getStarted/intro/definition.html Java<sup><small>TM</small></sup> Programming Language], and the Robocode game can run on any operating system supported by the [http://java.sun.com/javase/ Java Platform], which includes all common operative systems like Windows, Mac OS X, Linux etc.<br />
<br />
Robocode's battles take place in a battlefield, where small automated 6-wheeled robots fight it out until only one is left. Please notice that Robocode contains no gore, no blood, no people, and no politics. The battles are simply for the excitement of competition that we love so much. There are explosions, however, but these can be turned off if they are offending. :-)<br />
<br />
== Getting Started ==<br />
If you have not done so already, the first step is to [[Robocode/Download|download and install]] Robocode. Once you have installed Robocode, you should [[Robocode/Getting Started|run a few battles]] to see how it works, then move on to [[Robocode/My First Robot|building your First Robot]].<br />
<br />
== Brief History of Robocode ==<br />
<br />
The Robocode game was originally started by Matthew A. Nelson, aka [http://www.ibm.com/developerworks/java/library/j-nelson/ Mat Nelson], as a personal endeavour in late 2000 and became a professional one when he brought it to IBM, in the form of an [[AlphaWorks]] download, in July 2001.<br />
<br />
In the beginning of 2005, Robocode was brought to [http://sourceforge.net/projects/robocode SourceForge] as Open Source with Robocode version 1.0.7. At this point, the development of Robocode was somewhat stopped. In the mean while, the Robocode community began to develop their own versions of Robocode in order to get rid of bugs and put new features into Robocode, the [http://robowiki.net/cgi-bin/robowiki?OpenSourceRobocode/Contributions Contributions for Open Source Robocode] and later on the [[RobocodeNG]] project by [[Flemming N. Larsen]].<br />
<br />
As nothing seemed to happen with Robocode in more than a year, [[User:FlemmingLarsen|Flemming N. Larsen]] took over the Robocode project at [[SourceForge]] as administrator and developer in July 2006. The [[RobocodeNG]] project was dropped, but the Robocode 2006 variant, which contained a lot of contributions from the Robocode community was merged into the official Robocode with version 1.1. Since then, a lot of new versions of Robocode have been released with more and more features and contributions from the community.<br />
<br />
== See also ==<br />
<br />
=== Robot API ===<br />
* [http://robocode.sourceforge.net/docs/robocode/ Robot API]<br />
<br />
=== Tutorials ===<br />
* [[Robocode/System Requirements|System Requirements for Robocode]]<br />
* [[Robocode/Download|How to download and install Robocode]]<br />
* [[Robocode/Robot Anatomy|The anatomy of a robot]]<br />
* [[Robocode/Getting Started|Getting started with Robocode]]<br />
* [[Robocode/My First Robot|My First Robot Tutorial]]<br />
* [[Robocode/Game Physics|Robocode Game Physics]]<br />
* [[Robocode/Scoring|Scoring in Robocode]]<br />
* [[Robocode/Robot Console|Using the robot console]]<br />
* [[Robocode/Downloading_Robots|Downloading other robots]]<br />
* [[Robocode/Learning from Robots|Learning from other robots]]<br />
* [[Robocode/Package Robot|Package your robot]]<br />
* [[Robocode/FAQ|Frequently Asked Questions (FAQ)]]<br />
* [[Robocode/Articles|Articles about Robocode]]<br />
* [[Robocode/Console Usage|Starting Robocode from the command line]]<br />
* [[Robocode/Graphical_Debugging|Graphical debugging]]<br />
* [[Robocode/Eclipse|Using Eclipse as IDE]]<br />
* [[Robocode/Eclipse/Create_a_Project|Creating a project for your robots]]<br />
* [[Robocode/Eclipse/Create_a_Robot|Creating a robot in Eclipse]]<br />
* [[Robocode/Running from Eclipse|Running your robot from Eclipse]]<br />
* [[Robocode/Eclipse/Debugging Robot|Debugging your robot with Eclipse]]<br />
* [[Robocode/Developers Guide for building Robocode|Build your own version of robocode in Eclipse]]<br />
* [[Robocode/Developers Guide for modify Robocode|Build your own MOD version of robocode]]<br />
<br />
=== News and Releases ===<br />
* [http://sourceforge.net/export/rss2_project.php?group_id=37202 RSS Feeds for the Robocode project]<br />
* [http://sourceforge.net/project/showfiles.php?group_id=37202&package_id=29609 Robocode file releases]<br />
<br />
=== Home pages ===<br />
* [http://robocode.sourceforge.net/ Classic homepage]<br />
* [http://sourceforge.net/projects/robocode Robocode project at SourceForge]<br />
* [http://robocoderepository.com/ Robocode Repository]<br />
* [[wikipedia:Robocode|Wikipediaentry for Robocode]]<br />
<br />
[[Category:Robocode Documentation]]</div>Lestofantehttp://robowiki.net/w/index.php?title=Robocode&diff=3593Robocode2008-12-11T17:11:53Z<p>Lestofante: /* Tutorials */</p>
<hr />
<div><div style="font-size:170%;text-align:center">Welcome to Robocode!</div><br />
== What is Robocode? ==<br />
Robocode is a [[wikipedia:programming game|programming game]] where the goal is to '''code a robot''' to compete against other robots in a battle arena. The player is the programmer of the robot, who will have no direct influence on the game. Instead, the player must write the [[wikipedia:Artificial_intelligence|AI]] of the robot telling it how to behave and react on events occurring in the battle arena. So the name Robocode is a short for "Robot code".<br />
<br />
The game is designed to help you learn Java, and have fun doing it. Robots are written in the [http://java.sun.com/docs/books/tutorial/getStarted/intro/definition.html Java<sup><small>TM</small></sup> Programming Language], and the Robocode game can run on any operating system supported by the [http://java.sun.com/javase/ Java Platform], which includes all common operative systems like Windows, Mac OS X, Linux etc.<br />
<br />
Robocode's battles take place in a battlefield, where small automated 6-wheeled robots fight it out until only one is left. Please notice that Robocode contains no gore, no blood, no people, and no politics. The battles are simply for the excitement of competition that we love so much. There are explosions, however, but these can be turned off if they are offending. :-)<br />
<br />
== Getting Started ==<br />
If you have not done so already, the first step is to [[Robocode/Download|download and install]] Robocode. Once you have installed Robocode, you should [[Robocode/Getting Started|run a few battles]] to see how it works, then move on to [[Robocode/My First Robot|building your First Robot]].<br />
<br />
== Brief History of Robocode ==<br />
<br />
The Robocode game was originally started by Matthew A. Nelson, aka [http://www.ibm.com/developerworks/java/library/j-nelson/ Mat Nelson], as a personal endeavour in late 2000 and became a professional one when he brought it to IBM, in the form of an [[AlphaWorks]] download, in July 2001.<br />
<br />
In the beginning of 2005, Robocode was brought to [http://sourceforge.net/projects/robocode SourceForge] as Open Source with Robocode version 1.0.7. At this point, the development of Robocode was somewhat stopped. In the mean while, the Robocode community began to develop their own versions of Robocode in order to get rid of bugs and put new features into Robocode, the [http://robowiki.net/cgi-bin/robowiki?OpenSourceRobocode/Contributions Contributions for Open Source Robocode] and later on the [[RobocodeNG]] project by [[Flemming N. Larsen]].<br />
<br />
As nothing seemed to happen with Robocode in more than a year, [[User:FlemmingLarsen|Flemming N. Larsen]] took over the Robocode project at [[SourceForge]] as administrator and developer in July 2006. The [[RobocodeNG]] project was dropped, but the Robocode 2006 variant, which contained a lot of contributions from the Robocode community was merged into the official Robocode with version 1.1. Since then, a lot of new versions of Robocode have been released with more and more features and contributions from the community.<br />
<br />
== See also ==<br />
<br />
=== Robot API ===<br />
* [http://robocode.sourceforge.net/docs/robocode/ Robot API]<br />
<br />
=== Tutorials ===<br />
* [[Robocode/System Requirements|System Requirements for Robocode]]<br />
* [[Robocode/Download|How to download and install Robocode]]<br />
* [[Robocode/Robot Anatomy|The anatomy of a robot]]<br />
* [[Robocode/Getting Started|Getting started with Robocode]]<br />
* [[Robocode/My First Robot|My First Robot Tutorial]]<br />
* [[Robocode/Game Physics|Robocode Game Physics]]<br />
* [[Robocode/Scoring|Scoring in Robocode]]<br />
* [[Robocode/Robot Console|Using the robot console]]<br />
* [[Robocode/Downloading_Robots|Downloading other robots]]<br />
* [[Robocode/Learning from Robots|Learning from other robots]]<br />
* [[Robocode/Package Robot|Package your robot]]<br />
* [[Robocode/FAQ|Frequently Asked Questions (FAQ)]]<br />
* [[Robocode/Articles|Articles about Robocode]]<br />
* [[Robocode/Console Usage|Starting Robocode from the command line]]<br />
* [[Robocode/Graphical_Debugging|Graphical debugging]]<br />
* [[Robocode/Eclipse|Using Eclipse as IDE]]<br />
* [[Robocode/Eclipse/Create_a_Project|Creating a project for your robots]]<br />
* [[Robocode/Eclipse/Create_a_Robot|Creating a robot in Eclipse]]<br />
* [[Robocode/Running from Eclipse|Running your robot from Eclipse]]<br />
* [[Robocode/Eclipse/Debugging Robot|Debugging your robot with Eclipse]]<br />
* [[Robocode/Developers Guide for building Robocode|Build your own version of robocode]]<br />
<br />
=== News and Releases ===<br />
* [http://sourceforge.net/export/rss2_project.php?group_id=37202 RSS Feeds for the Robocode project]<br />
* [http://sourceforge.net/project/showfiles.php?group_id=37202&package_id=29609 Robocode file releases]<br />
<br />
=== Home pages ===<br />
* [http://robocode.sourceforge.net/ Classic homepage]<br />
* [http://sourceforge.net/projects/robocode Robocode project at SourceForge]<br />
* [http://robocoderepository.com/ Robocode Repository]<br />
* [[wikipedia:Robocode|Wikipediaentry for Robocode]]<br />
<br />
[[Category:Robocode Documentation]]</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Reported_Problems&diff=3592RoboRumble/Reported Problems2008-12-11T17:05:26Z<p>Lestofante: /* OutOfMemoryError */</p>
<hr />
<div>==OutOfMemoryError==<br />
I'm running roborumble client version 1.5.4 on ubuntu (default VM: openJDK 1.6.0.0), and sometimes in my log I find: Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space, can someone tell me a way to grab more information about this error or a way to solve it?<br />
<br />
UPDATE: found more information<br />
<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
:at java.util.Arrays.copyOf(Arrays.java:2894)<br />
:at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)<br />
:at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)<br />
:at java.lang.StringBuilder.append(StringBuilder.java:136)<br />
:at robocode.io.Logger.log(Unknown Source)<br />
:at robocode.battle.Battle.setupRound(Unknown Source)<br />
:at robocode.battle.Battle.run(Unknown Source)<br />
:at java.lang.Thread.run(Thread.java:636)<br />
--[[User:Lestofante|lestofante]] 12:07, 4 December 2008 (UTC)<br />
<br />
To allocate more memory, you need to change "-Xmx256M" in roborumble.sh to something more like "-Xmx512M" or however much you feel comfortable allowing Java to eat. I find 512M is usually a safe value that doesn't run out of memory. --[[User:Rednaxela|Rednaxela]] 14:16, 4 December 2008 (UTC)<br />
<br />
I've followed your tip but here the another error: <br />
Fighting battle 4 ... ags.polished.PolishedRuby 1,jcs.Seth 1.8<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: GC overhead limit exceeded<br />
and another:<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
at java.util.Arrays.copyOf(Arrays.java:2882)<br />
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)<br />
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)<br />
at java.lang.StringBuilder.append(StringBuilder.java:119)<br />
at robocode.io.Logger.log(Unknown Source)<br />
at robocode.battle.Battle.setupRound(Unknown Source)<br />
at robocode.battle.Battle.run(Unknown Source)<br />
at java.lang.Thread.run(Thread.java:619)<br />
--[[User:Lestofante|lestofante]] 14:38, 10 December 2008 (UTC)<br />
<br />
<br />
One of my clients also died from an OutOfMemoryError (heap space) while running PolishedRuby against Reaper. I'm using -Xm512, which should be plenty. Most battles run fine so you may have a memory leak? --[[User:Darkcanuck|Darkcanuck]] 17:48, 10 December 2008 (UTC)<br />
<br />
I've looked into my log, the exception are launched only in battle with PolishedRuby.. The bad thing is after this error roborumble will not exit, blocking all external loop script. --[[User:Lestofante|lestofante]] 18:02, 10 December 2008 (UTC)<br />
<br />
Yeah, my client also had an out of memory error with PolishedRuby when I came back to the computer now. I find this quite odd because it's gun is an exact copy from [[RougeDC]] and the movement doesn't store any data, and yet I've never seen RougeDC get an out of memory error with -Xmx512M. The only possible cause for this I can think of is that certain battles might last longer with PolishedRuby than RougeDC and because the gun consists of a PM and two DC configs memory usage is increased in longer battles. Still though, I doubt battles last that much longer really, so I'm quite perplexed... If anyone knows of any way to profile memory usage, I'm all ears. --[[User:Rednaxela|Rednaxela]] 20:02, 10 December 2008 (UTC)<br />
<br />
GC overhead limit exceeded exception mean that java garbage collector is working about 98% of application time... try some GC monitor (VisualVM has it) --[[User:Lestofante|lestofante]] 21:17, 10 December 2008 (UTC)<br />
<br />
Well, in tests with VisualVM, I can't ever get GC overhead to exceed 20% with PolishedRuby and 10% with RougeDC (RougeDC surfs and thus eats much more cpu), so I'm not sure what's with these "98%" cases, but it does seem that the gun is causing much more GC activity than I'd like. It's looking like it's related to the data structure for the single-tick patternmatcher that's in there. I'll look into it more some time but right now I have a bunch of finals to do. --[[User:Rednaxela|Rednaxela]] 09:06, 11 December 2008 (UTC)<br />
<br />
I've deleted the old log, but if I remember well the exception is trigged only vs some robot, like jcs.Seth 1.8 (maybe your GC + enemy GC > 98%, maybe a bug trigged in particular condition). Actually this exception freeze my roborumble (switching to version 1.6.0 hasn't help), so I've excluded the bot. --[[User:Lestofante|lestofante]] 17:05, 11 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Development&diff=3586RoboRumble/Development2008-12-11T04:18:08Z<p>Lestofante: /* Request for developer */</p>
<hr />
<div>==Request for developer==<br />
I've modify my roborumble client (version 1.6.0, but the file to change seems the same either in the last BETA) to implements some function:<br />
<br />
- Upload result now is done in a separate Thread, run before download and battle<br />
<br />
- Support multiple server upload. Now you can add as many RESULTSURL you want, separated by comma<br />
<br />
example:<br />
RESULTSURL=http://darkcanuck.net/rumble/UploadedResults, http://rumble.fervir.com/rumble/UploadedResults<br />
<br />
Changed files are:<br />
Roborumble.RoboRumbleAtHome<br />
Roborumble.netengine.ResultsUpload<br />
Roborumble.netengine.FileTransfer<br />
<br />
Tomorrow (now it's late) I will upload the source of this three file and tell you how compile it (or better, how compile your personal robocode's MOD)<br />
<br />
Can someone access SVN and update this file? --[[User:Lestofante|lestofante]] 04:16, 11 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Development&diff=3585RoboRumble/Development2008-12-11T04:16:23Z<p>Lestofante: New page: ==Request for developer== I've modify my roborumble client (version 1.6.0, but the file to change seems the same either in the last BETA) to implements some function: - Upload result now i...</p>
<hr />
<div>==Request for developer==<br />
I've modify my roborumble client (version 1.6.0, but the file to change seems the same either in the last BETA) to implements some function:<br />
- Upload result now is done in a separate Thread, run before download and battle<br />
- Support multiple server upload. Now you can add as many RESULTSURL you want, separated by comma<br />
example:<br />
RESULTSURL=http://darkcanuck.net/rumble/UploadedResults, http://rumble.fervir.com/rumble/UploadedResults<br />
<br />
Changed files are:<br />
Roborumble.RoboRumbleAtHome<br />
Roborumble.netengine.ResultsUpload<br />
Roborumble.netengine.FileTransfer<br />
<br />
Tomorrow (now it's late) I will upload the source of this three file and tell you how compile it (or better, how compile your personal robocode's MOD) <br />
Can someone access SVN and update this file? --[[User:Lestofante|lestofante]] 04:16, 11 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Asdasd&diff=3584Asdasd2008-12-11T02:45:11Z<p>Lestofante: </p>
<hr />
<div>In the new wiki(this) I'm [[Lestofante]]</div>Lestofantehttp://robowiki.net/w/index.php?title=Asdasd&diff=3583Asdasd2008-12-11T02:44:37Z<p>Lestofante: New page: In the new wiki(this) Lestofante</p>
<hr />
<div>In the new wiki(this) [[Lestofante]]</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Reported_Problems&diff=3582RoboRumble/Reported Problems2008-12-10T21:17:40Z<p>Lestofante: /* OutOfMemoryError */</p>
<hr />
<div>==OutOfMemoryError==<br />
I'm running roborumble client version 1.5.4 on ubuntu (default VM: openJDK 1.6.0.0), and sometimes in my log I find: Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space, can someone tell me a way to grab more information about this error or a way to solve it?<br />
<br />
UPDATE: found more information<br />
<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
:at java.util.Arrays.copyOf(Arrays.java:2894)<br />
:at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)<br />
:at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)<br />
:at java.lang.StringBuilder.append(StringBuilder.java:136)<br />
:at robocode.io.Logger.log(Unknown Source)<br />
:at robocode.battle.Battle.setupRound(Unknown Source)<br />
:at robocode.battle.Battle.run(Unknown Source)<br />
:at java.lang.Thread.run(Thread.java:636)<br />
--[[User:Lestofante|lestofante]] 12:07, 4 December 2008 (UTC)<br />
<br />
To allocate more memory, you need to change "-Xmx256M" in roborumble.sh to something more like "-Xmx512M" or however much you feel comfortable allowing Java to eat. I find 512M is usually a safe value that doesn't run out of memory. --[[User:Rednaxela|Rednaxela]] 14:16, 4 December 2008 (UTC)<br />
<br />
I've followed your tip but here the another error: <br />
Fighting battle 4 ... ags.polished.PolishedRuby 1,jcs.Seth 1.8<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: GC overhead limit exceeded<br />
and another:<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
at java.util.Arrays.copyOf(Arrays.java:2882)<br />
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)<br />
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)<br />
at java.lang.StringBuilder.append(StringBuilder.java:119)<br />
at robocode.io.Logger.log(Unknown Source)<br />
at robocode.battle.Battle.setupRound(Unknown Source)<br />
at robocode.battle.Battle.run(Unknown Source)<br />
at java.lang.Thread.run(Thread.java:619)<br />
--[[User:Lestofante|lestofante]] 14:38, 10 December 2008 (UTC)<br />
<br />
<br />
One of my clients also died from an OutOfMemoryError (heap space) while running PolishedRuby against Reaper. I'm using -Xm512, which should be plenty. Most battles run fine so you may have a memory leak? --[[User:Darkcanuck|Darkcanuck]] 17:48, 10 December 2008 (UTC)<br />
<br />
I've looked into my log, the exception are launched only in battle with PolishedRuby.. The bad thing is after this error roborumble will not exit, blocking all external loop script. --[[User:Lestofante|lestofante]] 18:02, 10 December 2008 (UTC)<br />
<br />
Yeah, my client also had an out of memory error with PolishedRuby when I came back to the computer now. I find this quite odd because it's gun is an exact copy from [[RougeDC]] and the movement doesn't store any data, and yet I've never seen RougeDC get an out of memory error with -Xmx512M. The only possible cause for this I can think of is that certain battles might last longer with PolishedRuby than RougeDC and because the gun consists of a PM and two DC configs memory usage is increased in longer battles. Still though, I doubt battles last that much longer really, so I'm quite perplexed... If anyone knows of any way to profile memory usage, I'm all ears. --[[User:Rednaxela|Rednaxela]] 20:02, 10 December 2008 (UTC)<br />
<br />
GC overhead limit exceeded exception mean that java garbage collector is working about 98% of application time... try some GC monitor (VisualVM has it) --[[User:Lestofante|lestofante]] 21:17, 10 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Reported_Problems&diff=3579RoboRumble/Reported Problems2008-12-10T18:02:56Z<p>Lestofante: /* OutOfMemoryError */</p>
<hr />
<div>==OutOfMemoryError==<br />
I'm running roborumble client version 1.5.4 on ubuntu (default VM: openJDK 1.6.0.0), and sometimes in my log I find: Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space, can someone tell me a way to grab more information about this error or a way to solve it?<br />
<br />
UPDATE: found more information<br />
<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
:at java.util.Arrays.copyOf(Arrays.java:2894)<br />
:at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)<br />
:at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)<br />
:at java.lang.StringBuilder.append(StringBuilder.java:136)<br />
:at robocode.io.Logger.log(Unknown Source)<br />
:at robocode.battle.Battle.setupRound(Unknown Source)<br />
:at robocode.battle.Battle.run(Unknown Source)<br />
:at java.lang.Thread.run(Thread.java:636)<br />
--[[User:Lestofante|lestofante]] 12:07, 4 December 2008 (UTC)<br />
<br />
To allocate more memory, you need to change "-Xmx256M" in roborumble.sh to something more like "-Xmx512M" or however much you feel comfortable allowing Java to eat. I find 512M is usually a safe value that doesn't run out of memory. --[[User:Rednaxela|Rednaxela]] 14:16, 4 December 2008 (UTC)<br />
<br />
I've followed your tip but here the another error: <br />
Fighting battle 4 ... ags.polished.PolishedRuby 1,jcs.Seth 1.8<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: GC overhead limit exceeded<br />
and another:<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
at java.util.Arrays.copyOf(Arrays.java:2882)<br />
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)<br />
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)<br />
at java.lang.StringBuilder.append(StringBuilder.java:119)<br />
at robocode.io.Logger.log(Unknown Source)<br />
at robocode.battle.Battle.setupRound(Unknown Source)<br />
at robocode.battle.Battle.run(Unknown Source)<br />
at java.lang.Thread.run(Thread.java:619)<br />
--[[User:Lestofante|lestofante]] 14:38, 10 December 2008 (UTC)<br />
<br />
<br />
One of my clients also died from an OutOfMemoryError (heap space) while running PolishedRuby against Reaper. I'm using -Xm512, which should be plenty. Most battles run fine so you may have a memory leak? --[[User:Darkcanuck|Darkcanuck]] 17:48, 10 December 2008 (UTC)<br />
<br />
I've looked into my log, the exception are launched only in battle with PolishedRuby.. The bad thing is after this error roborumble will not exit, blocking all external loop script. --[[User:Lestofante|lestofante]] 18:02, 10 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Talk:RoboRumble/Contributing_to_RoboRumble&diff=3568Talk:RoboRumble/Contributing to RoboRumble2008-12-10T15:48:26Z<p>Lestofante: /* ==stable rumble client== */</p>
<hr />
<div>{{CreditForOldWikiArticle|oldpage=RoboRumble/StartingWithRoboRumble}}<br />
<br />
<br />
== Old Wiki ==<br />
----<br />
I presume all older issues are not valid anymore, otherwise you can find them on [[RoboRumble/StartingWithRoboRumbleOld|/StartingWithRoboRumbleOld]] or put them here below again.<br />
----<br />
<br />
Sweet. Much easier now thanks. How can I control how many battles are run at once? Or should I just setup a for loop in a batch file for that? --[[Miked0801]]<br />
* Halfway the file "roborumble.txt" you'll find "NUMBATTLES=xx", there you fill in the number of battles fought before uploading results and quitting robocode. In the batch-file I have made an infinitive loop so my client can run unattended all night. -- [[GrubbmGait]]<br />
* (Edit conflict) There are .txt files for each type of rumble - roborumble.txt, meleerumble.txt, and teamrumble.txt - in the 'roborumble' directory. The "NUMBATTLES" controls how many are run before uploading, "BATTLESPERBOT" is the minimum number of battles a bot needs before it stops getting priority, and "USER" is just to identify yourself in the logs and such. I have mine with "ITERATE=NOT" and I do use a shell script that loops to keep it running. -- [[Voidious]]<br />
<br />
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:<br />
<pre><br />
#!/bin/bash<br />
<br />
echo # new line<br />
count=0<br />
while [ "$var1" != "fine" ] # forever<br />
do<br />
let "count=count+1"<br />
echo "battle n: " $count<br />
sh roborumble.sh &> ./log/temp$count.txt<br />
echo<br />
done <br />
<br />
exit 0<br />
</pre><br />
<br />
p.s.: it's very useful for catch error, someone can traslate the script in windows's dos?<br />
[[Asdasd]]<br />
<br />
Wow - is 256MB still the default for the rumble? Why not at least 512, if robocode's default itself is 512? -- [[Simonton]]<br />
<br />
I'm not sure - maybe because the GUI takes a lot of memory? -- [[Skilgannon]]<br />
<br />
Ehh, the GUI shouldn't, not compared to many adaptive bots (particularly log targeting). Personally I always set 512MB in the rumble, and the only time I've had an out of memory problem with 512MB was when some particularly memory-heavy team (can't remember which one) was going. Personally I'd support defaulting to 512MB, at least for teams/melee, if [[Fnl]] is listening :-) -- [[Rednaxela]]<br />
<br />
Can someone please zip a new update, i've unzipped the archives above and still get a ton of "Ignoring xxx..." message because they weren't download...thank you! (or even better someone start a new repository and put the zipped bots there...) --[[Starrynte]]<br />
<br />
== RoboRumbler ==<br />
I didn't know where to post this, but I guess the talk section is always good enough. I created an Java Application called [[Zyx/RoboRumbler|RoboRumbler]] to help controlling the resources [[RoboRumble]] uses. It's basically an application to let me work and run [[RoboRumble]] at the same time, I further explain it in it's page if anyone is interested. --[[zyx]]<br />
<br />
Hmm, I'm curious about this. How does it account for the fact that RoboRumble is highly sensitive to the amount of CPU allocated to it? (i.e. other apps taking lots of CPU can make bots skip turns and potentially give very wrong results). If this limits the CPU allocated to RoboRumble, does it correctly make sure the constant for the time robots get per turn is increased suitably? ''(P.S. on the new wiki you can use <nowiki>--~~~~</nowiki> or the signature button to sign your messages with time/date easily. Personally I'd recommend it because it makes it possible to look back at conversations and know when they happened. :))'' --[[User:Rednaxela|Rednaxela]] 21:45, 26 November 2008 (UTC)<br />
<br />
Right now the application is not intended to work with CPU intensive applications, it basically runs them in the same way as they would normally do, but allows you to run then from time to time, and then forever by itself again and stuff like that. So you could be working in the machine, but not hogging the CPU yourself, you can set it to have a few battles and then sleep for 20 minutes. You could be writing some code(I did it to work on my thesis in the mean time), but not execute it until the [[RoboRumbler]] goes to sleep. Then you would have those 20 or any other amount of time to use the whole CPU when no rumble battles are running, so you could compile and test your application, and then, when the rumble is about to start again, you lower your activity. And when you are heading to your bed, set the sleep time to 0 and let it rumble without stop.<br />
<br />
Hopefully it will grow to a system that doesn't need for the user to be careful, but right now is the best I have. I was doing the same thing but manually, I ran the rumble battles while I was writing stuff, waited for it to finish so I could ran my application and then set the rumble again. But in no moment my idea was to really lower the CPU usage for [[RoboRumble]] during battles, but to have some deterministic break times when I could use the computer. (P.S. Thanks about the <nowiki>--~~~~</nowiki>, I saw it before in your post, but thought you wrote it yourself, and seemed like to much work) --[[User:Zyx|Zyx]] 23:44, 26 November 2008 (UTC)<br />
<br />
==stable rumble client==<br />
<br />
Are the stable rumble client 1.5.4 and, 1.6.0 or 1.6.0.1? someone have tested the new robocode version? --[[User:Lestofante|lestofante]] 15:44, 10 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Talk:RoboRumble/Contributing_to_RoboRumble&diff=3567Talk:RoboRumble/Contributing to RoboRumble2008-12-10T15:44:58Z<p>Lestofante: /* ==stable rumble client== */</p>
<hr />
<div>{{CreditForOldWikiArticle|oldpage=RoboRumble/StartingWithRoboRumble}}<br />
<br />
<br />
== Old Wiki ==<br />
----<br />
I presume all older issues are not valid anymore, otherwise you can find them on [[RoboRumble/StartingWithRoboRumbleOld|/StartingWithRoboRumbleOld]] or put them here below again.<br />
----<br />
<br />
Sweet. Much easier now thanks. How can I control how many battles are run at once? Or should I just setup a for loop in a batch file for that? --[[Miked0801]]<br />
* Halfway the file "roborumble.txt" you'll find "NUMBATTLES=xx", there you fill in the number of battles fought before uploading results and quitting robocode. In the batch-file I have made an infinitive loop so my client can run unattended all night. -- [[GrubbmGait]]<br />
* (Edit conflict) There are .txt files for each type of rumble - roborumble.txt, meleerumble.txt, and teamrumble.txt - in the 'roborumble' directory. The "NUMBATTLES" controls how many are run before uploading, "BATTLESPERBOT" is the minimum number of battles a bot needs before it stops getting priority, and "USER" is just to identify yourself in the logs and such. I have mine with "ITERATE=NOT" and I do use a shell script that loops to keep it running. -- [[Voidious]]<br />
<br />
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:<br />
<pre><br />
#!/bin/bash<br />
<br />
echo # new line<br />
count=0<br />
while [ "$var1" != "fine" ] # forever<br />
do<br />
let "count=count+1"<br />
echo "battle n: " $count<br />
sh roborumble.sh &> ./log/temp$count.txt<br />
echo<br />
done <br />
<br />
exit 0<br />
</pre><br />
<br />
p.s.: it's very useful for catch error, someone can traslate the script in windows's dos?<br />
[[Asdasd]]<br />
<br />
Wow - is 256MB still the default for the rumble? Why not at least 512, if robocode's default itself is 512? -- [[Simonton]]<br />
<br />
I'm not sure - maybe because the GUI takes a lot of memory? -- [[Skilgannon]]<br />
<br />
Ehh, the GUI shouldn't, not compared to many adaptive bots (particularly log targeting). Personally I always set 512MB in the rumble, and the only time I've had an out of memory problem with 512MB was when some particularly memory-heavy team (can't remember which one) was going. Personally I'd support defaulting to 512MB, at least for teams/melee, if [[Fnl]] is listening :-) -- [[Rednaxela]]<br />
<br />
Can someone please zip a new update, i've unzipped the archives above and still get a ton of "Ignoring xxx..." message because they weren't download...thank you! (or even better someone start a new repository and put the zipped bots there...) --[[Starrynte]]<br />
<br />
== RoboRumbler ==<br />
I didn't know where to post this, but I guess the talk section is always good enough. I created an Java Application called [[Zyx/RoboRumbler|RoboRumbler]] to help controlling the resources [[RoboRumble]] uses. It's basically an application to let me work and run [[RoboRumble]] at the same time, I further explain it in it's page if anyone is interested. --[[zyx]]<br />
<br />
Hmm, I'm curious about this. How does it account for the fact that RoboRumble is highly sensitive to the amount of CPU allocated to it? (i.e. other apps taking lots of CPU can make bots skip turns and potentially give very wrong results). If this limits the CPU allocated to RoboRumble, does it correctly make sure the constant for the time robots get per turn is increased suitably? ''(P.S. on the new wiki you can use <nowiki>--~~~~</nowiki> or the signature button to sign your messages with time/date easily. Personally I'd recommend it because it makes it possible to look back at conversations and know when they happened. :))'' --[[User:Rednaxela|Rednaxela]] 21:45, 26 November 2008 (UTC)<br />
<br />
Right now the application is not intended to work with CPU intensive applications, it basically runs them in the same way as they would normally do, but allows you to run then from time to time, and then forever by itself again and stuff like that. So you could be working in the machine, but not hogging the CPU yourself, you can set it to have a few battles and then sleep for 20 minutes. You could be writing some code(I did it to work on my thesis in the mean time), but not execute it until the [[RoboRumbler]] goes to sleep. Then you would have those 20 or any other amount of time to use the whole CPU when no rumble battles are running, so you could compile and test your application, and then, when the rumble is about to start again, you lower your activity. And when you are heading to your bed, set the sleep time to 0 and let it rumble without stop.<br />
<br />
Hopefully it will grow to a system that doesn't need for the user to be careful, but right now is the best I have. I was doing the same thing but manually, I ran the rumble battles while I was writing stuff, waited for it to finish so I could ran my application and then set the rumble again. But in no moment my idea was to really lower the CPU usage for [[RoboRumble]] during battles, but to have some deterministic break times when I could use the computer. (P.S. Thanks about the <nowiki>--~~~~</nowiki>, I saw it before in your post, but thought you wrote it yourself, and seemed like to much work) --[[User:Zyx|Zyx]] 23:44, 26 November 2008 (UTC)<br />
<br />
== ==stable rumble client== ==<br />
<br />
Are the stable rumble client 1.5.4 and, 1.6.0 or 1.6.0.1? someone have tested the new robocode version? --[[User:Lestofante|lestofante]] 15:44, 10 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Talk:RoboRumble/Contributing_to_RoboRumble&diff=3566Talk:RoboRumble/Contributing to RoboRumble2008-12-10T15:44:36Z<p>Lestofante: New section: ==stable rumble client==</p>
<hr />
<div>{{CreditForOldWikiArticle|oldpage=RoboRumble/StartingWithRoboRumble}}<br />
<br />
<br />
== Old Wiki ==<br />
----<br />
I presume all older issues are not valid anymore, otherwise you can find them on [[RoboRumble/StartingWithRoboRumbleOld|/StartingWithRoboRumbleOld]] or put them here below again.<br />
----<br />
<br />
Sweet. Much easier now thanks. How can I control how many battles are run at once? Or should I just setup a for loop in a batch file for that? --[[Miked0801]]<br />
* Halfway the file "roborumble.txt" you'll find "NUMBATTLES=xx", there you fill in the number of battles fought before uploading results and quitting robocode. In the batch-file I have made an infinitive loop so my client can run unattended all night. -- [[GrubbmGait]]<br />
* (Edit conflict) There are .txt files for each type of rumble - roborumble.txt, meleerumble.txt, and teamrumble.txt - in the 'roborumble' directory. The "NUMBATTLES" controls how many are run before uploading, "BATTLESPERBOT" is the minimum number of battles a bot needs before it stops getting priority, and "USER" is just to identify yourself in the logs and such. I have mine with "ITERATE=NOT" and I do use a shell script that loops to keep it running. -- [[Voidious]]<br />
<br />
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:<br />
<pre><br />
#!/bin/bash<br />
<br />
echo # new line<br />
count=0<br />
while [ "$var1" != "fine" ] # forever<br />
do<br />
let "count=count+1"<br />
echo "battle n: " $count<br />
sh roborumble.sh &> ./log/temp$count.txt<br />
echo<br />
done <br />
<br />
exit 0<br />
</pre><br />
<br />
p.s.: it's very useful for catch error, someone can traslate the script in windows's dos?<br />
[[Asdasd]]<br />
<br />
Wow - is 256MB still the default for the rumble? Why not at least 512, if robocode's default itself is 512? -- [[Simonton]]<br />
<br />
I'm not sure - maybe because the GUI takes a lot of memory? -- [[Skilgannon]]<br />
<br />
Ehh, the GUI shouldn't, not compared to many adaptive bots (particularly log targeting). Personally I always set 512MB in the rumble, and the only time I've had an out of memory problem with 512MB was when some particularly memory-heavy team (can't remember which one) was going. Personally I'd support defaulting to 512MB, at least for teams/melee, if [[Fnl]] is listening :-) -- [[Rednaxela]]<br />
<br />
Can someone please zip a new update, i've unzipped the archives above and still get a ton of "Ignoring xxx..." message because they weren't download...thank you! (or even better someone start a new repository and put the zipped bots there...) --[[Starrynte]]<br />
<br />
== RoboRumbler ==<br />
I didn't know where to post this, but I guess the talk section is always good enough. I created an Java Application called [[Zyx/RoboRumbler|RoboRumbler]] to help controlling the resources [[RoboRumble]] uses. It's basically an application to let me work and run [[RoboRumble]] at the same time, I further explain it in it's page if anyone is interested. --[[zyx]]<br />
<br />
Hmm, I'm curious about this. How does it account for the fact that RoboRumble is highly sensitive to the amount of CPU allocated to it? (i.e. other apps taking lots of CPU can make bots skip turns and potentially give very wrong results). If this limits the CPU allocated to RoboRumble, does it correctly make sure the constant for the time robots get per turn is increased suitably? ''(P.S. on the new wiki you can use <nowiki>--~~~~</nowiki> or the signature button to sign your messages with time/date easily. Personally I'd recommend it because it makes it possible to look back at conversations and know when they happened. :))'' --[[User:Rednaxela|Rednaxela]] 21:45, 26 November 2008 (UTC)<br />
<br />
Right now the application is not intended to work with CPU intensive applications, it basically runs them in the same way as they would normally do, but allows you to run then from time to time, and then forever by itself again and stuff like that. So you could be working in the machine, but not hogging the CPU yourself, you can set it to have a few battles and then sleep for 20 minutes. You could be writing some code(I did it to work on my thesis in the mean time), but not execute it until the [[RoboRumbler]] goes to sleep. Then you would have those 20 or any other amount of time to use the whole CPU when no rumble battles are running, so you could compile and test your application, and then, when the rumble is about to start again, you lower your activity. And when you are heading to your bed, set the sleep time to 0 and let it rumble without stop.<br />
<br />
Hopefully it will grow to a system that doesn't need for the user to be careful, but right now is the best I have. I was doing the same thing but manually, I ran the rumble battles while I was writing stuff, waited for it to finish so I could ran my application and then set the rumble again. But in no moment my idea was to really lower the CPU usage for [[RoboRumble]] during battles, but to have some deterministic break times when I could use the computer. (P.S. Thanks about the <nowiki>--~~~~</nowiki>, I saw it before in your post, but thought you wrote it yourself, and seemed like to much work) --[[User:Zyx|Zyx]] 23:44, 26 November 2008 (UTC)<br />
<br />
== ==stable rumble client== ==<br />
<br />
The stable rumble client is 1.5.4 and, 1.6.0 or 1.6.0.1? someone have tested the new robocode version? --[[User:Lestofante|lestofante]] 15:44, 10 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Reported_Problems&diff=3565RoboRumble/Reported Problems2008-12-10T15:14:25Z<p>Lestofante: /* OutOfMemoryError */</p>
<hr />
<div>==OutOfMemoryError==<br />
I'm running roborumble client version 1.5.4 on ubuntu (default VM: openJDK 1.6.0.0), and sometimes in my log I find: Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space, can someone tell me a way to grab more information about this error or a way to solve it?<br />
<br />
UPDATE: found more information<br />
<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
:at java.util.Arrays.copyOf(Arrays.java:2894)<br />
:at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)<br />
:at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)<br />
:at java.lang.StringBuilder.append(StringBuilder.java:136)<br />
:at robocode.io.Logger.log(Unknown Source)<br />
:at robocode.battle.Battle.setupRound(Unknown Source)<br />
:at robocode.battle.Battle.run(Unknown Source)<br />
:at java.lang.Thread.run(Thread.java:636)<br />
--[[User:Lestofante|lestofante]] 12:07, 4 December 2008 (UTC)<br />
<br />
To allocate more memory, you need to change "-Xmx256M" in roborumble.sh to something more like "-Xmx512M" or however much you feel comfortable allowing Java to eat. I find 512M is usually a safe value that doesn't run out of memory. --[[User:Rednaxela|Rednaxela]] 14:16, 4 December 2008 (UTC)<br />
<br />
I've followed your tip but here the another error: <br />
Fighting battle 4 ... ags.polished.PolishedRuby 1,jcs.Seth 1.8<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: GC overhead limit exceeded<br />
and another:<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
at java.util.Arrays.copyOf(Arrays.java:2882)<br />
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)<br />
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)<br />
at java.lang.StringBuilder.append(StringBuilder.java:119)<br />
at robocode.io.Logger.log(Unknown Source)<br />
at robocode.battle.Battle.setupRound(Unknown Source)<br />
at robocode.battle.Battle.run(Unknown Source)<br />
at java.lang.Thread.run(Thread.java:619)<br />
--[[User:Lestofante|lestofante]] 14:38, 10 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=RoboRumble/Reported_Problems&diff=3564RoboRumble/Reported Problems2008-12-10T14:38:55Z<p>Lestofante: /* OutOfMemoryError */</p>
<hr />
<div>==OutOfMemoryError==<br />
I'm running roborumble client version 1.5.4 on ubuntu (default VM: openJDK 1.6.0.0), and sometimes in my log I find: Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space, can someone tell me a way to grab more information about this error or a way to solve it?<br />
<br />
UPDATE: found more information<br />
<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: Java heap space<br />
:at java.util.Arrays.copyOf(Arrays.java:2894)<br />
:at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)<br />
:at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)<br />
:at java.lang.StringBuilder.append(StringBuilder.java:136)<br />
:at robocode.io.Logger.log(Unknown Source)<br />
:at robocode.battle.Battle.setupRound(Unknown Source)<br />
:at robocode.battle.Battle.run(Unknown Source)<br />
:at java.lang.Thread.run(Thread.java:636)<br />
--[[User:Lestofante|lestofante]] 12:07, 4 December 2008 (UTC)<br />
<br />
To allocate more memory, you need to change "-Xmx256M" in roborumble.sh to something more like "-Xmx512M" or however much you feel comfortable allowing Java to eat. I find 512M is usually a safe value that doesn't run out of memory. --[[User:Rednaxela|Rednaxela]] 14:16, 4 December 2008 (UTC)<br />
<br />
I've followed your tip but here the another error: <br />
Fighting battle 4 ... ags.polished.PolishedRuby 1,jcs.Seth 1.8<br />
Exception in thread "Battle Thread" java.lang.OutOfMemoryError: GC overhead limit exceeded<br />
<br />
--[[User:Lestofante|lestofante]] 14:38, 10 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Talk:RoboRumble/Development&diff=3547Talk:RoboRumble/Development2008-12-06T12:55:23Z<p>Lestofante: /* Background Uploader */</p>
<hr />
<div>==Background Uploader -- Deprecated==<br />
<br />
This script is no longer necessary due to a server's upload speed-up.<br />
<br />
This code, if run with a script in background after every iteration of roborumble's client, will upload your result while your client is fighting a new iteration, reducing the iteration time of 25% in the best case.<br />
<br />
I'm actually patching roborumble 1.6.0 code to include this script's functionally (simply threading it and modifying the logging system for multi thread) in the hope this will be included in the next official roborumble's client<br />
<br />
see after the code for installation instruction<br />
----<br />
ATTENTION: you MUST set roborumble.txt UPLOAD=NOT, ITERATION=NOT, and this code WORKS ONLY FOR 1VS1!!<br />
This script is no longer necessary due to a server's upload speed-up.<br />
----<br />
<br />
<pre><br />
import java.io.BufferedReader;<br />
import java.io.BufferedWriter;<br />
import java.io.File;<br />
import java.io.FileReader;<br />
import java.io.FileWriter;<br />
import java.io.InputStreamReader;<br />
import java.io.OutputStreamWriter;<br />
import java.net.HttpURLConnection;<br />
import java.net.URL;<br />
import java.util.ArrayList;<br />
<br />
public class UploaderMain {<br />
<br />
static String infoThread;<br />
String clientVersion = "1";<br />
<br />
long maxTry = 10;<br />
<br />
public static void main(String args[]){<br />
<br />
String infoFilePath = "./roborumble/roborumble.txt";<br />
<br />
switch (args.length){<br />
case 2:<br />
infoFilePath = args[1];<br />
//whitout break;<br />
case 1:<br />
infoThread = args[0];<br />
break;<br />
case 0:<br />
infoThread = "";<br />
break;<br />
default:<br />
System.out.println("Usage: java UploaderMain [id] [path]\nid: name of this thread\npath: Path to roborumble settings file");<br />
return;<br />
}<br />
<br />
File test = new File(infoFilePath);<br />
if ( !test.exists() ){<br />
System.err.println("Roborumble setting file not found, try to specify his pah by default");<br />
return;<br />
}<br />
<br />
new UploaderMain(infoFilePath);<br />
}<br />
<br />
public UploaderMain(String infoFilePath){<br />
<br />
logOut("Starting Uploader");<br />
<br />
// read info from file<br />
ArrayList<String> allInfo = readFIle( infoFilePath );<br />
// extact info<br />
String[] info = findInfo(allInfo);<br />
<br />
if ((info == null) || (info.length != 2)){<br />
logErr("Roborumble settings file invalid");<br />
return;<br />
}<br />
<br />
// set info<br />
String uploadServerUrl = info[0];<br />
String battleFilePath = info[1];<br />
<br />
// read battle from file<br />
ArrayList<String> battles = readFIle( battleFilePath );<br />
<br />
if (battles == null){<br />
logErr("Battle files format invalid");<br />
return;<br />
}<br />
<br />
// delete old battle file<br />
File oldBattle = new File( battleFilePath );<br />
oldBattle.delete();<br />
<br />
// prepare data to be uploaded (only 1vs1 supported)<br />
battles = prepareToUpload1VS1(battles);<br />
<br />
ArrayList<String> battlesNotSend;<br />
long countTry = 0;<br />
while ((battles.size() > 0) && (countTry < maxTry)){<br />
battlesNotSend = new ArrayList<String>();<br />
for (String battle : battles){<br />
if ( !sendBattle(battle, uploadServerUrl) )<br />
battlesNotSend.add(battle);<br />
}<br />
battles = battlesNotSend; <br />
countTry++;<br />
}<br />
logOut("Stopping Uploader, number of not uploaded battle: "+battles.size());<br />
if (battles.size() > 0)<br />
for (String battle:battles)<br />
write(battle+"\n", "results.txt");<br />
}<br />
<br />
private String[] findInfo(ArrayList<String> allInfo) {<br />
/*<br />
* FIND INFO:<br />
* at [0]: uploadServerUrl - RESULTSURL=<br />
* at [1]: battleFilePath - OUTPUT=<br />
*/<br />
String[] info = new String[2];<br />
info[0] = null;<br />
info[1] = null;<br />
<br />
for (String ris : allInfo){<br />
if (ris.indexOf("RESULTSURL=") >= 0){<br />
info[0] = ris.substring(ris.indexOf("=")+1);<br />
}<br />
if (ris.indexOf("OUTPUT=") >= 0){<br />
info[1] = ris.substring(ris.indexOf("=")+1);<br />
} <br />
}<br />
<br />
if ((info[0] != null)&&(info[1] != null))<br />
return info;<br />
<br />
return null;<br />
}<br />
<br />
private ArrayList<String> prepareToUpload1VS1(ArrayList<String> battles) {<br />
<br />
ArrayList<String> preparedBattles = new ArrayList<String>();<br />
<br />
String[] parametres = new String[6];<br />
String preparingBattle;<br />
<br />
for(int i = 0; i < battles.size(); i++){<br />
<br />
//extrapolate battlefield information<br />
parametres = battles.get(i).split(",");<br />
<br />
if ( parametres.length != 6 ){<br />
logErr( "invalid battlefield: "+battles.get(i) );<br />
continue;<br />
}<br />
<br />
<br />
// preparing string to upload<br />
preparingBattle = new String();<br />
preparingBattle += "version="+clientVersion;<br />
preparingBattle += "&game="+parametres[0];<br />
preparingBattle += "&rounds="+parametres[1];<br />
preparingBattle += "&field="+parametres[2];<br />
preparingBattle += "&user="+parametres[3];<br />
preparingBattle += "&time="+parametres[4];<br />
<br />
<br />
<br />
// extrapolate robot 1<br />
i++;<br />
parametres = battles.get(i).split(",");<br />
<br />
// if invalid information<br />
if ( parametres.length != 4 ){<br />
logErr( "invalid robot: "+battles.get(i) );<br />
continue;<br />
}<br />
<br />
// preparing string to upload<br />
preparingBattle += "&fname="+parametres[0];<br />
preparingBattle += "&fscore="+parametres[1];<br />
preparingBattle += "&fbulletd="+parametres[2];<br />
preparingBattle += "&fsurvival="+parametres[3];<br />
<br />
// extrapolate robot 2<br />
i++;<br />
parametres = battles.get(i).split(",");<br />
<br />
// if invalid information<br />
if ( parametres.length != 4 ){<br />
logErr( "invalid robot: "+battles.get(i) );<br />
continue;<br />
}<br />
<br />
// preparing string to upload<br />
preparingBattle += "&sname="+parametres[0];<br />
preparingBattle += "&sscore="+parametres[1];<br />
preparingBattle += "&sbulletd="+parametres[2];<br />
preparingBattle += "&ssurvival="+parametres[3];<br />
preparedBattles.add(preparingBattle);<br />
}<br />
<br />
return preparedBattles;<br />
}<br />
<br />
private boolean sendBattle(String battle, String uploadServerURL){<br />
// crea l'URL e la connessione HTTP con la servlet<br />
try{<br />
<br />
URL url = new URL(uploadServerURL);<br />
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();<br />
httpURLConnection.setRequestMethod( "POST" ) ;<br />
//httpURLConnection.setDoInput(true);<br />
httpURLConnection.setDoOutput(true);<br />
httpURLConnection.connect() ;<br />
<br />
<br />
OutputStreamWriter dataOutputStream = new OutputStreamWriter(httpURLConnection.getOutputStream());<br />
dataOutputStream.write( battle );<br />
dataOutputStream.flush();<br />
dataOutputStream.close();<br />
<br />
BufferedReader dataInputStream = new BufferedReader( new InputStreamReader( httpURLConnection.getInputStream() ) );<br />
String response = new String();<br />
boolean okUpload = false; <br />
while(true){<br />
response = dataInputStream.readLine();<br />
if ( response == null )<br />
break;<br />
if ( response.indexOf("OK.") == 0 )<br />
okUpload = true;<br />
logOut("risposta: "+response);<br />
}<br />
dataInputStream.close();<br />
return okUpload;<br />
<br />
}catch(Exception e){<br />
logErr("error: "+e);<br />
}<br />
return false;<br />
}<br />
<br />
private void logOut(String string) {<br />
log(string, "./log/outUploader");<br />
}<br />
<br />
private void logErr(String string) {<br />
log(string, "./log/errUploader");<br />
}<br />
<br />
private void log(String string, String fileName) {<br />
write(infoThread+": "+string+"\n", fileName);<br />
}<br />
<br />
private void write(String string, String fileName) {<br />
try {<br />
BufferedWriter output = new BufferedWriter(new FileWriter(fileName, true));<br />
output.write(string);<br />
output.close();<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
}<br />
}<br />
<br />
private ArrayList<String> readFIle( String filePath ) {<br />
<br />
try{<br />
<br />
ArrayList<String> battles = new ArrayList<String>();<br />
FileReader battleFile = new FileReader( filePath );<br />
BufferedReader battleReader = new BufferedReader(battleFile);<br />
String battle = null;<br />
while(true){<br />
battle = battleReader.readLine();<br />
if (battle==null)<br />
break;<br />
battles.add(battle);<br />
}<br />
battleReader.close();<br />
<br />
return battles;<br />
<br />
}catch(Exception e){<br />
System.out.println("Error: "+e);<br />
return null;<br />
}<br />
}<br />
}<br />
</pre><br />
thank to [[User:Rednaxela|Rednaxela]] for code formatting<br />
<br />
INSTALLATION<br />
copy and compile the code in the robocode home directory(where there is roborumble.bat and roborumble.sh), then if you are windows user create a new file "nameAsYouWant.bat" and write on it (script is not tested!):<br />
<pre><br />
:inizio<br />
<br />
CALL roborumble.bat<br />
<br />
START java UploaderMain<br />
GOTO inizio<br />
<br />
</pre><br />
if you are under UNIX create a new directory "log" new file "nameAsYouWant.sh" and write on it the following code. This script is more advanced: in the log directory you will find the log of all client's iteration, with at the end the execution time. you can find also 2 log file of the uploader:<br />
#errUpdaters.txt created and filled with the uploader's error (no error no file)<br />
#outUploader.txt filled with server response and live time of uploaders<br />
#results.txt<br />
this last 2 file have to be deleted sometimes<br />
<pre><br />
#!/bin/bash<br />
echo<br />
count=0<br />
while [ "$var1" != "fine" ] # while test "$var1" != "fine", forever<br />
do<br />
let "count=count+1"<br />
date<br />
echo "battle n: " $count<br />
time ./roborumble.sh &> ./log/temp$count.txt<br />
java UploaderMain $count &<br />
echo<br />
done <br />
<br />
exit 0<br />
</pre><br />
WARNING: in the robocode's home directory there will be created a file called results.txt with all unloaded battle; delete it sometimes, with errUpdaters.txt and outUpdaters.txt if you're using unix's script.<br />
--[[User:Lestofante|lestofante]] 00:09, 6 December 2008 (UTC)<br />
<br />
Hmm, when implementing this functionality as a patch, could you make it an option? Or alternatively, at least also make an option for a delay between iterations? I don't like how hot my laptop CPU gets if it doesn't get any breaks ;) --[[User:Rednaxela|Rednaxela]] 02:41, 6 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Talk:Darkcanuck/RRServer/KnownIssues&diff=3546Talk:Darkcanuck/RRServer/KnownIssues2008-12-06T12:53:50Z<p>Lestofante: /* Performance */</p>
<hr />
<div>== Survival count should total 35 ==<br />
<br />
I want to confirm what has already been mentioned: survival count should not necessarily total 35. It appears that when bots die on the same tick, they both get credited with a first place finish. --[[User:Simonton|Simonton]] 22:49, 27 September 2008 (UTC)<br />
*There was only one unmatching battle (17+14) in the over 5000 results I sent to this server. But indeed, 34 and 36 should be accepted too in my opinion. I think that battles against rambots (used to) have the most chance on getting these non-35 results. --[[User:GrubbmGait|GrubbmGait]] 23:16, 27 September 2008 (UTC)<br />
<br />
The current check is that the survival totals ''at least'' 35 should that should take into account ties. But the results that are getting stuck on my clients are for <35 1st place survivals. One client has 24-8 (32 total) for Cephalosporin vs UrChicken2. Two of my clients (not physically here, checked on them yesterday) had about a dozen battles involving RougeDC Classic, also with less than 34. What to do? --[[User:Darkcanuck|Darkcanuck]] 23:55, 27 September 2008 (UTC)<br />
<br />
Well, could you try running the normal Robocode (non rumble) with pairings like you're seeing this with in rumble? If you can't reproduce it that way, than it sounds like it might be a bug in the rumble client, and if you can reproduce it it should become evident what's happening by watching the battles when this happens (perhaps use the replay feature? Not sure how well that works though). I can't seem to see anything at all like that happening here. --[[User:Rednaxela|Rednaxela]] 00:02, 28 September 2008 (UTC)<br />
<br />
:I only see those clients once every few weeks, so it will be awhile. They're running 1.5.4 with the latest version of Java on Windows 2000. It's only ~12 battles out of 1500+, so a very low occurrence. If I turn off the survival check, you'll see them come through... --[[User:Darkcanuck|Darkcanuck]] 00:19, 28 September 2008 (UTC)<br />
<br />
I would not accept results lower than 34 or higher than 40. This check is mainly to intercept results from wrongly setupped clients, as that can be devastating for the rankings. A rare glitch of Robocode or the client can easily be repaired (when noticed). --[[User:GrubbmGait|GrubbmGait]] 01:16, 28 September 2008 (UTC)<br />
<br />
== HTTP response code: 503 ==<br />
<br />
Hmm, I started getting a bunch of "HTTP response code: 503" errors when uploading results. Anyone know why? --[[User:Rednaxela|Rednaxela]] 18:09, 2 December 2008 (UTC)<br />
<br />
I've got the same problem, and sometimes downloading rating page --[[User:Lestofante|lestofante]] 19:04, 2 December 2008 (UTC)<br />
<br />
Yeah, also when the client tries to download the ratings here too. One thing I've noticed is that when it tries to download the rating pages is that sometimes it's 503 and sometimes it's 500, but it's always 503 for uploading. Anyways right now I'm running my RR client with upload/download disabled in order to build up battles to upload in bulk when uploading is working again. --[[User:Rednaxela|Rednaxela]] 21:06, 2 December 2008 (UTC)<br />
<br />
: Hmm, the server does not look happy -- some sort of high load condition, I'll what I can do. --[[User:Darkcanuck|Darkcanuck]] 04:04, 3 December 2008 (UTC)<br />
<br />
'''ATTENTION!''' Someone has a bad participants list -- almost half the bots in the rumble have been removed! This is a very slow operation, especially when other clients are trying to add them back in. I've disabled bot removal for now while I investigate the source... --[[User:Darkcanuck|Darkcanuck]] 04:43, 3 December 2008 (UTC)<br />
<br />
Mea culpa, yesterday I've run for at least <strike>20 minutes</strike> 5 hour the rumble with an empty participants list before I see, understood and fixed my client's problem.. next time I will play with his option with Upload flag set to false! Now everything is running and I've over 2000 battle's to upload --[[User:Lestofante|lestofante]] 11:29, 3 December 2008 (UTC)<br />
<br />
: Ok, I've re-enabled your username + IP so you can upload again. 2000 battles, eh? Just make sure you're using one of the approved clients (1.5.4 or 1.6.0). Participant removals are still disabled just in case since the participant list can't change anyway.<br />
<br />
== Retired Bots ==<br />
<br />
In details pages like [http://darkcanuck.net/rumble/RatingsDetails?game=roborumble&name=abc.Shadow%203.83c this], bots that are 'retired' like Cunobelin 0.2.1 are showing up (see ELO score 0 bots on details pages). Did this accidentally happen when you disabled removal/retiring of bots temporarily? (Also, would it be possible to make details pages for retired bots viewable with the [http://darkcanuck.net/rumble/RatingsDetails?game=roborumble&name=jk.mini.Cunobelin%200.2.1 right URL]? :)) --[[User:Rednaxela|Rednaxela]] 16:52, 3 December 2008 (UTC)<br />
<br />
: Thanks for pointing that out -- I was trying to figure out why the rumble pairings weren't going back to normal. I'm not quite sure how those bots got reactivated, need to think on that a bit. (Could be the economic crisis has affected their retirement plans?) It doesn't look like any rumble clients are trying to remove them though -- probably due to the failure to download the participants list. I'll see what I can do to remove them. --[[User:Darkcanuck|Darkcanuck]] 02:31, 4 December 2008 (UTC)<br />
<br />
:Hm, I think its a bug in the reactivation process... if both participants in a pairing have been retired, reactivating either also reactivates the pairing, ugh. --[[User:Darkcanuck|Darkcanuck]] 02:48, 4 December 2008 (UTC)<br />
<br />
== Performance ==<br />
<br />
I'm uploading many battle I've run off-line, but the server is too slow. in 29 minutes I've uploaded only 262 battles, about 9 for minute!! Maybe are you updating all scoring system at every battle upload?--[[User:Lestofante|lestofante]] 13:30, 4 December 2008 (UTC)<br />
<br />
The scoring is calculated for each upload yes. If it wasn't the results page and such wouldn't be nice and live and such. Apparently [[Darkcanuck]] is planning some things that may improve performance such as getting rid of table locking in favor of transactions, but really, I do think the roughly 2 seconds per battle that you describe is very acceptable. After all, running a battle takes considerably longer than 2 seconds in almost all cases, so it's not like it's that huge an impact on the total number of battles uploaded. --[[User:Rednaxela|Rednaxela]] 13:47, 4 December 2008 (UTC)<br />
<br />
I think the scoring system have to be updated only when requested the scoring page or similia.. so we have to update only WHAT we need WHEN we need, saving many time and resources. <br />
Pay attention: the upload relay is about 60sec/9battle=6sec/battle, not 2... acceptable? lets see. <br />
#1 execute of roborumble.sh = 1 iteration<br />
#1 iteration = 10 battle<br />
#6sec/battle * 10 battle = 60second of upload time for iteration<br />
#150-200 seconds = 1 iteration on amd64 x2 4000+, ubuntu OS, openJDK as virtual machine, UPLOAD=NOT,DOWNLOAD=NOT + roborumble loading time (calculate with unix script "time")<br />
Result: upload time is about 1/4 of my rumble running time in the best case...add the ratings downloads time+new bot check and as result use on-line rumble takes about DOUBLE time than off-line(300-360 sec, calculated with unix script "time"), IMHO it's not acceptable<br />
If you have unix(machintosh is unix) you can calculate your execution time (I don't know how do it for windows), it's easy: time -p ./roborumble.sh, results is the first line, expressed in seconds--[[User:Lestofante|lestofante]] 14:30, 4 December 2008 (UTC)<br />
<br />
Whoops, I read it as "262 in 9 minutes". Still 6 seconds is acceptable I think. Certainly far from ideal, but acceptable enough. I believe the real fix is making the RR client upload in the background while battles are running. And... er.... updating the scoring system when loading the scoring page would... often take a few minutes or longer if the scoring page hasn't been viewed in a while I believe. I'm quite sure updating it incrementally is a necessity. --[[User:Rednaxela|Rednaxela]] 15:02, 4 December 2008 (UTC)<br />
<br />
The background upload is a great idea! now I will try to implement it, a little java program that grab the 1vs1result.txt(roborumble must have UPLOAD=NOT) copy it in RAM, clean the original, and in background upload the copy in RAM. we will see. --[[User:Lestofante|lestofante]] 15:59, 4 December 2008 (UTC)<br />
<br />
:Haha, well, I kind of think it would be easier to just implement it as a patch to the normal roborumble client that just moves the upload process into another thread that runs in the background. Plus as a patch to the existing RR client, I think it's likely it would be adopted for the next official release of Robocode ;) --[[User:Rednaxela|Rednaxela]] 18:11, 4 December 2008 (UTC)<br />
<br />
I agree that 2 seconds would be nicer... Think of it as break to let your processor cool off a bit? If you look elsewhere in these pages, scoring used to be batched but performance degraded dramatically as the database grew. Its faster (and more reliable) when scoring is done on each upload -- only the two bots uploaded get updated, but the Elo algorithm requires a lot of data to do so. Right now there's a scaling problem where many simultaneous uploads cause each one to slow down and I'm planning to addres this soon. But if lots of clients are recovering from the past two days problems (I took the server offline several hours last night) then we have a higher volume of uploads right now too. --[[User:Darkcanuck|Darkcanuck]] 16:08, 4 December 2008 (UTC)<br />
<br />
: I think most clients should be done recovering by now. I noticed the server refusing uploads for a bit last night and my client was easily back to normal long before I woke up. --[[User:Rednaxela|Rednaxela]] 18:11, 4 December 2008 (UTC)<br />
<br />
I've implemented a the Radnaxela idea (see [[Talk:RoboRumble/Development#Background_Uploader]]), and in about 5 hour I've duplicated my month upload... wow! And no collateral effect ^^" --[[User:Lestofante|lestofante]] 01:11, 5 December 2008 (UTC)<br />
<br />
: Very cool! But can you do like Rednaxela suggested and make this another thread in the rumble client? You guys are determined to push my poor server to its limits... :) --[[User:Darkcanuck|Darkcanuck]] 01:29, 5 December 2008 (UTC)<br />
<br />
:: Well don't worry, I won't be using background upload on my laptop here... at least not until I get an external cooling fan to boost airflow... because if it's maintained at high CPU use with no chances to cool off... it gets up past 93C sometimes which I call iffy when the processor is only designed to operate up to 95C (and the builtin auto-shutoff limit is at 105C) --[[User:Rednaxela|Rednaxela]] 03:11, 5 December 2008 (UTC)<br />
<br />
::: Another performance tip: I've had several hard drive failures/corruptions on machines I've used as clients which run continuously. My guess is that it's provoked by the constant disk writes caused by bots writing to their data directory at the end of each round. So I now have my robotcache dir mounted on a ramdisk -- its much quieter and battles run faster too. But I do put in a nice delay in between iterations for cooling to keep the cpu under 80. --[[User:Darkcanuck|Darkcanuck]] 04:04, 5 December 2008 (UTC)<br />
<br />
: Ok, look at [[Talk:RoboRumble/Development#Background_Uploader]] for the last really working version and use instruction. Now I'm running (and uploading) 1 iteration of 10 battle in 150 seconds (p.s. total CPU use under 60% with amule + azureus + firefox + eclipse + compiz). Now I'm going to implement a patch for the 1.6.0's code, is only one class to modify (UploaderResult) but my SVN client don't want run and manually import robocode's code in Eclipse give me some path problem (help me please, see [[Talk:Robocode/Developers_Guide_for_building_Robocode]]) --[[User:Lestofante|lestofante]] 23:14, 5 December 2008 (UTC)<br />
<br />
With the last server revision is not either necessary run the script cause upload's speed as been considerable incremented --[[User:Lestofante|lestofante]] 12:53, 6 December 2008 (UTC)<br />
<br />
== Proofing against add/remove wars ==<br />
<br />
I was just thinking, in order to proof against add/remove wars in the future, maybe it would be good to make the server check the participants list itself to verify the addition/removal? It make make addition/removal of a bot to/from rumble slightly slower, but those two operations are rare under normal conditions. --[[User:Rednaxela|Rednaxela]] 22:54, 4 December 2008 (UTC)<br />
<br />
: I was thinking along similar lines too, but I would make it a periodic check. Say every hour, the server gets the new participant list and does the add/removes directly and preventing clients from doing so. Also, the list could be obtained from the server so we can easily point to new locations or handle cases when the wiki is unavailable. --[[User:Darkcanuck|Darkcanuck]] 01:29, 5 December 2008 (UTC)<br />
<br />
:: Maybe have it also double-check the participants list again whenever a client sends results for a new bot? I'm saying that just because I think it's nice to be able to see your bots show up in the results as soon as the first battles are uploaded. --[[User:Rednaxela|Rednaxela]] 03:11, 5 December 2008 (UTC)<br />
<br />
::: True. This feature is not high on my list yet -- I want to fix the locking first, then look at the details comparison stuff (including retired bot details). --[[User:Darkcanuck|Darkcanuck]] 04:04, 5 December 2008 (UTC)</div>Lestofantehttp://robowiki.net/w/index.php?title=Talk:Darkcanuck/RRServer/KnownIssues&diff=3541Talk:Darkcanuck/RRServer/KnownIssues2008-12-06T01:47:47Z<p>Lestofante: /* Performance */</p>
<hr />
<div>== Survival count should total 35 ==<br />
<br />
I want to confirm what has already been mentioned: survival count should not necessarily total 35. It appears that when bots die on the same tick, they both get credited with a first place finish. --[[User:Simonton|Simonton]] 22:49, 27 September 2008 (UTC)<br />
*There was only one unmatching battle (17+14) in the over 5000 results I sent to this server. But indeed, 34 and 36 should be accepted too in my opinion. I think that battles against rambots (used to) have the most chance on getting these non-35 results. --[[User:GrubbmGait|GrubbmGait]] 23:16, 27 September 2008 (UTC)<br />
<br />
The current check is that the survival totals ''at least'' 35 should that should take into account ties. But the results that are getting stuck on my clients are for <35 1st place survivals. One client has 24-8 (32 total) for Cephalosporin vs UrChicken2. Two of my clients (not physically here, checked on them yesterday) had about a dozen battles involving RougeDC Classic, also with less than 34. What to do? --[[User:Darkcanuck|Darkcanuck]] 23:55, 27 September 2008 (UTC)<br />
<br />
Well, could you try running the normal Robocode (non rumble) with pairings like you're seeing this with in rumble? If you can't reproduce it that way, than it sounds like it might be a bug in the rumble client, and if you can reproduce it it should become evident what's happening by watching the battles when this happens (perhaps use the replay feature? Not sure how well that works though). I can't seem to see anything at all like that happening here. --[[User:Rednaxela|Rednaxela]] 00:02, 28 September 2008 (UTC)<br />
<br />
:I only see those clients once every few weeks, so it will be awhile. They're running 1.5.4 with the latest version of Java on Windows 2000. It's only ~12 battles out of 1500+, so a very low occurrence. If I turn off the survival check, you'll see them come through... --[[User:Darkcanuck|Darkcanuck]] 00:19, 28 September 2008 (UTC)<br />
<br />
I would not accept results lower than 34 or higher than 40. This check is mainly to intercept results from wrongly setupped clients, as that can be devastating for the rankings. A rare glitch of Robocode or the client can easily be repaired (when noticed). --[[User:GrubbmGait|GrubbmGait]] 01:16, 28 September 2008 (UTC)<br />
<br />
== HTTP response code: 503 ==<br />
<br />
Hmm, I started getting a bunch of "HTTP response code: 503" errors when uploading results. Anyone know why? --[[User:Rednaxela|Rednaxela]] 18:09, 2 December 2008 (UTC)<br />
<br />
I've got the same problem, and sometimes downloading rating page --[[User:Lestofante|lestofante]] 19:04, 2 December 2008 (UTC)<br />
<br />
Yeah, also when the client tries to download the ratings here too. One thing I've noticed is that when it tries to download the rating pages is that sometimes it's 503 and sometimes it's 500, but it's always 503 for uploading. Anyways right now I'm running my RR client with upload/download disabled in order to build up battles to upload in bulk when uploading is working again. --[[User:Rednaxela|Rednaxela]] 21:06, 2 December 2008 (UTC)<br />
<br />
: Hmm, the server does not look happy -- some sort of high load condition, I'll what I can do. --[[User:Darkcanuck|Darkcanuck]] 04:04, 3 December 2008 (UTC)<br />
<br />
'''ATTENTION!''' Someone has a bad participants list -- almost half the bots in the rumble have been removed! This is a very slow operation, especially when other clients are trying to add them back in. I've disabled bot removal for now while I investigate the source... --[[User:Darkcanuck|Darkcanuck]] 04:43, 3 December 2008 (UTC)<br />
<br />
Mea culpa, yesterday I've run for at least <strike>20 minutes</strike> 5 hour the rumble with an empty participants list before I see, understood and fixed my client's problem.. next time I will play with his option with Upload flag set to false! Now everything is running and I've over 2000 battle's to upload --[[User:Lestofante|lestofante]] 11:29, 3 December 2008 (UTC)<br />
<br />
: Ok, I've re-enabled your username + IP so you can upload again. 2000 battles, eh? Just make sure you're using one of the approved clients (1.5.4 or 1.6.0). Participant removals are still disabled just in case since the participant list can't change anyway.<br />
<br />
== Retired Bots ==<br />
<br />
In details pages like [http://darkcanuck.net/rumble/RatingsDetails?game=roborumble&name=abc.Shadow%203.83c this], bots that are 'retired' like Cunobelin 0.2.1 are showing up (see ELO score 0 bots on details pages). Did this accidentally happen when you disabled removal/retiring of bots temporarily? (Also, would it be possible to make details pages for retired bots viewable with the [http://darkcanuck.net/rumble/RatingsDetails?game=roborumble&name=jk.mini.Cunobelin%200.2.1 right URL]? :)) --[[User:Rednaxela|Rednaxela]] 16:52, 3 December 2008 (UTC)<br />
<br />
: Thanks for pointing that out -- I was trying to figure out why the rumble pairings weren't going back to normal. I'm not quite sure how those bots got reactivated, need to think on that a bit. (Could be the economic crisis has affected their retirement plans?) It doesn't look like any rumble clients are trying to remove them though -- probably due to the failure to download the participants list. I'll see what I can do to remove them. --[[User:Darkcanuck|Darkcanuck]] 02:31, 4 December 2008 (UTC)<br />
<br />
:Hm, I think its a bug in the reactivation process... if both participants in a pairing have been retired, reactivating either also reactivates the pairing, ugh. --[[User:Darkcanuck|Darkcanuck]] 02:48, 4 December 2008 (UTC)<br />
<br />
== Performance ==<br />
<br />
I'm uploading many battle I've run off-line, but the server is too slow. in 29 minutes I've uploaded only 262 battles, about 9 for minute!! Maybe are you updating all scoring system at every battle upload?--[[User:Lestofante|lestofante]] 13:30, 4 December 2008 (UTC)<br />
<br />
The scoring is calculated for each upload yes. If it wasn't the results page and such wouldn't be nice and live and such. Apparently [[Darkcanuck]] is planning some things that may improve performance such as getting rid of table locking in favor of transactions, but really, I do think the roughly 2 seconds per battle that you describe is very acceptable. After all, running a battle takes considerably longer than 2 seconds in almost all cases, so it's not like it's that huge an impact on the total number of battles uploaded. --[[User:Rednaxela|Rednaxela]] 13:47, 4 December 2008 (UTC)<br />
<br />
I think the scoring system have to be updated only when requested the scoring page or similia.. so we have to update only WHAT we need WHEN we need, saving many time and resources. <br />
Pay attention: the upload relay is about 60sec/9battle=6sec/battle, not 2... acceptable? lets see. <br />
#1 execute of roborumble.sh = 1 iteration<br />
#1 iteration = 10 battle<br />
#6sec/battle * 10 battle = 60second of upload time for iteration<br />
#150-200 seconds = 1 iteration on amd64 x2 4000+, ubuntu OS, openJDK as virtual machine, UPLOAD=NOT,DOWNLOAD=NOT + roborumble loading time (calculate with unix script "time")<br />
Result: upload time is about 1/4 of my rumble running time in the best case...add the ratings downloads time+new bot check and as result use on-line rumble takes about DOUBLE time than off-line(300-360 sec, calculated with unix script "time"), IMHO it's not acceptable<br />
If you have unix(machintosh is unix) you can calculate your execution time (I don't know how do it for windows), it's easy: time -p ./roborumble.sh, results is the first line, expressed in seconds--[[User:Lestofante|lestofante]] 14:30, 4 December 2008 (UTC)<br />
<br />
Whoops, I read it as "262 in 9 minutes". Still 6 seconds is acceptable I think. Certainly far from ideal, but acceptable enough. I believe the real fix is making the RR client upload in the background while battles are running. And... er.... updating the scoring system when loading the scoring page would... often take a few minutes or longer if the scoring page hasn't been viewed in a while I believe. I'm quite sure updating it incrementally is a necessity. --[[User:Rednaxela|Rednaxela]] 15:02, 4 December 2008 (UTC)<br />
<br />
The background upload is a great idea! now I will try to implement it, a little java program that grab the 1vs1result.txt(roborumble must have UPLOAD=NOT) copy it in RAM, clean the original, and in background upload the copy in RAM. we will see. --[[User:Lestofante|lestofante]] 15:59, 4 December 2008 (UTC)<br />
<br />
:Haha, well, I kind of think it would be easier to just implement it as a patch to the normal roborumble client that just moves the upload process into another thread that runs in the background. Plus as a patch to the existing RR client, I think it's likely it would be adopted for the next official release of Robocode ;) --[[User:Rednaxela|Rednaxela]] 18:11, 4 December 2008 (UTC)<br />
<br />
I agree that 2 seconds would be nicer... Think of it as break to let your processor cool off a bit? If you look elsewhere in these pages, scoring used to be batched but performance degraded dramatically as the database grew. Its faster (and more reliable) when scoring is done on each upload -- only the two bots uploaded get updated, but the Elo algorithm requires a lot of data to do so. Right now there's a scaling problem where many simultaneous uploads cause each one to slow down and I'm planning to addres this soon. But if lots of clients are recovering from the past two days problems (I took the server offline several hours last night) then we have a higher volume of uploads right now too. --[[User:Darkcanuck|Darkcanuck]] 16:08, 4 December 2008 (UTC)<br />
<br />
: I think most clients should be done recovering by now. I noticed the server refusing uploads for a bit last night and my client was easily back to normal long before I woke up. --[[User:Rednaxela|Rednaxela]] 18:11, 4 December 2008 (UTC)<br />
<br />
I've implemented a the Radnaxela idea (see [[Talk:RoboRumble/Development#Background_Uploader]]), and in about 5 hour I've duplicated my month upload... wow! And no collateral effect ^^" --[[User:Lestofante|lestofante]] 01:11, 5 December 2008 (UTC)<br />
<br />
: Very cool! But can you do like Rednaxela suggested and make this another thread in the rumble client? You guys are determined to push my poor server to its limits... :) --[[User:Darkcanuck|Darkcanuck]] 01:29, 5 December 2008 (UTC)<br />
<br />
:: Well don't worry, I won't be using background upload on my laptop here... at least not until I get an external cooling fan to boost airflow... because if it's maintained at high CPU use with no chances to cool off... it gets up past 93C sometimes which I call iffy when the processor is only designed to operate up to 95C (and the builtin auto-shutoff limit is at 105C) --[[User:Rednaxela|Rednaxela]] 03:11, 5 December 2008 (UTC)<br />
<br />
::: Another performance tip: I've had several hard drive failures/corruptions on machines I've used as clients which run continuously. My guess is that it's provoked by the constant disk writes caused by bots writing to their data directory at the end of each round. So I now have my robotcache dir mounted on a ramdisk -- its much quieter and battles run faster too. But I do put in a nice delay in between iterations for cooling to keep the cpu under 80. --[[User:Darkcanuck|Darkcanuck]] 04:04, 5 December 2008 (UTC)<br />
<br />
: Ok, look at [[Talk:RoboRumble/Development#Background_Uploader]] for the last really working version and use instruction. Now I'm running (and uploading) 1 iteration of 10 battle in 150 seconds (p.s. total CPU use under 60% with amule + azureus + firefox + eclipse + compiz). Now I'm going to implement a patch for the 1.6.0's code, is only one class to modify (UploaderResult) but my SVN client don't want run and manually import robocode's code in Eclipse give me some path problem (help me please, see [[Talk:Robocode/Developers_Guide_for_building_Robocode]]) --[[User:Lestofante|lestofante]] 23:14, 5 December 2008 (UTC)<br />
<br />
== Proofing against add/remove wars ==<br />
<br />
I was just thinking, in order to proof against add/remove wars in the future, maybe it would be good to make the server check the participants list itself to verify the addition/removal? It make make addition/removal of a bot to/from rumble slightly slower, but those two operations are rare under normal conditions. --[[User:Rednaxela|Rednaxela]] 22:54, 4 December 2008 (UTC)<br />
<br />
: I was thinking along similar lines too, but I would make it a periodic check. Say every hour, the server gets the new participant list and does the add/removes directly and preventing clients from doing so. Also, the list could be obtained from the server so we can easily point to new locations or handle cases when the wiki is unavailable. --[[User:Darkcanuck|Darkcanuck]] 01:29, 5 December 2008 (UTC)<br />
<br />
:: Maybe have it also double-check the participants list again whenever a client sends results for a new bot? I'm saying that just because I think it's nice to be able to see your bots show up in the results as soon as the first battles are uploaded. --[[User:Rednaxela|Rednaxela]] 03:11, 5 December 2008 (UTC)<br />
<br />
::: True. This feature is not high on my list yet -- I want to fix the locking first, then look at the details comparison stuff (including retired bot details). --[[User:Darkcanuck|Darkcanuck]] 04:04, 5 December 2008 (UTC)</div>Lestofante