contrib/pterodactyl/egg-reskate-server.json installs the server from the
release's launcher.json (server_linux tarball, checked by SHA-256), keeps the
panel's port, query_port and steam_token in ReSkateServer.json, starts on
"is up on" and stops with quit. Image ghcr.io/parkervcp/yolks:debian (Debian
13: glibc 2.41, OpenSSL 3, curl and tar for the self-update).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FN9ZCrWqg6MVuLbn65aVzX
Server browser
- Official servers (the backend's "official_servers") sort first and are
drawn in ReSkate blue
- Servers Steam friends are skating in sort next, drawn in green with the
friends' names; searching a friend's name finds their server
- A player in a session they joined can join another server straight from
the list; hosts still end their session first, and a Steam friend's join
offer never replaces a session
- Joining a dedicated server from the list records it as the player's
public session, so friends see it and the row shows HERE
- Blocked servers (the backend's "blocked_servers") are hidden and cannot
be joined, by code either
- When the backend sets "server_tokens_required", dedicated servers that
signed in without a login token are hidden, except on the player's own
network
- A search that gets no internet list from Steam keeps the last list for
two minutes, and waits six seconds before treating it as empty
Roles
- New Staff tag from the backend's "staff" list: green name, badge and
item animation, ranked after Dev
- Staff can pick a rainbow for their items on the Special page; it is sent
as a solid colour older builds can show, so the protocol is unchanged
Dedicated server
- steam_token: sign in with a Steam game server login token and keep the
same Steam ID every start; empty signs in anonymously as before
- A listed server without a token says so at startup, and when the token
rule starts or stops hiding it
- Linux servers update themselves from the release's "server_linux"
tarball, with the machine's curl and tar, pinned by SHA-256, and carry
on in the same process
Launcher
- Only create the MiniDumpWriteDump API-set shim under Wine/Proton
- Read Dev / Creator / Homie Steam IDs from api.reskate.dev instead of the hardcoded list
- Creator (red) and Homie (gold) tags and hoodie/board colours; Admin tag is now pink
- Global bans: lobby hosts and dedicated servers turn banned players away
("global_bans": false in ReSkateServer.json opts a server out)
- SPECIAL menu page for listed players to hide their own tag and items
- Fix hoodie and board keeping the animated colour after the animation turns off
- Multiplayer protocol 39 -> 40
The server appends every line to ReSkateServer.log next to itself (main.cpp
write_log). The unit also appended stdout to that same file, so each line
was written twice, once per stream, and the copies could interleave out of
order. The journal keeps the console copy instead.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fetch libsteam_api.so (SDK redist mirror, export-verified) and
steamclient+tier0/vstdlib (SteamCMD app 1007) and stage them into
ReSkateServer-Linux-<version>, mirroring the Windows zip's DLLs.
- console reader: poll()+read() instead of iostream getline; joinable
thread joined before Steam shutdown/exit (iostream lock deadlock
needed Ctrl+D before)
- README: Linux dedicated-server setup guide
- CI: version input, tag builds, ReSkateServer-Linux-<version> asset
with setup script staged at top level
- workflow built only dingosdk_server so ctest binaries missing (Not Run)
- build all targets before ctest
- layers: read works on Linux, export needs Windows game + Oodle;
document player-cache copy path