From 88bad6c9d7a1a613d2bb1d8f9ceb8b249164e192 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Fri, 12 Jan 2024 04:31:11 -0500 Subject: [PATCH] added modded as a separate egg --- .../dont_starve/modded/README.md | 15 +++++++++ .../dont_starve/modded/Warnning.txt | 17 ++++++++++ .../dont_starve/modded/supervisord.conf | 31 +++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 game_eggs/steamcmd_servers/dont_starve/modded/README.md create mode 100644 game_eggs/steamcmd_servers/dont_starve/modded/Warnning.txt create mode 100644 game_eggs/steamcmd_servers/dont_starve/modded/supervisord.conf 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 +