diff --git a/game_eggs/steamcmd_servers/dont_starve/modded/README.md b/game_eggs/steamcmd_servers/dont_starve/modded/README.md new file mode 100644 index 00000000..fe7b9f4c --- /dev/null +++ b/game_eggs/steamcmd_servers/dont_starve/modded/README.md @@ -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. \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/dont_starve/modded/Warnning.txt b/game_eggs/steamcmd_servers/dont_starve/modded/Warnning.txt new file mode 100644 index 00000000..64f9dfb3 --- /dev/null +++ b/game_eggs/steamcmd_servers/dont_starve/modded/Warnning.txt @@ -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. + +--------------------------------------- + + \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/dont_starve/modded/supervisord.conf b/game_eggs/steamcmd_servers/dont_starve/modded/supervisord.conf new file mode 100644 index 00000000..24b62346 --- /dev/null +++ b/game_eggs/steamcmd_servers/dont_starve/modded/supervisord.conf @@ -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 +