From 4fe6b5ab4a0d3f76b6fb94b430e270048523d8bb Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sat, 9 Nov 2024 15:20:11 -0500 Subject: [PATCH] Document new features --- README.md | 27 +++++++++++++++++++++++ src/Tgstation.Server.Host/appsettings.yml | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 24077a5a10..680f2f2a6b 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,31 @@ sudo dpkg --add-architecture i386 \ The service will execute as the newly created user: `tgstation-server`. You should, ideally, store your instances somewhere under `/home/tgstation-server`. +##### Nix Flake + +TGS supports being setup on Nix starting with version 6.12.0. Add the [flake](./build/package/nix/flake.nix) to your own system by adding the following code to your flake inputs. +```nix + tgstation-server = { + url = "github:tgstation/tgstation-server/tgstation-server-v${version}?dir=build/package/nix"; + }; +``` + +Where `version` is the latest major TGS version you wish to use. + +Note that changing this version does not change the core version of TGS used after the first launch. Instead, have TGS self-update via its API. + +For maximum game server uptime, do NOT modify this version unless you are doing a major TGS version update in which case it is a requirement. + +Configure TGS by setting up its service definition: +```nix + services.tgstation-server = { + enable = true; + production-appsettings = (builtins.readFile ./path/to/your/appsettings.Production.yml); + }; +``` + +Refer to [tgstation-server.nix](./build/package/nix/tgstation-server.nix) for the full list of available configuration options. + ##### Manual Setup The following dependencies are required. @@ -243,6 +268,8 @@ Create an `appsettings.Production.yml` file next to `appsettings.yml`. This will - `General:SkipAddingByondFirewallException`: Set to `true` if you have Windows firewall disabled +- `General:AdditionalEventScriptsDirectories`: An array of directories that are considered to contain EventScripts alongside instance directories. Working directory for executed scripts will remain the instance EventScripts directory. + - `Session:HighPriorityLiveDreamDaemon`: Boolean controlling if live DreamDaemon instances get set to above normal priority processes. - `Session:LowPriorityDeploymentProcesses `: Boolean controlling if DreamMaker and API validation DreamDaemon instances get set to below normal priority processes. diff --git a/src/Tgstation.Server.Host/appsettings.yml b/src/Tgstation.Server.Host/appsettings.yml index ef7e42f69f..2978befbf9 100644 --- a/src/Tgstation.Server.Host/appsettings.yml +++ b/src/Tgstation.Server.Host/appsettings.yml @@ -19,7 +19,7 @@ General: OpenDreamGitUrl: https://github.com/OpenDreamProject/OpenDream # The repository to retrieve OpenDream from OpenDreamGitTagPrefix: v # The prefix to the OpenDream semver as tags appear in the git repository OpenDreamSuppressInstallOutput: false # Suppress the dotnet output of creating an OpenDream installation. Known to cause hangs in CI. - AdditionalEventScriptsDirectories: # An array of directories that are considered to contain EventScripts alongside instance directories. Working directory will remain the instance EventScripts directory. + AdditionalEventScriptsDirectories: # An array of directories that are considered to contain EventScripts alongside instance directories. Working directory for exectued scripts will remain the instance EventScripts directory. Session: HighPriorityLiveDreamDaemon: false # If DreamDaemon instances should run as higher priority processes LowPriorityDeploymentProcesses: true # If TGS Deployments should run as lower priority processes