Для упрощения процесса разработки стратегии у вас есть возможность запускать локальные повторы. Вы можете локально делать повтор протестированного на сервере боя. Для этого скачайте Repeater и разархивируйте. Для запуска Repeater вам необходимо установленное ПО Java 8+ Runtime Environment (найти JRE можно в соответствующем разделе на сайте Oracle).
Локальный повтор игры — это возможность запустить стратегию на вашем компьютере так, чтобы она видела игровой мир вокруг себя таким, каким он был при тестировании на сервере. Это поможет вам отлаживать, добавлять логирование и наблюдать за реакцией вашей стратегии в каждый момент игры.
Обратите внимание, что любое взаимодействие вашей стратегии с игровым миром при локальном повторе полностью игнорируется. Это означает, что каждый момент времени окружающий мир для стратегии в точности совпадает с таким, каким он был в игре, и не меняется от того, какие значения ваша стратегия записывает в объект action. Утилита не имеет полных данных о ходе игры (лишь те, что были отправлены вашей стратегии) и поэтому не может представить игру визуально. Если в вашей стратегии нет точек останова и/или отладочного вывода, она «молча» отработает и завершится.
Как пользоваться утилитой:
авторизуйтесь на сайте, скачайте архив с утилитой и распакуйте в удобное для вас место;
выберите игру с участием вашей стратегии и перейдите на страницу этой игры по ссылке в столбце “№”;
если игра протестирована, то справа вы увидите кнопку «Локальный повтор»;
при нажатии появится окно со списком всех ваших стратегий, участвующих в этой игре, и соответствующих им токенов;
запустите Repeater, передав ему в качестве параметра командной строки скопированный токен, либо просто введя его в появивщуюся консоль, после чего Repeater скачает необходимые данные и будет ждать подключения вашей стратегии;
скомпилируйте вашу стратегию, обратите внимание, что точка входа находится в файле Runner.{ext}, именно его и нужно запускать;
после запуска ваша стратегия соединится с Repeater-ом, который проэмулирует поведение игрового мира при тестировании на нашем сервере.
Внимание! Локальный повтор доступен в течение 2-3 суток с момента создания игры!
Амман
When I run the repeater.sh I get: repeater.sh: 1: repeater.sh: pushd: not found repeater.sh: 3: repeater.sh: popd: not found Repeater Tool for Russian AI Cup By Russian AI Cup Team
[Mon Dec 24 22:30:33 EET 2018]: Repeater has been started [token=40a21ff5027ae626346281de01a210a4809ba118_0] [Mon Dec 24 22:30:33 EET 2018]: Got dump from cache [bytes=28202949] [Mon Dec 24 22:30:44 EET 2018]: Connection from ’/127.0.0.1:58594]
and it is stuck there
When I run the repeater.sh I get: repeater.sh: 1: repeater.sh: pushd: not found repeater.sh: 3: repeater.sh: popd: not found Repeater Tool for Russian AI Cup By Russian AI Cup Team [Mon Dec 24 22:30:33 EET 2018]: Repeater has been started [token=40a21ff5027ae626346281de01a210a4809ba118_0] [Mon Dec 24 22:30:33 EET 2018]: Got dump from cache [bytes=28202949] [Mon Dec 24 22:30:44 EET 2018]: Connection from ’/127.0.0.1:58594] …
After starting Repeater you should start your strategy as usual (Repeater replaces Local Runner).
ИКИ РАН
А почему репитер может ругаться “Error: Could not find or load main class repeater.jar”
jre1.8.0_191
ИКИ РАН
Во теперь Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap
ИКИ РАН
Ладно, поменял на 1 гб. Запустилось. Ну я все равно не понял почему так случилоь. памяти свободной 8гб.
After starting Repeater you should start your strategy as usual (Repeater replaces Local Runner).
It still isn’t working
ИКИ РАН
Было бы совсем круто если в репитере еще можно было бы свой кастом рендеринг смотреть….