/!\ 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 dedicated server hosting and general content authoring with the Source Engine.
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
steamcmdapproach, but yields a far more reproducible server environment. Additionally, the network traffic betweenlib.fakeHashand trust-on-first-use 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:
mkDerivationanalogue:buildSMPlugin- setup hook for
spcompinclude paths - coming soon: development shells to replicate your server setup
- a standard extensible package set for plugins and extensions, including:
- vtex2, Strata Source's VTF converter, which uses a heavily improved fork of VTFLib built against AMD Compressonator, which gets rid of the infamous green tint among other things.
- a less ambitious Linux port of VTFLib for compatibility
Usage
default.nixlets youcallPackagethis repository the old-fashioned way to get the top-level package set.overlay.nixadds it assrcdsPackagesto the target.srcdsPackagesis considered its canonical place in nixpkgs.flake.nixexposes:packages.${system}.defaultis the top-level package set.overlays.defaultpoints tooverlay.nix.
