Hi,
I'm running a licensed private server. It's hosted in a Debian Docker container on a Debian host, latest stable everything.
Scenario A:
1. I launch a new container and attach to it.
2. I overwrite "ts3server.sqlitedb" and "licensekey.dat" with my production backup.
3. I start ts3server_linux_amd64 by hand, from shell.
4. I connect with my TeamSpeak client and just idle on the server.
5. I go back to the shell and stop the server with Ctrl+C. My client disconnects.
6. Same as step 3.
7. My client is able to reconnect automatically within ~5-10 seconds.
Scenario B:
1-5. Same as A.
6. I quit the shell and destroy the container, and then create it again. This action can be compared to wiping a machine clean, and installing the same OS + TeamSpeak binaries from scratch.
7. Same as step 2.
8. Same as step 3.
9. My client is unable to reconnect, even if I go to "Connections > Connect" and explicitly ask it to.
10. I open a new tab and try connecting there - my client connects without issues.
I thought that this could be related to me not persisting "serverkey.dat", but that wasn't it - the client still wasn't able to reconnect in the old tab, and the server doesn't generate it anyway. I've tried finding all files that were modified after the creation of the container, but I didn't find anything of interest, just a ton of /proc and /sys files.
It happens so that I need to restart the production server a few times a week, and the people who are on the server at the time are simply unable to reconnect automatically. It's extremely irritating (especially if you're in-game), and some might even think that the server is down (not a lot of people know that you can have multiple tabs in TeamSpeak, for example).
What am I missing here? Is there some special secret place in a system where TeamSpeak server writes to, that I need to persist between containers? I've gone through my client logs, and the reconnection failure appears as a mere "failed to connect to the server" (as if nothing was listening on the other end). Any pointers / suggestions would be appreciated.
Thanks.