Refactor using debian12
docker-compose:
- Add container name and auto restart
- Add env variables to set a server password (leave blank for no password)
- Add env variables to be able to switch between savegame names
Dockerfile:
- Use debian instead of ubuntu (no real reason why)
- Add wine env variables to set prefix location
- Add install commands of general packages at the top
- Which is followed by the installation of steamcmd
- And finally the installation of wine
- At the bottom pulseradio is installed, but is optional (server still runs, just adds more warning messages to the log)
entrypoint.sh:
- Add game install or update at the top (the whole folder should be mounted instead to be not part of the container, but of the file system for persisten storage)
- Add if statements, so that AstroServer.exe only runs if the .ini files do not exist
- Update ini files with crudini if the ini files finally got created
- Finally start the server using wine instead of proton (which also works, maybe more stable?)
I took some inspiration from here about the wine env variables.
I spend this afternoon to get it to work, but not sure why it took me so long. Maybe it was only the net.AllowEncryption=False
that I forgot to set in the client, while it needs to be set in both the client and the server.
I only tested running the server on a remote linux machine, and then was able to connect to the server from my main linux PC. I haven't tested if it runs stable over a high amount of time, but at least it works.