From ae0f4304244313f2ebbc8870853fd78eed697c9c Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Mon, 8 Jan 2024 12:05:43 -0500 Subject: [PATCH 01/12] Added Supervisord.conf --- .../dont_starve/supervisord.conf | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 game_eggs/steamcmd_servers/dont_starve/supervisord.conf diff --git a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf new file mode 100644 index 00000000..c86d8d8e --- /dev/null +++ b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf @@ -0,0 +1,28 @@ +[supervisord] +nodaemon=true + +[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 +depends_on=master +stopsignal=TERM + +[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 \ No newline at end of file From e2cbc921daad3e852f4b135130e09532ef8ea773 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Mon, 8 Jan 2024 13:53:11 -0500 Subject: [PATCH 02/12] added helper to help cave exit gracefully --- .../dont_starve/cave_helper.sh | 18 ++++++++++++++++++ .../dont_starve/supervisord.conf | 7 +++++-- 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 game_eggs/steamcmd_servers/dont_starve/cave_helper.sh diff --git a/game_eggs/steamcmd_servers/dont_starve/cave_helper.sh b/game_eggs/steamcmd_servers/dont_starve/cave_helper.sh new file mode 100644 index 00000000..2be0f2e0 --- /dev/null +++ b/game_eggs/steamcmd_servers/dont_starve/cave_helper.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Signal handler function +handle_signal() { + echo "Signal received, executing c_shutdown()" + c_shutdown +} + +# Trap TERM and INT signals and call handle_signal when they are received +trap handle_signal TERM INT + +# Start your server process here (run in the background if necessary) +./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 & + +# Wait for server process to exit +wait $! + +echo "Server process exited, script ending" diff --git a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf index c86d8d8e..f29a0ff3 100644 --- a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf +++ b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf @@ -1,5 +1,7 @@ [supervisord] nodaemon=true +logfile=./Supervisord/supervisord.log +pidfile=./Supervisord/supervisord.pid [supervisorctl] @@ -10,7 +12,7 @@ port = 127.0.0.1:9001 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' +command=/bin/sh -c './cave_helper.sh' autostart=true autorestart=false redirect_stderr=true @@ -18,6 +20,7 @@ stdout_logfile=/home/container/DoNotStarveTogether/config/server/Caves/server_lo directory=/home/container/bin64 depends_on=master stopsignal=TERM +stopwaitsecs=60 [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' @@ -25,4 +28,4 @@ autostart=true autorestart=false redirect_stderr=true stdout_logfile=/home/container/DoNotStarveTogether/config/server/Master/server_log.txt -directory=/home/container/bin64 \ No newline at end of file +directory=/home/container/bin64 From 4db7e4b669d3f93a89238deb3889715fc33791d8 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Mon, 8 Jan 2024 21:00:55 -0500 Subject: [PATCH 03/12] no need of helper --- .../dont_starve/cave_helper.sh | 18 ------------------ .../dont_starve/supervisord.conf | 1 - 2 files changed, 19 deletions(-) delete mode 100644 game_eggs/steamcmd_servers/dont_starve/cave_helper.sh diff --git a/game_eggs/steamcmd_servers/dont_starve/cave_helper.sh b/game_eggs/steamcmd_servers/dont_starve/cave_helper.sh deleted file mode 100644 index 2be0f2e0..00000000 --- a/game_eggs/steamcmd_servers/dont_starve/cave_helper.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -# Signal handler function -handle_signal() { - echo "Signal received, executing c_shutdown()" - c_shutdown -} - -# Trap TERM and INT signals and call handle_signal when they are received -trap handle_signal TERM INT - -# Start your server process here (run in the background if necessary) -./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 & - -# Wait for server process to exit -wait $! - -echo "Server process exited, script ending" diff --git a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf index f29a0ff3..74d2ee56 100644 --- a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf +++ b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf @@ -18,7 +18,6 @@ autorestart=false redirect_stderr=true stdout_logfile=/home/container/DoNotStarveTogether/config/server/Caves/server_log.txt directory=/home/container/bin64 -depends_on=master stopsignal=TERM stopwaitsecs=60 From d7e385a0944d25578783ffba9b75d35926bd58f7 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Fri, 12 Jan 2024 01:58:20 -0500 Subject: [PATCH 04/12] fix variables --- game_eggs/steamcmd_servers/dont_starve/supervisord.conf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf index 74d2ee56..992fca78 100644 --- a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf +++ b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf @@ -12,17 +12,16 @@ port = 127.0.0.1:9001 supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [program:caves] -command=/bin/sh -c './cave_helper.sh' +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=TERM stopwaitsecs=60 [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' +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 From bda62c254a39db3275e89da3cb58224fce5bf6f5 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Fri, 12 Jan 2024 02:12:48 -0500 Subject: [PATCH 05/12] Update supervisord.conf --- game_eggs/steamcmd_servers/dont_starve/supervisord.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf index 992fca78..5b1059e6 100644 --- a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf +++ b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf @@ -12,7 +12,7 @@ port = 127.0.0.1:9001 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' +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 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 06/12] 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 + From f6638730e7f74caf50caf0f1b488992986fc6d79 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Fri, 12 Jan 2024 04:31:18 -0500 Subject: [PATCH 07/12] reallocation --- .../steamcmd_servers/dont_starve/README.md | 10 +++++-- .../dont_starve/supervisord.conf | 29 ------------------- .../dont_starve/vanilla/README.md | 23 +++++++++++++++ .../egg-don-t-starve-together.json | 0 4 files changed, 30 insertions(+), 32 deletions(-) delete mode 100644 game_eggs/steamcmd_servers/dont_starve/supervisord.conf create mode 100644 game_eggs/steamcmd_servers/dont_starve/vanilla/README.md rename game_eggs/steamcmd_servers/dont_starve/{ => vanilla}/egg-don-t-starve-together.json (100%) diff --git a/game_eggs/steamcmd_servers/dont_starve/README.md b/game_eggs/steamcmd_servers/dont_starve/README.md index b77f6950..ccc3b72b 100644 --- a/game_eggs/steamcmd_servers/dont_starve/README.md +++ b/game_eggs/steamcmd_servers/dont_starve/README.md @@ -8,11 +8,15 @@ You play as Wilson, an intrepid Gentleman Scientist who has been trapped by a de Enter a strange and unexplored world full of strange creatures, dangers, and surprises. Gather resources to craft items and structures that match your survival style. Play your way as you unravel the mysteries of this strange land. -## Minimum RAM warning +## [Vanilla Server](/game_eggs/steamcmd_servers/dont_starve/vanilla) + +## [Modded Server](/game_eggs/steamcmd_servers/dont_starve/modded) + +### Minimum RAM warning Minimum required memory to run the server is around 512mb for a single user.. -## Server Ports +### Server Ports Don't Starve Together only requires a single port to run. All network communications are proxied through the master. The default is 10999 @@ -20,4 +24,4 @@ Don't Starve Together only requires a single port to run. All network communicat |---------|---------| | Game | 10999 | -### Mods/Plugins may require ports to be added to the server +#### Mods/Plugins may require ports to be added to the server diff --git a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf b/game_eggs/steamcmd_servers/dont_starve/supervisord.conf deleted file mode 100644 index 5b1059e6..00000000 --- a/game_eggs/steamcmd_servers/dont_starve/supervisord.conf +++ /dev/null @@ -1,29 +0,0 @@ -[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 -stopwaitsecs=60 - -[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 diff --git a/game_eggs/steamcmd_servers/dont_starve/vanilla/README.md b/game_eggs/steamcmd_servers/dont_starve/vanilla/README.md new file mode 100644 index 00000000..b77f6950 --- /dev/null +++ b/game_eggs/steamcmd_servers/dont_starve/vanilla/README.md @@ -0,0 +1,23 @@ +# Don't Starve Together + +## From their [site](https://www.klei.com/games/dont-starve) + +Don’t Starve is an uncompromising wilderness survival game full of science and magic. + +You play as Wilson, an intrepid Gentleman Scientist who has been trapped by a demon and transported to a mysterious wilderness world. Wilson must learn to exploit his environment and its inhabitants if he ever hopes to escape and find his way back home. + +Enter a strange and unexplored world full of strange creatures, dangers, and surprises. Gather resources to craft items and structures that match your survival style. Play your way as you unravel the mysteries of this strange land. + +## Minimum RAM warning + +Minimum required memory to run the server is around 512mb for a single user.. + +## Server Ports + +Don't Starve Together only requires a single port to run. All network communications are proxied through the master. The default is 10999 + +| Port | default | +|---------|---------| +| Game | 10999 | + +### Mods/Plugins may require ports to be added to the server diff --git a/game_eggs/steamcmd_servers/dont_starve/egg-don-t-starve-together.json b/game_eggs/steamcmd_servers/dont_starve/vanilla/egg-don-t-starve-together.json similarity index 100% rename from game_eggs/steamcmd_servers/dont_starve/egg-don-t-starve-together.json rename to game_eggs/steamcmd_servers/dont_starve/vanilla/egg-don-t-starve-together.json From 7d3401caee3727ee070627d1a15398e646f83ab3 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Fri, 12 Jan 2024 04:34:33 -0500 Subject: [PATCH 08/12] Update README.md --- game_eggs/steamcmd_servers/dont_starve/modded/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/game_eggs/steamcmd_servers/dont_starve/modded/README.md b/game_eggs/steamcmd_servers/dont_starve/modded/README.md index fe7b9f4c..176d428d 100644 --- a/game_eggs/steamcmd_servers/dont_starve/modded/README.md +++ b/game_eggs/steamcmd_servers/dont_starve/modded/README.md @@ -12,4 +12,6 @@ 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 +After completing the manual shutdown, you can safely click the 'stop' button or type 'exit' in supervisorctl. + +Note: If you don't do so, the last unsaved day in game will be lost. \ No newline at end of file From 092689bc4f8d948443d68173803449c4dc4a22c2 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Fri, 12 Jan 2024 04:38:02 -0500 Subject: [PATCH 09/12] finish ReadME --- .../steamcmd_servers/dont_starve/README.md | 20 +++---------------- .../dont_starve/modded/README.md | 2 +- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/game_eggs/steamcmd_servers/dont_starve/README.md b/game_eggs/steamcmd_servers/dont_starve/README.md index ccc3b72b..6a550fb9 100644 --- a/game_eggs/steamcmd_servers/dont_starve/README.md +++ b/game_eggs/steamcmd_servers/dont_starve/README.md @@ -1,6 +1,6 @@ # Don't Starve Together -## From their [site](https://www.klei.com/games/dont-starve) +## Offical [Website](https://www.klei.com/games/dont-starve) Don’t Starve is an uncompromising wilderness survival game full of science and magic. @@ -8,20 +8,6 @@ You play as Wilson, an intrepid Gentleman Scientist who has been trapped by a de Enter a strange and unexplored world full of strange creatures, dangers, and surprises. Gather resources to craft items and structures that match your survival style. Play your way as you unravel the mysteries of this strange land. -## [Vanilla Server](/game_eggs/steamcmd_servers/dont_starve/vanilla) +## [Vanilla Server Egg](/game_eggs/steamcmd_servers/dont_starve/vanilla) -## [Modded Server](/game_eggs/steamcmd_servers/dont_starve/modded) - -### Minimum RAM warning - -Minimum required memory to run the server is around 512mb for a single user.. - -### Server Ports - -Don't Starve Together only requires a single port to run. All network communications are proxied through the master. The default is 10999 - -| Port | default | -|---------|---------| -| Game | 10999 | - -#### Mods/Plugins may require ports to be added to the server +## [Modded Server Egg](/game_eggs/steamcmd_servers/dont_starve/modded) diff --git a/game_eggs/steamcmd_servers/dont_starve/modded/README.md b/game_eggs/steamcmd_servers/dont_starve/modded/README.md index 176d428d..27748a99 100644 --- a/game_eggs/steamcmd_servers/dont_starve/modded/README.md +++ b/game_eggs/steamcmd_servers/dont_starve/modded/README.md @@ -14,4 +14,4 @@ For a graceful shutdown, please follow these steps: After completing the manual shutdown, you can safely click the 'stop' button or type 'exit' in supervisorctl. -Note: If you don't do so, the last unsaved day in game will be lost. \ No newline at end of file +**Note: If you don't do so, the last unsaved day in game will be lost.** \ No newline at end of file From 8d243e57cfeaee9dd912348f012a98472707a742 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Fri, 12 Jan 2024 04:38:45 -0500 Subject: [PATCH 10/12] Update README.md --- .../dont_starve/modded/README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/game_eggs/steamcmd_servers/dont_starve/modded/README.md b/game_eggs/steamcmd_servers/dont_starve/modded/README.md index 27748a99..d596e053 100644 --- a/game_eggs/steamcmd_servers/dont_starve/modded/README.md +++ b/game_eggs/steamcmd_servers/dont_starve/modded/README.md @@ -14,4 +14,18 @@ For a graceful shutdown, please follow these steps: After completing the manual shutdown, you can safely click the 'stop' button or type 'exit' in supervisorctl. -**Note: If you don't do so, the last unsaved day in game will be lost.** \ No newline at end of file +**Note: If you don't do so, the last unsaved day in game will be lost.** + +## Minimum RAM warning + +Minimum required memory to run the server is around 512mb for a single user.. + +## Server Ports + +Don't Starve Together only requires a single port to run. All network communications are proxied through the master. The default is 10999 + +| Port | default | +|---------|---------| +| Game | 10999 | + +### Mods/Plugins may require ports to be added to the server \ No newline at end of file From b43e451fbc4065211b98d574f1340cd2eb56ba24 Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Fri, 12 Jan 2024 04:40:29 -0500 Subject: [PATCH 11/12] typo --- game_eggs/steamcmd_servers/dont_starve/modded/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game_eggs/steamcmd_servers/dont_starve/modded/README.md b/game_eggs/steamcmd_servers/dont_starve/modded/README.md index d596e053..3dcf3afd 100644 --- a/game_eggs/steamcmd_servers/dont_starve/modded/README.md +++ b/game_eggs/steamcmd_servers/dont_starve/modded/README.md @@ -2,7 +2,7 @@ ## 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. +Vanilla egg works fine when no mod added, while some mods are added to the server, "coproc" command will not start the server within it correctly. Thus this egg uses Supervisord to properly manage the processes. ## Warning for Stopping Servers From 350762edad50184cfba9e7ba1d3b101cdc2631dc Mon Sep 17 00:00:00 2001 From: Dexuan Ren <81537377+KenRen98@users.noreply.github.com> Date: Fri, 12 Jan 2024 05:05:20 -0500 Subject: [PATCH 12/12] DST Modded Egg --- .../egg-don-t-starve-together-modded.json | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 game_eggs/steamcmd_servers/dont_starve/modded/egg-don-t-starve-together-modded.json diff --git a/game_eggs/steamcmd_servers/dont_starve/modded/egg-don-t-starve-together-modded.json b/game_eggs/steamcmd_servers/dont_starve/modded/egg-don-t-starve-together-modded.json new file mode 100644 index 00000000..256059d8 --- /dev/null +++ b/game_eggs/steamcmd_servers/dont_starve/modded/egg-don-t-starve-together-modded.json @@ -0,0 +1,124 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-01-12T05:04:50-05:00", + "name": "Don't Starve Together Modded", + "author": "parker@parkervcp.com", + "description": "Don\u2019t Starve Together is an uncompromising wilderness survival game full of science and magic.", + "features": [ + "steam_disk_space" + ], + "docker_images": { + "ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source" + }, + "file_denylist": [], + "startup": "supervisord -c .\/Supervisord\/supervisord.conf & sleep 1 && cat Warnning.txt & sleep 5 && supervisorctl -c .\/Supervisord\/supervisord.conf", + "config": { + "files": "{\r\n \"DoNotStarveTogether\/config\/server\/cluster.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"GAMEPLAY.game_mode\": \"{{server.build.env.GAME_MODE}}\",\r\n \"GAMEPLAY.max_players\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"NETWORK.cluster_name\": \"{{server.build.env.CLUSTER_NAME}}\",\r\n \"NETWORK.cluster_description\": \"{{server.build.env.CLUSTER_DESC}}\",\r\n \"SHARD.shard_enabled\": \"true\",\r\n \"SHARD.bind_ip\": \"127.0.0.1\",\r\n \"SHARD.master_ip\": \"127.0.0.1\",\r\n \"SHARD.master_port\": \"11001\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Master\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\": \"{{server.build.default.port}}\",\r\n \"SHARD.is_master\": \"true\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Caves\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\": \"11000\",\r\n \"SHARD.is_master\": \"false\",\r\n \"SHARD.name\": \"Caves\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"RUNNING\"\r\n}", + "logs": "{}", + "stop": "^c" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## DST specific\r\n## cluster token file\r\necho -e \"getting cluster configs\"\r\nmkdir -p \/mnt\/server\/DoNotStarveTogether\/config\/server\/\r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster_token.txt ]; then\r\n echo \"${SERVER_TOKEN}\" >> \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster_token.txt\r\nfi\r\n\r\n## cluster configs \r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster.ini ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/server.cluster.ini -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster.ini\r\nfi\r\n\r\n## master configs\r\necho -e \"getting master configs\"\r\nmkdir -p \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/\r\n## master ini\r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/server.ini ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/server.master.ini -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/server.ini\r\nfi\r\n\r\n## master worldgen override\r\nif [ ! -z ${MASTER_WORLDGEN} ] && [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/worldgenoverride.lua ]; then\r\n curl -sSL ${MASTER_WORLDGEN} -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/worldgenoverride.lua\r\nfi\r\n\r\n## caves configs\r\necho -e \"getting cave configs\"\r\nmkdir -p \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/\r\n## caves ini\r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/server.ini ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/server.caves.ini -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/server.ini\r\nfi\r\n\r\n## caves worldgen override\r\nif [ ! -z ${CAVES_WORLDGEN} ] && [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/worldgenoverride.lua ]; then\r\n curl -sSL ${CAVES_WORLDGEN} -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/worldgenoverride.lua\r\nfi\r\n\r\n## Download Supervisord configuration file\r\nif [ ! -f \/mnt\/server\/Supervisord\/supervisord.conf ]; then\r\n mkdir -p \/mnt\/server\/Supervisord\/\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/modded\/supervisord.conf -o \/mnt\/server\/Supervisord\/supervisord.conf\r\nfi\r\n\r\n## Download Warnning Text file\r\nif [ ! -f \/mnt\/server\/Warnning.txt ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/modded\/Warnning.txt -o \/mnt\/server\/Warnning.txt\r\nfi\r\n\r\necho -e \"install complete\"", + "container": "ghcr.io\/parkervcp\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "\u6700\u5927\u73a9\u5bb6\u6570\u91cf", + "description": "\u8bbe\u7f6e\u6700\u5927\u540c\u65f6\u5728\u7ebf\u73a9\u5bb6\u6570\u91cf\uff0c\u4e0d\u5efa\u8bae\u8d85\u8fc720\uff0c\u9ed8\u8ba416\u3002", + "env_variable": "MAX_PLAYERS", + "default_value": "16", + "user_viewable": true, + "user_editable": true, + "rules": "required|integer|between:1,31", + "field_type": "text" + }, + { + "name": "\u670d\u52a1\u5668Token\uff08\u5fc5\u586b\uff09", + "description": "\u8bf7\u53bb\u4ee5\u4e0b\u94fe\u63a5\u83b7\u53d6Token\u3002\r\nhttps:\/\/accounts.klei.com\/account\/game\/servers?game=DontStarveTogether", + "env_variable": "SERVER_TOKEN", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:64", + "field_type": "text" + }, + { + "name": "App ID", + "description": "Steam Server App ID", + "env_variable": "SRCDS_APPID", + "default_value": "343050", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|max:20", + "field_type": "text" + }, + { + "name": "\u81ea\u52a8\u66f4\u65b0", + "description": "\u8bbe\u7f6e\u4e3a1\u542f\u52a8\u81ea\u52a8\u66f4\u65b0\u3002", + "env_variable": "AUTO_UPDATE", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "\u6e38\u620f\u6a21\u5f0f", + "description": "\u6709\u6548\u503c\u4e3a survival\uff0cendless \u6216 wilderness\u3002", + "env_variable": "GAME_MODE", + "default_value": "survival", + "user_viewable": true, + "user_editable": true, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "\u670d\u52a1\u5668\u540d\u79f0", + "description": "\u670d\u52a1\u5668\u5217\u8868\u663e\u793a\u7684\u540d\u5b57", + "env_variable": "CLUSTER_NAME", + "default_value": "A Pterodactyl Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "\u670d\u52a1\u5668\u63cf\u8ff0", + "description": "\u670d\u52a1\u5668\u5217\u8868\u663e\u793a\u7684\u63cf\u8ff0", + "env_variable": "CLUSTER_DESC", + "default_value": "A Pterodactyl Hosted Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "Master Worldgen Override", + "description": "Link to the lua file used to generate the master server map. Only used during the install phase.", + "env_variable": "MASTER_WORLDGEN", + "default_value": "https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/worldgenoverride.master.lua", + "user_viewable": false, + "user_editable": false, + "rules": "nullable|string", + "field_type": "text" + }, + { + "name": "Master Worldgen Override", + "description": "Link to the lua file used to generate the caves server map. Only used during the install phase.\r\n\r\nDefault generates a cave map", + "env_variable": "CAVES_WORLDGEN", + "default_value": "https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/worldgenoverride.caves.lua", + "user_viewable": false, + "user_editable": false, + "rules": "nullable|string", + "field_type": "text" + } + ] +} \ No newline at end of file