forked from pelican-eggs/games-steamcmd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
egg-satisfactory.json
144 lines (144 loc) · 8.34 KB
/
egg-satisfactory.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
"meta": {
"version": "PLCN_v1",
"update_url": "https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-steamcmd\/refs\/heads\/main\/satisfactory\/egg-satisfactory.json"
},
"exported_at": "2024-11-30T15:42:32+00:00",
"name": "Satisfactory",
"author": "[email protected]",
"uuid": "dafdb96a-e8c1-449f-a6ae-b7ba209c05ff",
"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": [
"steam_disk_space"
],
"docker_images": {
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
},
"file_denylist": [],
"startup": ".\/Engine\/Binaries\/Linux\/*-Linux-Shipping FactoryGame -Port={{SERVER_PORT}}",
"config": {
"files": "{\r\n \"FactoryGame\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"[\/Script\/Engine.GameSession].MaxPlayers\": \"{{server.environment.MAX_PLAYERS}}\"\r\n }\r\n },\r\n \"FactoryGame\/Saved\/Config\/LinuxServer\/Engine.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"[\/Script\/FactoryGame.FGSaveSession].mNumRotatingAutosaves\": \"{{server.environment.NUM_AUTOSAVES}}\",\r\n \"[\/Script\/OnlineSubsystemUtils.IpNetDriver].InitialConnectTimeout\": \"{{server.environment.INIT_CONNECT_TIMEOUT}}\",\r\n \"[\/Script\/OnlineSubsystemUtils.IpNetDriver].ConnectionTimeout\": \"{{server.environment.CONNECT_TIMEOUT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Engine Initialization\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"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: 2024\/09\/10\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 server binary executable.\r\n# Use `find` to see if a valid server binary exists using a wildcard, because\r\n# the binary name may change in the future.\r\n# (eg. it changed when the engine was updated from UE4 to UE5)\r\ncd \/mnt\/server\/Engine\/Binaries\/Linux\r\ncount=$(find . -maxdepth 1 -name '*-Linux-Shipping' -type f -executable | wc -l)\r\nif [[ $count -eq 0 ]]; 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 *-Linux-Shipping\r\nfi\r\n\r\necho -e \"\\nSatisfactory Dedicated Server successfully installed!\\n\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "\/bin\/bash"
}
},
"variables": [
{
"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"
],
"sort": 1
},
{
"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"
],
"sort": 2
},
{
"name": "Number of Rotating Autosaves",
"description": "Number of session auto-saves for the server to keep before the oldest save is deleted and the others are moved down the list.",
"env_variable": "NUM_AUTOSAVES",
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"integer",
"min:0"
],
"sort": 3
},
{
"name": "[Experimental] Max Players",
"description": "The server and client are currently not optimized to support more than 4 players. However, you can override this value here at your own risk of poor performance.",
"env_variable": "MAX_PLAYERS",
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"integer",
"min:1"
],
"sort": 4
},
{
"name": "[Advanced] Client Initial Connection Timeout",
"description": "Time in seconds to wait for a new client connection to be established before destroying the connection.",
"env_variable": "INIT_CONNECT_TIMEOUT",
"default_value": "30",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"numeric",
"min:1"
],
"sort": 5
},
{
"name": "[Advanced] Client Established Connection Timeout",
"description": "Time in seconds to wait before considering an established client connection timed out. Typically shorter than the time to wait on an initial connection because this connection should already have been setup and any interruption should be trapped quicker.",
"env_variable": "CONNECT_TIMEOUT",
"default_value": "20",
"user_viewable": true,
"user_editable": true,
"rules": [
"required",
"numeric",
"min:1"
],
"sort": 6
},
{
"name": "[Advanced] Branch Name",
"description": "[Accepted Values: \"public\", \"experimental\", or leave empty to use the primary branch of the server] Used to download or switch to a non-primary branch of the game server. \"Automatic Updates\" and \"Validate Server Files\" must be set to \"1\" to switch branches if the server is already installed. NOTE: Any non-primary branches may not be fully compatible\/stable!",
"env_variable": "SRCDS_BETAID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": [
"string",
"nullable",
"in:public,experimental"
],
"sort": 7
},
{
"name": "[Advanced] Satisfactory Dedicated Server App ID",
"description": "Steam App ID used for installation and updates.",
"env_variable": "SRCDS_APPID",
"default_value": "1690800",
"user_viewable": false,
"user_editable": false,
"rules": [
"required",
"integer",
"in:1690800"
],
"sort": 8
}
]
}