Open AI Championship

Repeater utility

Project

Sandbox

Round 1

Round 2

Finals

Sandbox December 24, 2017

Recent comments

19 april 07:29: mayduavongts wrote comment on post Quick start
24 march 18:34: M-Mad wrote comment on post The closing of the Russian AI Cup 2017
1 february 00:30: jurifoll wrote comment on post Repeater utility
24 january 15:01: AlexKol wrote comment on post The closing of the Russian AI Cup 2017

VK Group

Telegram chat

 

For easier strategy development process you have an option to run local replays. You can locally replay a game that has been tested on the server. To do so, first download the Repeater and extract it. You will need an installation of Java 8+ Runtime Environment (you can find JRE in the corresponding section on the Oracle site) to run the Repeater.

Local replay is an option to run your strategy on your computer in a such a way, that it will see the world around it the same as it was while testing on the server. This will help you to debug, add logging and watch the reaction of your strategy during the game.

Please notice, that any interaction of your strategy with the game world during local replay is completely ignored. That means, that every moment the environment of the strategy is exactly the same as it was, and does not change, no matter what your strategy writes to the move object. The utility does not have full data of the game (only a part that was sent to your strategy), thus can not visualize the game. If your strategy does not have any breakpoints and/or some logging, it will «silently» do its job and terminate.

How to use the utility:

  1. authorize on the site, download an archive and extract it to a convenient place;

  2. choose a game with your strategy, and go to its page by following the link in the column “#”;

  3. if the game is tested, you will see a button “Local replay” on the right;

  4. after clicking on it a window will appear with a list of all your strategies that participated in the game, and their corresponding tokens;

  5. run the Repeater, passing the token as a command line parameter, or just enter it to the appeared terminal, after which the Repeater will download all necessary data and will start waiting for your strategy to connect;

  6. compile your strategy. Note that the entry point is located in Runner.{ext} file, and this file is the one to run;

  7. after starting your strategy will connect to the Repeater, that will emulate the behavior of the game world as it was tested on the server.

Attention! Local replay is only available within 2-3 days from the moment of creation of the game!



ykaland

ykaland

Organization::API

Something Repeater does not start from me. Can I download somewhere the old version?

Nov 18, 2017 7:10:47 PM
SladeThe

SladeThe

Russian AI Cup Team

ykaland

ykaland

Organization::API

Something Repeater does not start from me. Can I download somewhere the old version?

Everything seems fine with the current version. And what is wrong? What error gives?

Nov 18, 2017 8:20:20 PM
Adler

Adler

Dzyarzhynsk

if the site token will allocate cash click you can easily lose the last two characters of the token

Nov 18, 2017 9:55:27 PM
OREZ

OREZ

AkBarsDigitalTechologies

SladeThe

SladeThe

Russian AI Cup Team

Everything seems fine with the current version. And what is wrong? What error gives?

When running on Windows repeater.bat file flash fast 2 console window and close, nothing happens

Nov 19, 2017 12:19:05 AM
tyamgin

tyamgin

Simferopol

OREZ

OREZ

AkBarsDigitalTechologies

When running on Windows repeater.bat file flash fast 2 console window and close, nothing happens

You can remove the batch file start "", and run from the console. Then we can see the error.

Nov 19, 2017 12:21:09 AM
MrMorozis

MrMorozis

Метран

Such trouble:

If you are trying to run Repeater’e game against Leos, for example, 37459, 41522, where my strategy fell, then after downloading the replay a Repeater just quits without error message. The game is not played.

If you’re trying to play a game against another player where my strategy did not fall, then everything is fine. This is a bug or a feature? Strategy falls time has been exceeded only when playing against the Leos. I want to know why, but in the end falls and repeater! Miracles.

Nov 19, 2017 12:34:26 AM
MrMorozis

MrMorozis

Метран

MrMorozis

MrMorozis

Метран

Such trouble: If you are trying to run Repeater’e game against Leos , for example, 37459 , 41522 , where my strategy fell, then after downloading the replay a Repeater just quits without error message. The game is not played. If you’re trying to play a game against another player where my strategy did not fall, then everything is fine. This is a bug or a feature? Strategy falls time has been exceeded only when playing against the Leos. I want to know why, but in the end falls and repeater! Miracles.

UPD: The game against Leos’a is not reproduced, even if the strategy did not fall.

Nov 19, 2017 12:37:06 AM
MrMorozis

MrMorozis

Метран

In the fall gives this:

[……………………………………………………………………. ………………………………………………………]

