fix(satisfactory): SteamCMD download link & PTDL_v2 Upgrade (#1727)

This commit is contained in:
Red-Thirten 2022-07-02 08:17:53 -07:00 committed by GitHub
parent c27c6fa367
commit d4c3296696
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 21 deletions

View File

@ -152,7 +152,7 @@ ___
### Console Commands
As of v0.5.1.10, the console tab in the client server manager is the only way to execute commands. Entering commands via Pterodactyl do nothing.
The console tab in the client server manager is the only way to execute commands. Entering commands via Pterodactyl do nothing.
[List of known commands can be found via the Wiki.](https://satisfactory.fandom.com/wiki/Dedicated_servers#Console_commands)

View File

@ -1,7 +1,7 @@
{
"_comment": "Pterodactyl Satisfactory Egg ~ Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord ~ 2022-02-07",
"_comment": "Pterodactyl Satisfactory Egg ~ Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord ~ 2022-06-27",
"meta": {
"version": "PTDL_v1",
"version": "PTDL_v2",
"update_url": null
},
"name": "Satisfactory",
@ -10,9 +10,9 @@
"features": [
"steam_disk_space"
],
"images": [
"ghcr.io\/parkervcp\/games:source"
],
"docker_images": {
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
},
"file_denylist": [],
"startup": ".\/Engine\/Binaries\/Linux\/UE4Server-Linux-Shipping FactoryGame ?listen -Port={{SERVER_PORT}} -ServerQueryPort={{QUERY_PORT}} -BeaconPort={{BEACON_PORT}} -multihome=0.0.0.0 $(if {{DISABLE_SEASONAL}}; then echo \"-DisableSeasonalEvents\"; fi)",
"config": {
@ -23,7 +23,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n# File: Pterodactyl Satisfactory Egg - egg-satisfactory.json\r\n# Authors: Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord\r\n# Date: 2021\/11\/29\r\n# License: MIT License\r\n\r\n## Download and install SteamCMD\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd\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\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login anonymous +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +exit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Satisfactory setup\r\n# Check for successful installation and make the core binary executable.\r\ncd \/mnt\/server\/Engine\/Binaries\/Linux\r\nif [[ ! -f UE4Server-Linux-Shipping ]]; then\r\n echo -e \"\\n\\nSteamCMD failed to install the Satisfactory Dedicated Server!\"\r\n echo -e \"\\tTry reinstalling the server again.\\n\"\r\n exit 1\r\nelse\r\n chmod +x UE4Server-Linux-Shipping\r\nfi\r\n\r\n# Make Config directory and default .ini files (since they are not initially present before first server start)\r\nmkdir -p \/mnt\/server\/FactoryGame\/Saved\/Config\/LinuxServer\/ && cd \"$_\"\r\n# Currently, this will delete & re-create certain .ini files during a re-install if they are already present.\r\n# While undesirable, this is required due to a current Pterodactyl ini config parser limitation.\r\n# When the patch to this limitation hits the production branch, this will be updated.\r\nrm -f Engine.ini Game.ini GameUserSettings.ini\r\n\r\necho -e '\\nCreating default \"Engine.ini\" configuration file...'\r\ncat > Engine.ini << EOF\r\n[\/Script\/FactoryGame.FGSaveSession]\r\nmNumRotatingAutosaves=${NUM_AUTOSAVES}\r\n\r\n[CrashReportClient]\r\nbImplicitSend=${UPLOAD_CRASH_REPORT}\r\n\r\n[\/Script\/OnlineSubsystemUtils.IpNetDriver]\r\nInitialConnectTimeout=${INIT_CONNECT_TIMEOUT}\r\nConnectionTimeout=${CONNECT_TIMEOUT}\r\nEOF\r\n\r\necho -e 'Creating default \"Game.ini\" configuration file...'\r\ncat > Game.ini << EOF\r\n[\/Script\/Engine.GameSession]\r\nMaxPlayers=${MAX_PLAYERS}\r\nEOF\r\n\r\necho -e 'Creating default \"GameUserSettings.ini\" configuration file...'\r\ncat > GameUserSettings.ini << EOF\r\n[\/Script\/FactoryGame.FGGameUserSettings]\r\nmIntValues=((\"FG.NetworkQuality\", ${NETWORK_QUALITY}))\r\nmFloatValues=((\"FG.AutosaveInterval\", ${AUTOSAVE_INTERVAL}))\r\nEOF\r\n\r\necho -e \"\\nSatisfactory Dedicated Server successfully installed!\\n\"",
"script": "#!\/bin\/bash\r\n\r\n# File: Pterodactyl Satisfactory Egg - egg-satisfactory.json\r\n# Authors: Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord\r\n# Date: 2022\/06\/27\r\n# License: MIT License\r\n\r\n## Download and install SteamCMD\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd\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\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login anonymous +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +exit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Satisfactory setup\r\n# Check for successful installation and make the core binary executable.\r\ncd \/mnt\/server\/Engine\/Binaries\/Linux\r\nif [[ ! -f UE4Server-Linux-Shipping ]]; then\r\n echo -e \"\\n\\nSteamCMD failed to install the Satisfactory Dedicated Server!\"\r\n echo -e \"\\tTry reinstalling the server again.\\n\"\r\n exit 1\r\nelse\r\n chmod +x UE4Server-Linux-Shipping\r\nfi\r\n\r\n# Make Config directory and default .ini files (since they are not initially present before first server start)\r\nmkdir -p \/mnt\/server\/FactoryGame\/Saved\/Config\/LinuxServer\/ && cd \"$_\"\r\n# Currently, this will delete & re-create certain .ini files during a re-install if they are already present.\r\n# While undesirable, this is required due to a current Pterodactyl ini config parser limitation.\r\n# When the patch to this limitation hits the production branch, this will be updated.\r\nrm -f Engine.ini Game.ini GameUserSettings.ini\r\n\r\necho -e '\\nCreating default \"Engine.ini\" configuration file...'\r\ncat > Engine.ini << EOF\r\n[\/Script\/FactoryGame.FGSaveSession]\r\nmNumRotatingAutosaves=${NUM_AUTOSAVES}\r\n\r\n[CrashReportClient]\r\nbImplicitSend=${UPLOAD_CRASH_REPORT}\r\n\r\n[\/Script\/OnlineSubsystemUtils.IpNetDriver]\r\nInitialConnectTimeout=${INIT_CONNECT_TIMEOUT}\r\nConnectionTimeout=${CONNECT_TIMEOUT}\r\nEOF\r\n\r\necho -e 'Creating default \"Game.ini\" configuration file...'\r\ncat > Game.ini << EOF\r\n[\/Script\/Engine.GameSession]\r\nMaxPlayers=${MAX_PLAYERS}\r\nEOF\r\n\r\necho -e 'Creating default \"GameUserSettings.ini\" configuration file...'\r\ncat > GameUserSettings.ini << EOF\r\n[\/Script\/FactoryGame.FGGameUserSettings]\r\nmIntValues=((\"FG.NetworkQuality\", ${NETWORK_QUALITY}))\r\nmFloatValues=((\"FG.AutosaveInterval\", ${AUTOSAVE_INTERVAL}))\r\nEOF\r\n\r\necho -e \"\\nSatisfactory Dedicated Server successfully installed!\\n\"",
"container": "ghcr.io\/pterodactyl\/installers:debian",
"entrypoint": "\/bin\/bash"
}
@ -36,7 +36,8 @@
"default_value": "15777",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1024,65536"
"rules": "required|integer|between:1024,65536",
"field_type": "text"
},
{
"name": "[REQUIRED] Beacon Port",
@ -45,7 +46,8 @@
"default_value": "15000",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1024,65536"
"rules": "required|integer|between:1024,65536",
"field_type": "text"
},
{
"name": "Automatic Updates",
@ -54,7 +56,8 @@
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "boolean"
"rules": "boolean",
"field_type": "text"
},
{
"name": "[Repair] Validate Server Files",
@ -63,7 +66,8 @@
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable"
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "Autosave Interval",
@ -72,7 +76,8 @@
"default_value": "300",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|min:1"
"rules": "required|numeric|min:1",
"field_type": "text"
},
{
"name": "Number of Rotating Autosaves",
@ -81,7 +86,8 @@
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:0"
"rules": "required|integer|min:0",
"field_type": "text"
},
{
"name": "Upload Crash Reports",
@ -90,7 +96,8 @@
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Disable Seasonal Events",
@ -99,7 +106,8 @@
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "[Experimental] Max Players",
@ -108,7 +116,8 @@
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:1"
"rules": "required|integer|min:1",
"field_type": "text"
},
{
"name": "[Advanced] Client Initial Connection Timeout",
@ -117,7 +126,8 @@
"default_value": "30",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|min:1"
"rules": "required|numeric|min:1",
"field_type": "text"
},
{
"name": "[Advanced] Client Established Connection Timeout",
@ -126,7 +136,8 @@
"default_value": "20",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|min:1"
"rules": "required|numeric|min:1",
"field_type": "text"
},
{
"name": "[Advanced] Network Quality",
@ -135,7 +146,8 @@
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|between:0,3"
"rules": "required|integer|between:0,3",
"field_type": "text"
},
{
"name": "[Advanced] Branch Name",
@ -144,7 +156,8 @@
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable|in:public,experimental"
"rules": "string|nullable|in:public,experimental",
"field_type": "text"
},
{
"name": "[Advanced] Satisfactory Dedicated Server App ID",
@ -153,7 +166,8 @@
"default_value": "1690800",
"user_viewable": false,
"user_editable": false,
"rules": "required|integer|min:1"
"rules": "required|integer|min:1",
"field_type": "text"
}
]
}