tgstation-server-v5.13.1
Please refer to the README for setup instructions.
Component Versions
Core: 5.13.1
Configuration: 4.7.0
HTTP API: 9.11.0
DreamMaker API: 6.5.2 (Interop: 5.6.1)
Web Control Panel: 4.22.0
Host Watchdog: 1.3.0
Patch 1
Core
- Fixed
tgs-configurescript selecting/opt/tgstation-serveras the config directory instead of/etc/tgstation-server. (#1597 @Cyberboss) - Fixed SystemD constantly killing TGS due to it not properly communicating. (#1597 @Cyberboss)
DreamMaker API
- Removed a bad version check that would error builds. (#1597 @Cyberboss)
Update 13.X
Configuration
- The new configuration version is 4.7.0. (#1584 @Cyberboss)
- Added
Swarm:PublicAddressthis address is simply included in the response to/on the main HTTP API. Clients can use this as a hint to talk to other servers in the swarm without additional user input. (#1584 @Cyberboss)
Core
- Docker image is now based off of debian bookworm(12). (#1591 @alexkar598)
- Fixed a swarm node collection desync that could occur if a controller health check triggered while a node was in the process of registering. (#1585 @Cyberboss)
- TGS now ships with a Debian (Ubuntu compatible) package and provides apt repository to download it from. This is available at the /tg/station apt repository https://github.com/tgstation/tgstation-ppa. See
README.mdfor details. (#1571 @Cyberboss) - Added SystemD
notify-reloadsupport. Seebuild/tgstation-server.servicefor a unit example. Note, when running under SystemD, the majority of standard output messages will be suppressed unlessFileLogging:Disableis set totruein order not to duplicate log output. (#1571 @Cyberboss) - A stub
HeadInclude.dmandTailInclude.dmwill be generated in theConfiguration/CodeModificationsdirectory on instance startup if said directory didn't previously exist. (#1547 @Cyberboss) - Fixed
HeadInclude.dmandTailInclude.dmif the deployement's target.dmewasn't in the root of the game directory. (#1547 @Cyberboss) - The
prschat command now supports a--stagedargument that will give you the test merges in the revision staged for deployment if any. (#1513 @Cyberboss) --repoparameter forprsandrevisioncommands no longer block until the repository is available. (#1513 @Cyberboss)- Configuration changes no longer auto-reload via a TGS restart. The restart must be performed manually. (#1570 @Cyberboss)
- Event scripts executed by the main deployment pipeline now respect the
Session:LowPriorityDeploymentProcessesconfig. (#1570 @Cyberboss) - Windows firewall rule names for DreamDaemon now include the BYOND version number. (#1464 @Cyberboss)
- Fix priority topic sends not being able to be interrupted. (#1464 @Cyberboss)
- Sending SIGUSR2 to the main TGS process now act as if TGS received a restart request (i.e. the watchdog will detach and the TGS main process will exit) except it won't come back without system operator intervention. (#1561 @Cyberboss)
- Fixed a warning that could occur with GitHub deployments enabled. (#1584 @Cyberboss)
- Server update packages can now be provided through the API. Note that if an update package that doesn't match the tgstation-server update protocol is uploaded or if the actual uploaded version doesn't match the version specified in the POST API request, undefined behavior will occur. (#1535 @Cyberboss)
- Fixed an error that occurred if a static file upload ticket was abandoned. (#1535 @Cyberboss)
- Fixed potential memory leak in the non-GitHub OAuth login procedures. (#1535 @Cyberboss)
- Minor performance improvement in the non-GitHub OAuth login procedures. (#1535 @Cyberboss)
- Fixed double read occurring when downloading log files through the API. (#1535 @Cyberboss)
- Swarm distributed update downloads are now only performed on the initiating server. Other servers then download the update package from the initiator. (#1535 @Cyberboss)
- Fixed several edge cases in swarm distributed update process. (#1535 @Cyberboss)
- tgstation-server no longer holds a .NET Framework 4.7.2 dependency for running the Windows service. (#1572 @Cyberboss)
- tgstation-server now ships an
.exeinstaller for Windows. It automatically downloads and installs the required .NET dependency if needed. You can either download it from GitHub Releases or install it viawinget install Tgstation.Server. Once initially installed, it can be used to perform seamless updates same as using the HTTP API would. (#1572 @Cyberboss) - Fixed the internal configuration setting
General:DesignTimebeing exposed inappsettings.Prodution.ymls the setup wizard generates. (#1572 @Cyberboss) - The setup wizard now has default recommendations for the majority of its options that can be quickly navigated through. (#1572 @Cyberboss)
- The configuration directory (where the
appsettings.ymlfiles are loaded from) can now be specified with the command line argument--appsettings-base-path=XXX. Remember that this is meant to be passed through either the console or service host watchdog. (#1572 @Cyberboss) - When specifying a relative path to an SQLite database, the base directory will now be the configuration directory. (#1572 @Cyberboss)
- The TGS console window title will now reflect the version being run or if you're running the setup wizard. (#1572 @Cyberboss)
- Fixed Windows service creating a
BYONDdirectory in the installation folder. (#1572 @Cyberboss) - Fixed deployments failing if creating GitHub deployments was enabled and GitHub returned bad data. (#1579 @Cyberboss)
- Fixed deployments failing if the GitHub repository ID could not be retrieved under certain circumstances. (#1579 @Cyberboss)
- Fixed deployments failing if posting test merge comments was enabled and the GitLab request failed. (#1579 @Cyberboss)
- On Windows, TGS will request administrator privileges when needed. (#1566 @Peliex)
- Fixed incorrect wording in the error message embed TGS sends when receiving bad input from DM code. (#1565 @Cyberboss)
- Fixed a deadlock that could happen if a directory copy operation was cancelled. (#1565 @Cyberboss)
- Fixed a memory leak that sometimes occurred if DreamDaemon crashed during a
TgsReboot()bridge request. (#1559 @Cyberboss)
DreamMaker API
- Added compile compatibility for back to BYOND version 510. (#1596 @Cyberboss)
- Added the ability for the event_handler to process health check events (#1516 @Cyberboss)
Host Watchdog
- Sending SIGUSR1 or SIGUSR2 to the host watchdog now forwards the signal to the main server process. (#1554 @Cyberboss)
- Windows service command
128is equivalent to stopping the service. (#1572 @Cyberboss) - Windows service command
129issues a graceful shutdown. The service will stop once all instances shutdown and instances will shutdown if their game servers are offline or once they call/world/proc/TgsReboot(). (#1572 @Cyberboss) - Windows service command
130will stop the service and leave DreamDaemon instances running. It can be started later to reattach them. (#1572 @Cyberboss) - Added descriptions to
Tgstation.Server.Host.Service.execommand line options. (#1572 @Cyberboss) - Added
-p=XXXoption toTgstation.Server.Host.Service.exewhich can be used to pass arguments to the main server. (#1572 @Cyberboss) - Windows executables are now signed against the root certification authority maintained by @Cyberboss. Please consider adding this CA to your
Trusted Root Certificates(OCSP Server: http://ocsp.dextraspace.net). Validate the thumbprint:4b2e06b195a1c2535e9571797565c4cee84a2cd3. (#1572 @Cyberboss) - Improved
dotnetexecutable searching. (#1572 @Cyberboss)
HTTP API
- When configuration file access conflicts occur, error code
46will be returned. (#1553 @Cyberboss) - Deprecated DreamDaemon model fields
dumpOnHeartbeartRestartandheartbeatSecondsin favor ofdumpOnHealthCheckRestartandhealthCheckSecondsrespectively. (#1546 @Cyberboss) - Renamed
heartbeartenums tohealth checks in preparation for a future change. (#1516 @Cyberboss) - Added the
mapThreadsfield to the DreamDaemon model. This can be set to 0 to use the default value or a higher number to be added to DreamDaemon command lines. Only applies to supported BYOND versions. (#1464 @Cyberboss) - Added DreamDaemon right
524288for changing themapThreadsfield. (#1464 @Cyberboss) - Added
isSystemChannelfield to ChatChannel model. Defaults to on for pre-existing ChatChannels. Defaults to off for new ones. These can be used to limit the channels TGS restart and update messages get sent to. (#1489 @Cyberboss) - Added Administration right
128for uploading custom server update packages. (#1535 @Cyberboss) - POST
/Administrationnow accepts a booleanuploadZipfield. If set, and the request succeeds, afileTicketwill be generated in the response. This ticket can be used to upload a.zipserver update package using the/Transferroute. (#1535 @Cyberboss)
Web Control Panel
- Updated to v4.22.0. (#1596 @Cyberboss)