FAQ
Last updated
Last updated
If you experience any errors/issues, please check if a solution has already been documented before. If not, please report them in our #🐛-bug-reports channel or raise an issue on our public repo here.
docker-compose
runs old containers and servicesYou will need to rebuild and restart your containers. Try:
`docker.errors.DockerException: Error while fetching server API version: {'Connection Aborted.', ConnectionRefusedError(61, 'Connection refused'))`
The Docker CLI is unable to reach the Docker Daemon. Try checking that your Docker is up and running.
ERROR: The Compose file './docker-compose.yml' is invalid because: Unsupported config option for services.agent-b: 'extends'
This might be because you are using an older version of docker-compose
which does not support the keyword extends
. You will need to update docker-compose
to version 1.27+. More info on the issue here and info on how to upgrade here.
throw new Error("No agents were instantiated probably due to invalid world configuration")
This is likely because you are using a WORLD_SEED
that is invalid (i.e. game is trying to generate a map that breaks some pre-defined rules). Try using another WORLD_SEED
. Examples of broken WORLD_SEED
's include 5555
and 9999
.
You can connect a second agent or switch out any connected agent by changing the services agent-a
and agent-b
in the docker-compose.yml
file provided in the starter kits.
By default, agent-a
is commented out. Un-comment this block to connect a second version of your agent to the game server.
base-compose.yml
contains some default services that you can switch out either agent-a
or agent-b
for. If you want to create your own, you will need to create your own Dockerfile (more docs on this here).
You will need to re-build the image after editing base-compose.yml
(add the--build
flag to your docker-compose up
command).
You will need to create your own starter kit (you can use the Python and TypeScript versions as references) and ensure your agent's packets to the game server conform with the JSON schema under ValidAgentPacket
described in:
It will be safe to assume the following default runtime resources will be available:
See the Docker documentation here for a more verbose explanation of the above values:
Download your JSON replay file and upload it here.
Yes, we can provide you with the game server binary upon request. Reach out to @ModMail on Discord.
You can suppress some of the logs (e.g. tick counting) by setting the flag TELEMETRY_ENABLED
to 0
(more info on changing environment flags here).
You can also configure your docker-compose
file to log server output (documentation here).
fwd
in the docker-compose
files refer to?This refers to the forward model and forward agent starter kit. More information available here.
dev
in the docker-compose
files refer to?Servers labelled dev
mount your host volume to the container. When changes are made to your agent, they will be reflected once you restart the agent container, without needing to rebuild the image. Servers without the dev
label are best for testing your production/submission-ready build.
You can add a restart policy to the game-server service in docker-compose
(docs here). Alternatively, you can run the game using docker-compose up --abort-on-container-exit
so that you will not need to exit the containers before restarting them.
If your Agent tries to make an invalid move, the game environment will reject that action and your Agent will do nothing instead.
Actions are processed in the order that the agent packets are received, even if they occur within the same tick.
Yes, check out the administrator
feature here.
Yes, you can change environment variables using the flags here.
The game server will resolve events in the following order:
Resolve all placements
Resolve all detonations
Resolve all agent movements (up/down/left/right)