Bye Exception in thread “main” java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Unknown Source) at java.io.ByteArrayOutputStream.grow(Unknown Source) at java.io.ByteArrayOutputStream.ensureCapacity(Unknown Source) at java.io.ByteArrayOutputStream.the write(Unknown Source) at com.codegame.codeseries.repeater.Repeater.readStream(Repeater.java:17 2) at com.codegame.codeseries.repeater.Repeater.lambda$downloadDump$0(Repea ter.java:130) at com.codegame.codeseries.repeater.Repeater$$Lambda$1/28227499.accept(U nknown Source) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Sour ce) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.ForEachOps$ForEachTask.compute(Unknown Source) at java.util.concurrent.CountedCompleter.exec(Unknown Source) at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) at java.util.concurrent.ForkJoinTask.doInvoke(Unknown Source) at java.util.concurrent.ForkJoinTask.invoke(Unknown Source) at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(Unknown Source ) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(Unknown Source) at java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.util.stream.ReferencePipeline.forEach(Unknown Source) at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) at com.codegame.codeseries.repeater.Repeater.downloadDump(Repeater.java: 88) at com.codegame.codeseries.repeater.Repeater.main(a Repeater.java:299)

Nov 19, 2017 12:55:09 AM
dbf

dbf

A

MrMorozis, generally it’s a standard Java error that not enough memory can the program leak, but you can try to treat the change in the file repeater.bat line-Xmx1G to -Xmx2G or -Xmx4G (adding a repeater to memory 2 or 4 GB, respectively).

Nov 19, 2017 1:52:45 AM
MrMorozis

MrMorozis

Метран

The problem is solved.

Replaced .bat to start the repeater parameters -Xms256M -Xmx1200M and it worked.

Thank you all.

Nov 19, 2017 2:00:15 AM
AlexKol

AlexKol

BB

I have a question. How to look for errors by using the repeater? And a token to drive it downloads, I launch your strategy. It works, no errors. dads. How to understand what’s wrong?

Nov 19, 2017 7:30:08 PM
MrMorozis

MrMorozis

Метран

AlexKol

AlexKol

BB

I have a question. How to look for errors by using the repeater? And a token to drive it downloads, I launch your strategy. It works, no errors. dads. How to understand what’s wrong?

You may want to add to your strategy debug points.

Nov 19, 2017 10:28:45 PM
SladeThe

SladeThe

Russian AI Cup Team

AlexKol

AlexKol

BB

I have a question. How to look for errors by using the repeater? And a token to drive it downloads, I launch your strategy. It works, no errors. dads. How to understand what’s wrong?

You need to run it with that version of the strategy, which was involved in the game. If you change even a little something, the behavior can change dramatically.

Nov 19, 2017 10:32:46 PM
Gelon

Gelon

СберТех

