I’ve had several issues with my submission. Eventually decided to go with the standard bot and am now getting the following:
Downloading game engine
Downloading 2020.2.3.zip
Extracting zip: engine-f82521f6-dc3d-4a05-8fc3-179961ca6c39.zip
Exception during match execution
java.lang.ArrayIndexOutOfBoundsException: 0
at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.downloadGameEngine(GameBootstrapper.java:113) ~[game-runner.jar:?]
at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.run(GameBootstrapper.java:63) [game-runner.jar:?]
at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.main(GameBootstrapper.java:47) [game-runner.jar:?]
Notifying of match failure
Creating zip: 0ab426f0-99d4-46c3-93d5-dc0080025861 for directory: ./match-logs
Seems to be an issue on the engine side. Please assist.
Thanks
Retrying request: Request{method=POST, url=http://localhost:55555/instantiate_bot, tags={class retrofit2.Invocation=za.co.entelect.challenge.network.BotServices.instantiateBot() [okhttp3.MultipartBody$Part@be35cd9]}}
Successfully instantiated bot: A - Sharp on api port 55555
Config for player B : tournament-tmp/extracted/player-66a4d794-8dd5-42dd-a181-8e6bcb81d185/README.md
Exception during match execution
java.lang.Exception: Failed to find bot meta data from location: tournament-tmp/extracted/player-66a4d794-8dd5-42dd-a181-8e6bcb81d185/README.md
at za.co.entelect.challenge.config.BotMetaData.load(BotMetaData.java:86) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.bootstrapper.PlayerBootstrapper.parsePlayer(PlayerBootstrapper.java:72) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.bootstrapper.PlayerBootstrapper.loadPlayers(PlayerBootstrapper.java:50) ~[game-runner.jar:?]
at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.run(GameBootstrapper.java:67) [game-runner.jar:?]
at za.co.entelect.challenge.engine.bootstrapper.GameBootstrapper.main(GameBootstrapper.java:47) [game-runner.jar:?]
Notifying of match failure
Creating zip: 4f3beec6-b45f-4b1e-b26c-90ca98985e26 for directory: ./match-logs
Should the bot meta data not be in bot.json?
EDIT:
I’ve submitted my original bot. Seems the default wouldn’t work off the bat. I get the following which I’ve seen in other posts with no clear solution. I know that I the bot should be sending commands through. Could you please take a look. Thanks.
Failed to get bot command
java.lang.NullPointerException: null
at za.co.entelect.challenge.player.TournamentPlayer.setExecutionResult(TournamentPlayer.java:81) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.entity.BasePlayer.executeBot(BasePlayer.java:79) ~[game-runner.jar:?]
at za.co.entelect.challenge.engine.runner.GameEngineRunner.lambda$onProcessRound$1(GameEngineRunner.java:130) ~[game-runner.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
No command provided by bot. Falling back to default no command
Failed to get bot command
java.lang.NullPointerException: null
at za.co.entelect.challenge.player.TournamentPlayer.setExecutionResult(TournamentPlayer.java:81) ~[game-runner.jar:?]
at za.co.entelect.challenge.player.entity.BasePlayer.executeBot(BasePlayer.java:79) ~[game-runner.jar:?]
at za.co.entelect.challenge.engine.runner.GameEngineRunner.lambda$onProcessRound$1(GameEngineRunner.java:130) ~[game-runner.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
No command provided by bot. Falling back to default no command
Been trying that and a host of other things thinking the problem is my submission. Also tried 2 more submissions today. No luck. Is the extraction process not controlled by you? Do you not check if it was successful before proceeding?
Thanks for the response. @floreggian_entelect has dm’d me with the logs as well showing that a dependency (Newtonsoft.Json.dll) could not be found. By adding that dependency in the Release and Debug directories and the netcoreapp2.0 directory has solved the problem. Its strange though as this is a dependency for the standard bot as well. I had also tried updating the dependency thinking that was the problem but it wasn’t. I also tried removing the file from the directories I thought wouldn’t be relevant (like Release) but the bot still failed when that was done. For now it is running. I hope you guys are able to sort the issue though. May be adding the dependency to your package locations may help:
“/root/.nuget/packages”,
“/usr/share/dotnet/sdk/NuGetFallbackFolder”
Thanks.