Commit Graph
13 Commits
Author SHA1 Message Date
xThrasherrr 049d94696c Ignore a blank player name in admin commands 2026-10-03 22:14:11 -06:00
AyeZeeBB 984656150d Give the Linux server 64 bits of session entropy and a pinned Steam lib
Two follow-ups to the Linux server support in #6. Both are Linux-only, so
neither reached a Windows player.

Session codes
- nonce()'s fallback for a container with no /dev/urandom read
  "i < 4 && !value", which ended the loop as soon as the first round
  produced anything: one round of sixteen bits instead of four. Over
  200k draws that is 62k distinct codes with a ceiling of 0xffff, rather
  than 200k across the full range.

libsteam_api.so
- It was fetched from a mirror's main branch with no hash, by CI and by
  the script every server operator runs, and it is loaded into the
  server process. A branch name is whatever that branch holds on the day
  it runs.
- Pinned to mirror commit df2baabf574a and checked against its SHA-256
  (385840 bytes, eb2dd015...). The size and export checks already there
  catch a wrong file; a hash is what catches a swapped one.
- --sdk-url still overrides the URL and drops the check, since a
  different URL has a different hash; --sdk-sha256 keeps it.
2026-10-03 19:54:06 -05:00
juan e00fbe95dd CI: bundle Steam libs in Linux asset
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.
2026-10-03 19:23:31 -03:00
juan e6f82990d8 Linux console: survive transient FIFO writers
Control pipes driven by one-shot writers (echo cmd > fifo, fleet
tools) close the write end after each line; read()==0 then means
'no writers right now', not EOF. Only treat 0 as end-of-input for
non-FIFOs (/dev/null, files, terminals). Sleep briefly on empty
FIFO polls so POLLHUP does not spin.
2026-10-03 18:34:13 -03:00
juan fcac674511 Fix Linux Ctrl+C hang, README guide, versioned Linux asset
- 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
2026-10-03 17:51:14 -03:00
juan 22ed651a88 Add setup-linux-server-libs.sh for Steam .so files
- fetches libsteam_api.so (SDK mirror) + steamclient/tier0/vstdlib
  via SteamCMD app 1007, links ~/.steam/sdk64, verifies exports
- fixes pipefail+grep -q SIGPIPE trap in the nm check
- README: document script as the primary path
2026-10-03 17:39:11 -03:00
juan ef294c05d8 Linux: sockets v013/v012 fallback + Steam lib docs
- SDK 1.65 provides GameServerNetworkingSockets v013, Skate DLL v012;
  try v013 then v012 (superset, same methods used)
- verified live: sign-in, Steam ID, join code, clean shutdown
- README: steamclient sdk64 symlink, version fallback note
2026-10-03 17:30:35 -03:00
juan a5f6176144 Docs: where Linux Steam .so files come from 2026-10-03 17:24:41 -03:00
juan 1d7bd5048e CI: build all targets for ctest + clarify Linux layers
- 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
2026-10-03 17:17:49 -03:00
Juan 5c846cd8ba Linux server docs: preset, README-linux, systemd unit 2026-10-03 16:57:40 -03:00
Juan 9ddbd0c7ce Linux build system: server-only target + portable warnings
- CMakeLists: allow Linux 64-bit, server-only includes, portable tests
- ProjectOptions: MSVC /W4 vs GCC -Wall, version.rc Windows-only
- Core/Dependencies: guard Windows-only libs, OpenSSL for launcher_support
- Apps: launcher/emote Windows-only, server Linux links OpenSSL/dl/pthread
- Fix launcher_support lambda return, cas_codec Oodle guards, steam dlerror crash
2026-10-03 16:57:18 -03:00
Juan eab493987c Port server core to Linux (win32 guards + OpenSSL/dlopen) 2026-10-03 16:49:14 -03:00
AyeZeeBB ca1d82f636 1.0.0 Release! 2026-10-02 14:40:41 -05:00