“cant find dump” I don’t understand (

Nov 22, 2017 4:42:07 PM
AlexKol

AlexKol

BB

Gelon

Gelon

СберТех

“cant find dump” I don’t understand (

May already 3 days passed. Or more like wrote if 2ому click to highlight, then the last 2 characters are not highlighted.

Nov 22, 2017 4:47:44 PM
BaR5uk

BaR5uk

Karachev

Can’t run a Repeater. Tell me, what am I doing wrong? In the program folder I created a file start.bat whose contents are:

@java -Xms128M -Xmx2G -cp “.;*;%~dp0/*” -jar repeater.jar %1

Then, I open a command prompt, go to that folder and enter the command:

start.bat {token}

The program writes:

Repeater Tool for Russian AI Cup By Russian AI Cup Team

[Sat Nov 25 10:20:30 GMT+03:00 2017]: the Repeater has been started [token={token}]

At the same time in task Manager shows that began activity in connection with the Internet. After some time the activity ends, and the program gives the following:

[.ERROR: Can’t find dump by ‘{token}’. java.io.FileNotFoundException: Can’t find dump by ‘{token}’. at com.codegame.codeseries.repeater.Repeater.downloadDump(a Repeater.java:146) at com.codegame.codeseries.repeater.Repeater.main(a Repeater.java:299)

The game trying to watch the latest. The token is copied completely. What could be wrong?

Nov 25, 2017 10:26:00 AM
Jeners

Jeners

Moscow

What, competed to process????

Nov 25, 2017 2:56:55 PM
mixei4

mixei4

КГУ

BaR5uk

BaR5uk

Karachev

Can’t run a Repeater. Tell me, what am I doing wrong? In the program folder I created a file start.bat whose contents are: @java -Xms128M -Xmx2G -cp “.;*;%~dp0/*” -jar repeater.jar %1 Then, I open a command prompt, go to that folder and enter the command: start.bat {token} The program writes: …

Write access to the folder repeater is? He shakes back log of games.

Nov 25, 2017 6:24:17 PM
SladeThe

SladeThe

Russian AI Cup Team

BaR5uk

BaR5uk

Karachev

Can’t run a Repeater. Tell me, what am I doing wrong? In the program folder I created a file start.bat whose contents are: @java -Xms128M -Xmx2G -cp “.;*;%~dp0/*” -jar repeater.jar %1 Then, I open a command prompt, go to that folder and enter the command: start.bat {token} The program writes: …

It is with a specific game or with all your recent games?

Nov 25, 2017 6:33:05 PM
BaR5uk

BaR5uk

Karachev

SladeThe

SladeThe

Russian AI Cup Team

It is with a specific game or with all your recent games?

Yes. All games that I tried to watch did not work. The program tries within 50-60 seconds to download something from the Internet, and then gives an error that I gave above. This happens in most cases. One time the program issued a sheet:

[.ERROR: Can’t download the dump by ‘24d1d2efa7fb167bda35f863e1768da479656b01_1’. java.io.IOException: Can’t download the dump by ‘24d1d2efa7fb167bda35f863e1768da4796 56b01_1’. at com.codegame.codeseries.repeater.Repeater.downloadDump(a Repeater.java:151) at com.codegame.codeseries.repeater.Repeater.main(a Repeater.java:299) Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source) at sun.net.www.http.HttpClient.parseHTTP(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at com.codegame.codeseries.repeater.Repeater.lambda$downloadDump$0(Repeater control.java:99) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.ForEachOps$ForEachTask.compute(Unknown Source) at java.util.concurrent.CountedCompleter.exec(Unknown Source) at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source) at java.util.concurrent.The ForkJoinPool.runWorker(Unknown Source) at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

I have very slow mobile Internet. Maximum speed somewhere in the 15-18 kbps. So the video battles my strategy I can not see. I was hoping that there is a possibility to download the file containing the raw coordinates of each course (not the video stream) to feed it to some program like localranner and watch the game with the same graphics as in this very localranner. But this function on the website I found. Program Repeater doesn’t work either (although detailed instructions on its capabilities I did not find it).

Nov 25, 2017 7:17:39 PM
mixei4

mixei4

КГУ

BaR5uk

BaR5uk

Karachev

Yes. All games that I tried to watch did not work. The program tries within 50-60 seconds to download something from the Internet, and then gives an error that I gave above. This happens in most cases. One time the program issued a sheet: [.ERROR: Can’t download the dump by ‘24d1d2efa7fb167bda35f863e1768da479656b01_1’. java.io.IOException: Can’t download the dump by ‘24d1d2efa7fb167bda35f863e1768da4796 56b01_1’. at com.codegame.codeseries.repeater.Repeater.downloadDump(a Repeater.java:151) at com.codegame.codeseries.repeater.Repeater.main(a Repeater.java:299) Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read1(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source) at sun.net.www.http.HttpClient.parseHTTP(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at com.codegame.codeseries.repeater.Repeater.lambda$downloadDump$0(Repeater control.java:99) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.ForEachOps$ForEachTask.compute(Unknown Source) at java.util.concurrent.CountedCompleter.exec(Unknown Source) at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source) at java.util.concurrent.The ForkJoinPool.runWorker(Unknown Source) at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) …

The dump of the game weighs a few tens of megabytes. 20000 ticks in the archive I think in the area of 80MB.

Nov 25, 2017 7:25:35 PM
AlexKol

AlexKol

BB

The repeater is not working. Stopped the data to

Nov 29, 2017 12:18:43 PM
tyamgin

tyamgin

Simferopol

Again repeater.

[Thu Nov 30 22:54:15 MSK 2017]: the Repeater has been started [token=b9a0ebd15845bec2534dc918f3cabe0454547a25_0] ERROR: Can't find dump by 'b9a0ebd15845bec2534dc918f3cabe0454547a25_0'. java.io.FileNotFoundException: Can't find dump by 'b9a0ebd15845bec2534dc918f3cabe0454547a25_0'. at com.codegame.codeseries.repeater.Repeater.downloadDump(a Repeater.java:146) at com.codegame.codeseries.repeater.Repeater.main(a Repeater.java:299)

Nov 30, 2017 10:56:55 PM
jurifoll

jurifoll

Moscow

Seem to be having a similar problem. Trying to download a dump and crashes. The version of the repeater was updated just now.

Dec 2, 2017 7:18:03 PM
Acuion

Acuion

НИУ ВШЭ - НН

+, Repeater not working

Dec 3, 2017 12:38:05 AM
tyamgin

tyamgin

Simferopol

Not working repeater `` [Fri Dec 07 21:29:42 MSK 2017]: the Repeater has been started [token=a6b039b7a84ec8a9300562e3215e664232334d16_0] […..ERROR: Can’t find dump by ‘a6b039b7a84ec8a9300562e3215e664232334d16_0’. java.io.FileNotFoundException: Can’t find dump by ‘a6b039b7a84ec8a9300562e3215e664232334d16_0’. at com.codegame.codeseries.repeater.Repeater.downloadDump(a Repeater.java:146) at com.codegame.codeseries.repeater.Repeater.main(a Repeater.java:299)

``

Dec 7, 2017 9:31:37 PM
kuzmalex

kuzmalex

pekach dev

falls

Dec 8, 2017 9:02:52 PM
jurifoll

jurifoll

Moscow

The impression is that the repeater still works, but only zagruzit dump successfully only in one attempt out of ten. Sadly(

Dec 9, 2017 9:29:48 PM
jurifoll

jurifoll

Moscow

Looks like needs more work (

Feb 1, 2018 12:30:38 AM