added modded as a separate egg

This commit is contained in:
Dexuan Ren 2024-01-12 04:31:11 -05:00
parent bda62c254a
commit 88bad6c9d7
3 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,15 @@
# Don't Starve Together
## Reason for a Separate Egg
Vanilla egg works fine when no mod added, while some mods are added to the server, "coproc" command will not start the server correctly. Thus this egg uses Supervisord to properly manage the process.
## Warning for Stopping Servers
Due to a design limitation of the game, it cannot exit gracefully using standard Linux signals.
For a graceful shutdown, please follow these steps:
1. Use the 'fg caves' and 'fg master' commands to access each shard's process within supervisorctl.
2. Manually type 'c_shutdown()' in each process to initiate a graceful shutdown.
After completing the manual shutdown, you can safely click the 'stop' button or type 'exit' in supervisorctl.

View File

@ -0,0 +1,17 @@
---------------------------------------
!!! Warning: Game Exit Procedure !!!
Attention:
Due to a design limitation of the game, it cannot exit gracefully using standard Linux signals.
For a graceful shutdown, please follow these steps:
1. Use the 'fg caves' and 'fg master' commands to access each shard's process within supervisorctl.
2. Manually type 'c_shutdown()' in each process to initiate a graceful shutdown.
After completing the manual shutdown, you can safely click the 'stop' button or type 'exit' to exit supervisorctl.
---------------------------------------

View File

@ -0,0 +1,31 @@
[supervisord]
nodaemon=true
logfile=./Supervisord/supervisord.log
pidfile=./Supervisord/supervisord.pid
[supervisorctl]
[inet_http_server]
port = 127.0.0.1:9001
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[program:caves]
command=/bin/sh -c './dontstarve_dedicated_server_nullrenderer_x64 -bind_ip 0.0.0.0 -port 11000 -persistent_storage_root /home/container/DoNotStarveTogether -conf_dir config -cluster server -players ${MAX_PLAYERS} -shard Caves'
autostart=true
autorestart=false
redirect_stderr=true
stdout_logfile=/home/container/DoNotStarveTogether/config/server/Caves/server_log.txt
directory=/home/container/bin64
stopsignal=KILL
[program:master]
command=/bin/sh -c './dontstarve_dedicated_server_nullrenderer_x64 -bind_ip 0.0.0.0 -port ${SERVER_PORT} -persistent_storage_root /home/container/DoNotStarveTogether -conf_dir config -cluster server -players ${MAX_PLAYERS} -shard Master'
autostart=true
autorestart=false
redirect_stderr=true
stdout_logfile=/home/container/DoNotStarveTogether/config/server/Master/server_log.txt
directory=/home/container/bin64
stopsignal=KILL