From 697e28c63f0556a2d45a57c0421e34ce5af1e46f Mon Sep 17 00:00:00 2001 From: Quinten Date: Mon, 18 Dec 2023 14:39:45 +0100 Subject: [PATCH 1/2] add Wurm Unlimited --- README.md | 2 +- game_eggs/README.md | 1 + game_eggs/steamcmd_servers/README.md | 3 + .../steamcmd_servers/wurm_unlimited/README.md | 30 ++++ .../wurm_unlimited/egg-wurm-unlimited.json | 152 ++++++++++++++++++ 5 files changed, 187 insertions(+), 1 deletion(-) create mode 100644 game_eggs/steamcmd_servers/wurm_unlimited/README.md create mode 100644 game_eggs/steamcmd_servers/wurm_unlimited/egg-wurm-unlimited.json diff --git a/README.md b/README.md index 6bdb2fda..65ad8d9a 100644 --- a/README.md +++ b/README.md @@ -332,7 +332,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Valheim Vanilla](game_eggs/steamcmd_servers/valheim/valheim_vanilla) * [Valheim BepInEx](game_eggs/steamcmd_servers/valheim/valheim_bepinex) * [Valheim Plus Mod](game_eggs/steamcmd_servers/valheim/valheim_plus) - +* [Wurm Unlimited](game_eggs/steamcmd_servers/wurm_unlimited/) [Teeworlds](game_eggs/teeworlds) diff --git a/game_eggs/README.md b/game_eggs/README.md index dbff044e..80c29881 100644 --- a/game_eggs/README.md +++ b/game_eggs/README.md @@ -226,6 +226,7 @@ * [Valheim Vanilla](steamcmd_servers/valheim/valheim_vanilla) * [Valheim BepInEx](steamcmd_servers/valheim/valheim_bepinex) * [Valheim Plus Mod](steamcmd_servers/valheim/valheim_plus) +* [Wurm Unlimited](steamcmd_servers/wurm_unlimited/) [Teeworlds](teeworlds) diff --git a/game_eggs/steamcmd_servers/README.md b/game_eggs/steamcmd_servers/README.md index 4580c282..8765b847 100644 --- a/game_eggs/steamcmd_servers/README.md +++ b/game_eggs/steamcmd_servers/README.md @@ -307,3 +307,6 @@ This is a collection of servers that use SteamCMD to install. * [Valheim Vanilla](valheim/valheim_vanilla) * [Valheim BepInEx](valheim/valheim_bepinex) * [Valheim Plus Mod](valheim/valheim_plus) + +## Wurm Unlimited +* [Wurm Unlimited](wurm_unlimited/) \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/wurm_unlimited/README.md b/game_eggs/steamcmd_servers/wurm_unlimited/README.md new file mode 100644 index 00000000..2fd3912a --- /dev/null +++ b/game_eggs/steamcmd_servers/wurm_unlimited/README.md @@ -0,0 +1,30 @@ +# Wurm Unlimited + +## [Steam](https://store.steampowered.com/app/366220/Wurm_Unlimited/) + +## [Documentation](https://www.wurmpedia.com/index.php/Server_administration_(Wurm_Unlimited)) + +## Install notes + + +On first install the backup command will error as nothing was created yet. This can safly be ignored + +## Installation/System Requirements + +| | Bare Minimum | Recommended | +|---------|---------|---------| +| Processor | *Any AMD64 will work* | ** | +| RAM | *2 GiB* | *4 GiB* | +| Storage | *2 GiB* | *3 GiB* | +| Network | *Anything will work* | ** | +| Game Ownership | *not needed* | ** | + +## Server Ports + +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Game | 3724 TCP | +| Query | 27016-27030 UDP | + diff --git a/game_eggs/steamcmd_servers/wurm_unlimited/egg-wurm-unlimited.json b/game_eggs/steamcmd_servers/wurm_unlimited/egg-wurm-unlimited.json new file mode 100644 index 00000000..d735e0f3 --- /dev/null +++ b/game_eggs/steamcmd_servers/wurm_unlimited/egg-wurm-unlimited.json @@ -0,0 +1,152 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2023-12-18T14:31:49+01:00", + "name": "Wurm Unlimited", + "author": "josdekurk@gmail.com", + "description": "Wurm Unlimited is the standalone version of the fantasy sandbox world Wurm Online, the MMORPG where the players are in charge! A pioneer in the ideas of player influence, crafting and adventure, it is now one of the most deep and feature packed true sandbox experiences available.", + "features": null, + "docker_images": { + "ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian" + }, + "file_denylist": [], + "startup": ".\/WurmServerLauncher ip=0.0.0.0 externalport={{SERVER_PORT}} start={{SERVER_WORLD}} maxplayers={{MAX_PLAYERS}} servername=\"{{SERVERNAME}}\" adminpwd={{ADMINPWD}} serverpassword={{SERVERPWD}} epicsettings={{EPIC}} queryport={{QUERY_PORT}} pvp={{PVP}}", + "config": { + "files": "{\r\n \"LaunchConfig.ini\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"CleanLogsOnStart\": \"{{server.build.env.SERVER_CLEAN_LOGS_ON_START}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Wurm Server launcher finished at\"\r\n}", + "logs": "{}", + "stop": "shutdown" + }, + "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# 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# Copying steamclient.so as per https:\/\/www.wurmpedia.com\/index.php\/Server_administration_(Wurm_Unlimited)#Headless\r\nmkdir -p \/mnt\/server\/nativelibs\r\ncp -v linux64\/steamclient.so \/mnt\/server\/nativelibs\r\n\r\nmkdir -p .\/backup\r\ncp .\/WurmServerLauncher .\/backup\/\r\ncp -r .\/dist\/Adventure .\/backup\/\r\ncp -r .\/dist\/Creative .\/backup\/\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": "402370", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:402370", + "field_type": "text" + }, + { + "name": "Auto update", + "description": "Auto update on restart", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Admin Passwod", + "description": "Unlocks the admin commands from within the game, that can be used to change the gameplay settings of the server, such as skill gain rate and field growth time.", + "env_variable": "ADMINPWD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:20", + "field_type": "text" + }, + { + "name": "Query Port", + "description": "Used to set the steam query port (27016-27030 UDP)", + "env_variable": "QUERY_PORT", + "default_value": "", + "user_viewable": true, + "user_editable": false, + "rules": "required|int", + "field_type": "text" + }, + { + "name": "Server Name", + "description": "The name of the server that will be visible in server browsers.", + "env_variable": "SERVERNAME", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:64", + "field_type": "text" + }, + { + "name": "Max Players", + "description": "Sets the max number of players allowed on the server, if this is set through this command line option then the internal game commands to change the player limit will not work.", + "env_variable": "MAX_PLAYERS", + "default_value": "25", + "user_viewable": true, + "user_editable": false, + "rules": "required|int", + "field_type": "text" + }, + { + "name": "Enable PVP", + "description": "", + "env_variable": "PVP", + "default_value": "true", + "user_viewable": true, + "user_editable": true, + "rules": "required|in:true,false", + "field_type": "text" + }, + { + "name": "Server Password", + "description": "Sets the password that is used when trying to connect to the server.", + "env_variable": "SERVERPWD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:64", + "field_type": "text" + }, + { + "name": "Epic", + "description": "If true the server will follow the rules from the Epic servers in Wurm Online. For instance it will use the skill curve.", + "env_variable": "EPIC", + "default_value": "false", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:true,false", + "field_type": "text" + }, + { + "name": "Clean Logs on Start", + "description": "Clear the logfile on server start", + "env_variable": "SERVER_CLEAN_LOGS_ON_START", + "default_value": "true", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:true,false", + "field_type": "text" + }, + { + "name": "World", + "description": "World to use when launching Wurm. The defaults provided are Creative and Adventure (case sensitive)", + "env_variable": "SERVER_WORLD", + "default_value": "dist\/Adventure", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:128", + "field_type": "text" + }, + { + "name": "Beta", + "description": "Leave empty for the public branch and beta for the beta branch", + "env_variable": "SRCDS_BETAID", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|in:,beta", + "field_type": "text" + } + ] +} \ No newline at end of file From 52d840cd192ba2bb9be58c212288bab8274812ce Mon Sep 17 00:00:00 2001 From: Quinten Date: Mon, 18 Dec 2023 14:40:40 +0100 Subject: [PATCH 2/2] Fix issue --- .../steamcmd_servers/wurm_unlimited/egg-wurm-unlimited.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/game_eggs/steamcmd_servers/wurm_unlimited/egg-wurm-unlimited.json b/game_eggs/steamcmd_servers/wurm_unlimited/egg-wurm-unlimited.json index d735e0f3..b251ea73 100644 --- a/game_eggs/steamcmd_servers/wurm_unlimited/egg-wurm-unlimited.json +++ b/game_eggs/steamcmd_servers/wurm_unlimited/egg-wurm-unlimited.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2023-12-18T14:31:49+01:00", + "exported_at": "2023-12-18T14:40:15+01:00", "name": "Wurm Unlimited", "author": "josdekurk@gmail.com", "description": "Wurm Unlimited is the standalone version of the fantasy sandbox world Wurm Online, the MMORPG where the players are in charge! A pioneer in the ideas of player influence, crafting and adventure, it is now one of the most deep and feature packed true sandbox experiences available.", @@ -95,7 +95,7 @@ "default_value": "true", "user_viewable": true, "user_editable": true, - "rules": "required|in:true,false", + "rules": "required|string|in:true,false", "field_type": "text" }, {