blob: 5d0f76718ebbf8dddc31f6bd32eaee83f94bc5be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
### /!\ 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
between `lib.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 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
|