mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-23 04:35:54 +02:00
- The Release rule's regex held a "|", which Pterodactyl reads as a rule separator, so creating a server failed with a 500. Same check, no "|". - The panel wrote port, query_port and steam_token at the top level, where the sectioned config ignores them. They now go to server.*. - Add a Listed variable. The panel's JSON parser writes "false" as a string, so the startup command sets server.listed with sed instead. - The first install writes its settings into the server section.
Pterodactyl
egg-reskate-server.json runs the Linux dedicated server on Pterodactyl
(also works on Pelican). It installs the server from the ReSkate GitHub release and the server then
updates itself, as described in Server/README-linux.md.
Import
- Admin area → Nests → Import Egg, choose
egg-reskate-server.jsonand a nest. - Servers → Create New with the ReSkate Server egg:
- the primary allocation is the game port (
port), - add a second allocation and put its port into Query Port (
query_port). It must differ from the game port.
- the primary allocation is the game port (
- 256 MB of memory is plenty for a typical server; give it about 300 MB of disk (the Steam libraries are in the tarball).
What the egg does
- Install (
install.sh, also inlined in the egg): reads the release'slauncher.json, downloads theserver_linuxtarball, checks its SHA-256 and unpacks it into the server's folder.ReSkateServer.json,Modsand the logs are not in the tarball, so Reinstall keeps them. On the first install it writes the panel's ports andlistedinto theserversection ofReSkateServer.json; the server adds every other setting with its default on its first start. - Start:
./ReSkateServer. The panel sees the server as running atis up on; Stop sendsquit, so it signs out of Steam cleanly. The console takes every server command. - Before each start the panel writes
server.port,server.query_portandserver.steam_tokenintoReSkateServer.json, and the startup command setsserver.listed, so set those in the panel, not in the file.listedis set bysedbecause the panel's JSON parser would write"false"as a string, which the server rejects. - Updates: the server installs new releases itself once nobody is on (
auto_update), using the image'scurlandtar, and carries on in the same process. Reinstalling also updates it.
Variables
| Variable | Env | Default | |
|---|---|---|---|
| Query Port | QUERY_PORT |
27016 |
Second UDP allocation, Steam server queries |
| Steam Token | STEAM_TOKEN |
empty | Game server login token (App ID 3354750, one per server); see steam_token in Server/README.txt |
| Release | RELEASE |
latest |
latest, or a tag such as v1.1.4 (1.1.4 or newer: older releases have no Linux server) |
| Listed | LISTED |
true |
false hides the server from the browser and stops it advertising to Steam; players join with the code |
Image
ghcr.io/parkervcp/yolks:debian (Debian 13). The server needs glibc 2.38 or newer and OpenSSL 3
(libcrypto.so.3); it uses curl for the global ban list and its updates, and tar to unpack them.