blob: c2bb7affe6b51633e5297d73c289b4e0a07eeb70 (
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
39
40
41
42
43
44
45
|
/!\ 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
|