### /!\ ALART /!\ ALPHA PROOF OF CONCEPT /!\ ALART /!\
Currently the SM/MMS side of things builds exclusively against SDK 2013 Multiplayer. Accordingly, there are some underlying 32-bit assumptions.
srcds-nix
This is a Nix package set and library for Source Engine dedicated servers. It currently features:
- fetchers for Steam content:
fetchDepotCache
,fetchDepotFile
,mkDepot
- Courtesy of a patched DepotDownloader, derivations are fixed-output on the contents of deterministic manifests, then on the SHA1 hashes within.
- This is quite distinct from the usual
steamcmd
approach, but yields a far more reproducible server environment. Additionally, the network traffic betweenlib.fakeHash
and TOFU is measured in kilobytes, not potential gigabytes as with steam-fetcher. - AMBuild
- MetaMod: Source
- SourceMod
- a standard extensible package set for plugins and extensions, including:
mkDerivation
analogue:buildSMPlugin
- setup hook for
spcomp
include paths - coming soon: development shells to replicate your server setup
Usage
default.nix
lets youcallPackage
this repository the old-fashioned way to get the top-level package set.overlay.nix
adds it assrcdsPackages
to the target.srcdsPackages
is considered its canonical place in nixpkgs.flake.nix
exposes:packages.${system}.default
is the top-level package set.overlays.default
points tooverlay.nix
.