ReSkateServer, with the same settings and commands as the Windows one. It needs no game install.
What it needs
- 64-bit Linux with glibc 2.38 or newer and OpenSSL 3 (
libcrypto.so.3). curl: how the server reads the ReSkate team’s global ban list and downloads its updates. Without it, the server says so in its log, enforces only its own bans and stays on its version.tarwith gzip, to unpack an update.- Steam’s libraries beside the server:
libsteam_api.soandsteamclient.so.
libsteam_api.so the server stops with Cannot load .../libsteam_api.so. Put libsteam_api.so (Steamworks SDK) next to the server.
Set it up
-
Put
ReSkateServerin a folder of its own. -
Fetch the Steam libraries with the script beside it:
It uses the folder it is in;
--server-dir <folder>points it at another. -
Run
./ReSkateServeronce. It writesReSkateServer.json: set its"name", start it again, and typerole <your SteamID64> admin.
steamclient.so beside itself, on LD_LIBRARY_PATH, or in ~/.steam/sdk64/. Its commands and settings are the same as on Windows.
Time of day and world layers
To set the time of day and other world layers for everyone, the server needsworld-layers.json beside it. It cannot make one on Linux. Get it either way:
- On Windows, with the game installed:
ReSkateServer.exe --export-world-layers "<Skate folder>" world-layers.json, then copy it over. - From a Windows player’s cache:
%LOCALAPPDATA%\ReSkate\cache\<build>\world-layers.json, for the same game build.
systemd
The ReSkate repository has a unit,contrib/reskate-server.service, that runs the server from /opt/reskate-server as the user reskate:
ReSkateServer.log beside itself, and the console’s copy goes to the journal:
Pterodactyl
The repository has an egg for Pterodactyl and Pelican,contrib/pterodactyl. It installs the server from the latest release, and the server then updates itself.
- In the admin area, Nests > Import Egg, and choose
egg-reskate-server.json. - Create a server with the ReSkate Server egg. Its primary allocation is the game port; add a second allocation, and put its port in Query Port. The two must differ.
- 256 MB of memory is plenty for a typical server, with about 300 MB of disk.
ReSkateServer.json before each start, and sets Listed in the startup command. Set those in the panel, not in the file. Stop sends quit, so the server signs out of Steam cleanly. Reinstall keeps ReSkateServer.json, Mods and the logs.
Updates
A server from a release updates itself like the Windows one: when it starts and every half hour it asks for the latest release, and installs a newer Linux server once nobody is on.update does it at once; "auto_update": false or --no-update turns it off.
- The download is pinned by SHA-256, fetched with
curlover HTTPS and unpacked withtar. - Everything from the release is replaced: the server, the Steam libraries, the readmes and
world-layers.json. Your own files are kept:ReSkateServer.json,Modsand the logs. - The new version takes over the same process, so systemd or your terminal keeps the server it started.
- A server you built yourself never replaces itself.