@Cernel OK! So I think I solved the bot crashing problem on my end. It was the script function, and the fix was actually very simple.
The problem was that I had this command in the Docker startup script -- and it's probably in all the bots:
--env EXIT_ON_GAME_END=true \
That tells the bot to exit when the game ends. Since the container was configured with --restart always, I was expecting Docker to bring it back, but this was creating problems with the bot disappearing from the lobby.
I removed that command from the startup scripts.
For example, the relevant part went from:
sudo docker run
--network host
--pull always
--restart always
--env BOT_PORT_NUMBER=3301
--env BOT_NAME=Bot_Revised_Ladder
--env BOT_COMMENT=bit.ly/RevLad2
--env LOBBY_URI=https://prod.triplea-game.org
--env EXIT_ON_GAME_END=true
--env BOT_MAX_MEMORY=256m \
to:
sudo docker run
--network host
--pull always
--restart always
--env BOT_PORT_NUMBER=3301
--env BOT_NAME=Bot_Revised_Ladder
--env BOT_COMMENT=bit.ly/RevLad2
--env LOBBY_URI=https://prod.triplea-game.org
--env BOT_MAX_MEMORY=256m \
And I did the same for the second bot on port 3302.
The two bots are now running normally, so I'm going to see whether they remain in the lobby after their next games. Hopefully that's all it was! check to see if the other bots have this function..