The game join actually happens on the env.reset call, and right now is very unstable.
Especially in the case, when a previous episode was interrupted because of un expected reasons : errors, etc.
Right now, we try to check if a game is running, and if it is, we try to send a "quit" command. But even that has been pretty buggy.
In many cases, we get the not enough clients in the client pool error.
We should standardize it properly, so that we use a consistent and a stable way to join the game.
The main considerations would be, how the behavior should be in case of a multi agent setup. My proposal would be, in case of a multi agent setup, only role0 is allowed to "force quit" a previously running game.
The game join actually happens on the
env.reset
call, and right now is very unstable. Especially in the case, when a previous episode was interrupted because of un expected reasons : errors, etc. Right now, we try to check if a game is running, and if it is, we try to send a "quit" command. But even that has been pretty buggy.In many cases, we get the
not enough clients in the client pool
error.We should standardize it properly, so that we use a consistent and a stable way to join the game.
The main considerations would be, how the behavior should be in case of a multi agent setup. My proposal would be, in case of a multi agent setup, only role0 is allowed to "force quit" a previously running game.
cc. @katja-hofmann @AndKram