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