/!\ 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 `steamcmd` approach, but yields a far more reproducible server environment. Additionally, the network traffic between `lib.fakeHash` and 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: * `mkDerivation` analogue: `buildSMPlugin` * setup hook for `spcomp` include paths * coming soon: development shells to replicate your server setup * 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.nix` lets you `callPackage` this repository the old-fashioned way to get the top-level package set. * `overlay.nix` adds it as `srcdsPackages` 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 to `overlay.nix`. [steam-fetcher]: https://github.com/nix-community/steam-fetcher [green tint]: https://developer.valvesoftware.com/wiki/Fixing_DXT_Green_Tint_Compression