eggs/game_eggs/steamcmd_servers/satisfactory/egg-satisfactory.json
Red-Thirten 127bea6a4d Custom Ports Update + More
Egg:
- Changed the startup command to call the binary directly to avoid end-users changing the provided bash file to run whatever they'd like.
- Changed the install script to check that the server successfully installed, and makes the server binary executable. Also added Software-Noob as a contributor.
- Fixed the startup command to support custom ports. The SERVER_PORT variable is now tied to the Server Query Port (because that is what clients use to connect to the server). The GAME_PORT variable was added for the Game Port. Also changed the Game Port to use the correct flag.
- Changed the Server Query Port variable to be the Game Port and provided a better description.
- Updated the Beacon Port description to be more accurate. Also unlocked it's restriction to port 15000 because it can be changed now.

README:
- Updated any text mentioning restricted ports to text explaining their configuration. Also used clearer verbiage for the port table.
- Added Software-Noob as a contributor.
- Added info on "initializing"/"claiming" a server.
- Added info on the command line.
- Added "SDL" warning as a warning to safely ignore.
2021-10-27 16:11:17 -07:00

76 lines
5.1 KiB
JSON

{
"_comment": "Pterodactyl Satisfactory Egg ~ Kubi, matthewp, and Red-Thirten ~ 2021-10-26",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"name": "Satisfactory",
"author": "rehlmgaming@gmail.com",
"description": "Satisfactory is a first-person open-world factory building game with a dash of exploration and combat. Play alone or with friends, explore an alien planet, create multi-story factories, and enter conveyor belt heaven!",
"features": null,
"images": [
"ghcr.io\/pterodactyl\/games:source"
],
"file_denylist": [],
"startup": ".\/Engine\/Binaries\/Linux\/UE4Server-Linux-Shipping FactoryGame -ServerQueryPort={{SERVER_PORT}} -Port={{GAME_PORT}} -BeaconPort={{BEACON_PORT}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Engine Initialization\"\r\n}",
"logs": "{}",
"stop": "^CC"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Satisfactory Egg - egg-satisfactory.json\r\n## Authors: ryan@kubiq.io (Kubi), matthew@pterodactyl.io (matthewp), admin@softwarenoob.com (Software-Noob) & David Wolfe (Red-Thirten)\r\n## Date: 2021\/10\/27\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\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 server using SteamCMD\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} 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\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\necho -e \"\\n\\nSatisfactory Dedicated Server successfully installed!\\n\"",
"container": "ghcr.io\/pterodactyl\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "[REQUIRED] Game Port",
"description": "This is the port that the game client uses to connect to the game world (not the lobby). Ensure this port matches your externally forwarded port, and is distanced from other running Satisfactory servers in Pterodactyl (increments of 100 are recommended). This is also true for the Primary (Query) Port!",
"env_variable": "GAME_PORT",
"default_value": "7777",
"user_viewable": false,
"user_editable": false,
"rules": "required|integer|min:1024|max:65536"
},
{
"name": "[REQUIRED] Beacon Port",
"description": "This port provides a lightweight way for clients to contact a server and interact with it without committing to a normal game connection (likely used for client administration). Ensure this port matches your externally forwarded port, and is distanced from other running Satisfactory servers in Pterodactyl (increments of 100 are recommended).",
"env_variable": "BEACON_PORT",
"default_value": "15000",
"user_viewable": false,
"user_editable": false,
"rules": "required|integer|min:1024|max:65536"
},
{
"name": "Automatic Updates",
"description": "Quickly checks for any server updates on startup, and updates if necessary. (1 Enable | 0 Disable)",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "boolean"
},
{
"name": "[Repair] Validate Server Files",
"description": "Leave empty (no value) for OFF or type \"true\" or \"1\" for ON. Validates all server files when Automatic Updates is enabled. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed.",
"env_variable": "VALIDATE",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable"
},
{
"name": "[Advanced] Satisfactory Dedicated Server App ID",
"description": "Steam App ID used for installation and updates. Rarely needs to be changed.",
"env_variable": "SRCDS_APPID",
"default_value": "1690800",
"user_viewable": false,
"user_editable": false,
"rules": "required|integer|min:1"
}
]
}