From 5c17233c9394d1672f729843b6cb7b993ed5e1ff Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Fri, 31 May 2024 14:28:23 +0200 Subject: [PATCH 1/7] add soulmask --- README.md | 1 + soulmask/README.md | 31 +++++++++ soulmask/egg-soulmask.json | 132 +++++++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 soulmask/README.md create mode 100644 soulmask/egg-soulmask.json diff --git a/README.md b/README.md index 1b9a3a2a..a4cc66a8 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ * [Solace Crafting](solace_crafting) * [Soldat](soldat) * [Sons of the Forest](sonsoftheforest) +* [Soulmask](soulmask) * [SourceCoop](sourcecoop) * [Space Engineers](space_engineers) * [Default](space_engineers/default) diff --git a/soulmask/README.md b/soulmask/README.md new file mode 100644 index 00000000..26647be6 --- /dev/null +++ b/soulmask/README.md @@ -0,0 +1,31 @@ +# Soulmask + +### Game Description + + Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask. + +### Useful links + +Steam: https://store.steampowered.com/app/2646460/Soulmask/ + +### Author & Contributers +| Name | Github Profile | Buy me a Coffee | +| ------------- |-------------|-------------| +| QuintenQVD0 | https://github.com/QuintenQVD0 | [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/J3J2HGECS) | + + +### Server Ports + +Soulmask requires up to 3 ports. You can choose every port you want. + +| Port | default | +|--------- |---------------| +| Game | 7777 | +| Query | 27015 | +| EchoPort | 18888 | + +## Special Note + +- A single game process requires at least 16GB of memory and 2-4 CPU cores. +- Bandwidth requirements: Each game server's inbound/outbound bandwidth is about 100kbps/player. +- The game package size is about 1-2GB, requiring about 20GB of free disk space for operation. \ No newline at end of file diff --git a/soulmask/egg-soulmask.json b/soulmask/egg-soulmask.json new file mode 100644 index 00000000..6841ec03 --- /dev/null +++ b/soulmask/egg-soulmask.json @@ -0,0 +1,132 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-05-31T14:21:15+02:00", + "name": "Soulmask", + "author": "mail@pterostuff.com", + "description": "Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask.", + "features": null, + "docker_images": { + "SteamCMD": "ghcr.io\/parkervcp\/steacmd:debian" + }, + "file_denylist": [], + "startup": "\/home\/container\/WS\/Binaries\/Linux\/WSServer-Linux-Shipping Level01_Main -server -SLIENT -SteamServerName=\"{{SERVER_NAME}}\" saving={{SAVE_TIME}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -EchoPort={{ECHO_PORT}} -online=Steam -forcepassthrough -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}} -MaxPlayers={{MAX_PLAYERS}} -backup={{BACKUP_TIME}} - -log -UTF8Output -MULTIHOME=0.0.0.0", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Create Dungeon Successed\"\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 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "App ID", + "description": "", + "env_variable": "SRCDS_APPID", + "default_value": "3017300", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:3017300", + "field_type": "text" + }, + { + "name": "Auto Update", + "description": "Auto update the server on start", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Server Name", + "description": "Specifies the name of the game instance displayed in the server list", + "env_variable": "SERVER_NAME", + "default_value": "Soulmask Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:85", + "field_type": "text" + }, + { + "name": "Map Players", + "description": "Specifies the maximum number of players the game instance can support.", + "env_variable": "MAX_PLAYERS", + "default_value": "60", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric|between:1,70", + "field_type": "text" + }, + { + "name": "Backup Interval", + "description": "Specifies the interval for writing the game database to disk (unit: seconds).", + "env_variable": "BACKUP_TIME", + "default_value": "960", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Save Time Interval", + "description": "Specifies the interval for writing game objects to the database (unit: seconds).", + "env_variable": "SAVE_TIME", + "default_value": "600", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Query Port", + "description": "Specifies the Steam query port, UDP, needs to be open to the public.", + "env_variable": "QUERY_PORT", + "default_value": "27015", + "user_viewable": true, + "user_editable": false, + "rules": "required|numeric|between:1024,65536", + "field_type": "text" + }, + { + "name": "Echo Port", + "description": "Maintenance port, used for local telnet server maintenance, TCP, does not need to be open.", + "env_variable": "ECHO_PORT", + "default_value": "18888", + "user_viewable": true, + "user_editable": false, + "rules": "required|numeric|between:1024,65536", + "field_type": "text" + }, + { + "name": "Server Password", + "description": "Server password, private servers can specify a password, players must enter the password to enter the server.", + "env_variable": "SERVER_PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:32", + "field_type": "text" + }, + { + "name": "Admin Password", + "description": "GM activation password.Open GM Panel (gm key [password])", + "env_variable": "ADMIN_PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:32", + "field_type": "text" + } + ] +} \ No newline at end of file From 091a1cca06f52aff514e69ce36cb92f1fec6eaad Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Fri, 31 May 2024 14:30:29 +0200 Subject: [PATCH 2/7] fix typo and email --- soulmask/egg-soulmask.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/soulmask/egg-soulmask.json b/soulmask/egg-soulmask.json index 6841ec03..d9dbd097 100644 --- a/soulmask/egg-soulmask.json +++ b/soulmask/egg-soulmask.json @@ -4,13 +4,13 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2024-05-31T14:21:15+02:00", + "exported_at": "2024-05-31T14:29:33+02:00", "name": "Soulmask", - "author": "mail@pterostuff.com", + "author": "josdekurk@gmail.com", "description": "Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask.", "features": null, "docker_images": { - "SteamCMD": "ghcr.io\/parkervcp\/steacmd:debian" + "SteamCMD": "ghcr.io\/parkervcp\/steamcmd:debian" }, "file_denylist": [], "startup": "\/home\/container\/WS\/Binaries\/Linux\/WSServer-Linux-Shipping Level01_Main -server -SLIENT -SteamServerName=\"{{SERVER_NAME}}\" saving={{SAVE_TIME}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -EchoPort={{ECHO_PORT}} -online=Steam -forcepassthrough -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}} -MaxPlayers={{MAX_PLAYERS}} -backup={{BACKUP_TIME}} - -log -UTF8Output -MULTIHOME=0.0.0.0", From 3e804099cb3bec375679954f080cc3e7b0b04993 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Fri, 31 May 2024 17:51:32 +0200 Subject: [PATCH 3/7] try this? --- soulmask/egg-soulmask.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/soulmask/egg-soulmask.json b/soulmask/egg-soulmask.json index d9dbd097..e4595855 100644 --- a/soulmask/egg-soulmask.json +++ b/soulmask/egg-soulmask.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2024-05-31T14:29:33+02:00", + "exported_at": "2024-05-31T17:50:07+02:00", "name": "Soulmask", "author": "josdekurk@gmail.com", "description": "Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask.", @@ -13,7 +13,7 @@ "SteamCMD": "ghcr.io\/parkervcp\/steamcmd:debian" }, "file_denylist": [], - "startup": "\/home\/container\/WS\/Binaries\/Linux\/WSServer-Linux-Shipping Level01_Main -server -SLIENT -SteamServerName=\"{{SERVER_NAME}}\" saving={{SAVE_TIME}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -EchoPort={{ECHO_PORT}} -online=Steam -forcepassthrough -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}} -MaxPlayers={{MAX_PLAYERS}} -backup={{BACKUP_TIME}} - -log -UTF8Output -MULTIHOME=0.0.0.0", + "startup": "\/home\/container\/WS\/Binaries\/Linux\/WSServer-Linux-Shipping WS Level01_Main -server -SLIENT -SteamServerName=\"{{SERVER_NAME}}\" -saving={{SAVE_TIME}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -EchoPort={{ECHO_PORT}} -online=Steam -forcepassthrough -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}} -MaxPlayers={{MAX_PLAYERS}} -backup={{BACKUP_TIME}} -log -UTF8Output -MULTIHOME=0.0.0.0", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Create Dungeon Successed\"\r\n}", @@ -22,7 +22,7 @@ }, "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 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} +app_update 1007 $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", "container": "ghcr.io\/parkervcp\/installers:debian", "entrypoint": "bash" } From 55095c7756479f543fcba4ff084568aa1698e6e3 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Fri, 31 May 2024 17:55:10 +0200 Subject: [PATCH 4/7] Create the config path just to be certain --- soulmask/egg-soulmask.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/soulmask/egg-soulmask.json b/soulmask/egg-soulmask.json index e4595855..62caad7e 100644 --- a/soulmask/egg-soulmask.json +++ b/soulmask/egg-soulmask.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2024-05-31T17:50:07+02:00", + "exported_at": "2024-05-31T17:54:24+02:00", "name": "Soulmask", "author": "josdekurk@gmail.com", "description": "Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask.", @@ -22,7 +22,7 @@ }, "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 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} +app_update 1007 $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} +app_update 1007 $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\n## Maybe this path is just needed?\r\nmkdir -p \/mnt\/server\/WS\/Saved\/Config\/LinuxServer\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", "container": "ghcr.io\/parkervcp\/installers:debian", "entrypoint": "bash" } @@ -129,4 +129,4 @@ "field_type": "text" } ] -} \ No newline at end of file +} From 165c32249088ab3e5428bfae90008ad1b1410ee6 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Fri, 31 May 2024 19:48:06 +0200 Subject: [PATCH 5/7] Remove some startup params --- soulmask/egg-soulmask.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/soulmask/egg-soulmask.json b/soulmask/egg-soulmask.json index 62caad7e..7da12be8 100644 --- a/soulmask/egg-soulmask.json +++ b/soulmask/egg-soulmask.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2024-05-31T17:54:24+02:00", + "exported_at": "2024-05-31T19:46:26+02:00", "name": "Soulmask", "author": "josdekurk@gmail.com", "description": "Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask.", @@ -13,7 +13,7 @@ "SteamCMD": "ghcr.io\/parkervcp\/steamcmd:debian" }, "file_denylist": [], - "startup": "\/home\/container\/WS\/Binaries\/Linux\/WSServer-Linux-Shipping WS Level01_Main -server -SLIENT -SteamServerName=\"{{SERVER_NAME}}\" -saving={{SAVE_TIME}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -EchoPort={{ECHO_PORT}} -online=Steam -forcepassthrough -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}} -MaxPlayers={{MAX_PLAYERS}} -backup={{BACKUP_TIME}} -log -UTF8Output -MULTIHOME=0.0.0.0", + "startup": "\/home\/container\/WS\/Binaries\/Linux\/WSServer-Linux-Shipping WS Level01_Main -server -SteamServerName=\"{{SERVER_NAME}}\" -saving={{SAVE_TIME}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -EchoPort={{ECHO_PORT}} -forcepassthrough -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}} -MaxPlayers={{MAX_PLAYERS}} -backup={{BACKUP_TIME}} -log -UTF8Output -MULTIHOME=0.0.0.0", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Create Dungeon Successed\"\r\n}", From 04ef7b7c38f35dae1217a1b54ff16ad59ec630e4 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Sat, 1 Jun 2024 13:15:15 +0200 Subject: [PATCH 6/7] add feature, rename variable, fix type, update readme --- soulmask/README.md | 5 +++-- soulmask/egg-soulmask.json | 12 +++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/soulmask/README.md b/soulmask/README.md index 26647be6..87f251ca 100644 --- a/soulmask/README.md +++ b/soulmask/README.md @@ -19,13 +19,14 @@ Steam: https://store.steampowered.com/app/2646460/Soulmask/ Soulmask requires up to 3 ports. You can choose every port you want. | Port | default | -|--------- |---------------| +|:---------:|:---------------:| | Game | 7777 | | Query | 27015 | -| EchoPort | 18888 | +| Maintenance / echo | 18888 (Does not need to be public) | ## Special Note +- Each game process needs to open two UDP ports - A single game process requires at least 16GB of memory and 2-4 CPU cores. - Bandwidth requirements: Each game server's inbound/outbound bandwidth is about 100kbps/player. - The game package size is about 1-2GB, requiring about 20GB of free disk space for operation. \ No newline at end of file diff --git a/soulmask/egg-soulmask.json b/soulmask/egg-soulmask.json index 7da12be8..0be598e7 100644 --- a/soulmask/egg-soulmask.json +++ b/soulmask/egg-soulmask.json @@ -4,11 +4,13 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2024-05-31T19:46:26+02:00", + "exported_at": "2024-06-01T13:12:16+02:00", "name": "Soulmask", "author": "josdekurk@gmail.com", "description": "Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask.", - "features": null, + "features": [ + "steam_disk_space" + ], "docker_images": { "SteamCMD": "ghcr.io\/parkervcp\/steamcmd:debian" }, @@ -59,7 +61,7 @@ "field_type": "text" }, { - "name": "Map Players", + "name": "Max Players", "description": "Specifies the maximum number of players the game instance can support.", "env_variable": "MAX_PLAYERS", "default_value": "60", @@ -99,7 +101,7 @@ "field_type": "text" }, { - "name": "Echo Port", + "name": "Maintenance Port", "description": "Maintenance port, used for local telnet server maintenance, TCP, does not need to be open.", "env_variable": "ECHO_PORT", "default_value": "18888", @@ -129,4 +131,4 @@ "field_type": "text" } ] -} +} \ No newline at end of file From 47c2149f1dee270336eb8b3b89975e336d74ddb6 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Sat, 1 Jun 2024 13:30:30 +0200 Subject: [PATCH 7/7] Update egg-soulmask.json --- soulmask/egg-soulmask.json | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/soulmask/egg-soulmask.json b/soulmask/egg-soulmask.json index 0be598e7..5bb0a717 100644 --- a/soulmask/egg-soulmask.json +++ b/soulmask/egg-soulmask.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2024-06-01T13:12:16+02:00", + "exported_at": "2024-06-01T13:27:43+02:00", "name": "Soulmask", "author": "josdekurk@gmail.com", "description": "Escaping a deadly sacrificial ritual, you find an ancient mystical mask on your journey. This mask holds potent knowledge, changing the world you knew. Face the harsh challenges of nature, survive, rally followers, and build your own tribe. Explore and unveil the truths behind the enigmatic mask.", @@ -15,7 +15,7 @@ "SteamCMD": "ghcr.io\/parkervcp\/steamcmd:debian" }, "file_denylist": [], - "startup": "\/home\/container\/WS\/Binaries\/Linux\/WSServer-Linux-Shipping WS Level01_Main -server -SteamServerName=\"{{SERVER_NAME}}\" -saving={{SAVE_TIME}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -EchoPort={{ECHO_PORT}} -forcepassthrough -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}} -MaxPlayers={{MAX_PLAYERS}} -backup={{BACKUP_TIME}} -log -UTF8Output -MULTIHOME=0.0.0.0", + "startup": "\/home\/container\/WS\/Binaries\/Linux\/WSServer-Linux-Shipping WS Level01_Main -server -SILENT -SteamServerName=\"{{SERVER_NAME}}\" -saving={{SAVE_TIME}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -EchoPort={{ECHO_PORT}} -forcepassthrough -MaxPlayers={{MAX_PLAYERS}} -backup={{BACKUP_TIME}} -log -UTF8Output -MULTIHOME=0.0.0.0 {{EXTRA_ARGS}} -online=Steam -adminpsw={{ADMIN_PASSWORD}} -PSW={{SERVER_PASSWORD}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Create Dungeon Successed\"\r\n}", @@ -129,6 +129,16 @@ "user_editable": true, "rules": "nullable|string|max:32", "field_type": "text" + }, + { + "name": "Extra Arguments", + "description": "Additional arguments passed on startup such as: -pve or -pve", + "env_variable": "EXTRA_ARGS", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:32", + "field_type": "text" } ] -} \ No newline at end of file +}