Releases: tgstation/tgstation-server
tgstation-server-v5.13.0
Please refer to the README for setup instructions.
Component Versions
Core: 5.13.0
Configuration: 4.7.0
HTTP API: 9.11.0
DreamMaker API: 6.5.1 (Interop: 5.6.1)
Web Control Panel: 4.22.0
Host Watchdog: 1.3.0
Update 13.X
Configuration
- The new configuration version is 4.7.0. (#1584 @Cyberboss)
- Added
Swarm:PublicAddress
this 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.md
for details. (#1571 @Cyberboss) - Added SystemD
notify-reload
support. Seebuild/tgstation-server.service
for a unit example. Note, when running under SystemD, the majority of standard output messages will be suppressed unlessFileLogging:Disable
is set totrue
in order not to duplicate log output. (#1571 @Cyberboss) - A stub
HeadInclude.dm
andTailInclude.dm
will be generated in theConfiguration/CodeModifications
directory on instance startup if said directory didn't previously exist. (#1547 @Cyberboss) - Fixed
HeadInclude.dm
andTailInclude.dm
if the deployement's target.dme
wasn't in the root of the game directory. (#1547 @Cyberboss) - The
prs
chat command now supports a--staged
argument that will give you the test merges in the revision staged for deployment if any. (#1513 @Cyberboss) --repo
parameter forprs
andrevision
commands 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:LowPriorityDeploymentProcesses
config. (#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
.exe
installer 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:DesignTime
being exposed inappsettings.Prodution.yml
s 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.yml
files 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
BYOND
directory 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
128
is equivalent to stopping the service. (#1572 @Cyberboss) - Windows service command
129
issues 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
130
will 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.exe
command line options. (#1572 @Cyberboss) - Added
-p=XXX
option toTgstation.Server.Host.Service.exe
which 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
dotnet
executable searching. (#1572 @Cyberboss)
HTTP API
- When configuration file access conflicts occur, error code
46
will be returned. (#1553 @Cyberboss) - Deprecated DreamDaemon model fields
dumpOnHeartbeartRestart
andheartbeatSeconds
in favor ofdumpOnHealthCheckRestart
andhealthCheckSeconds
respectively. (#1546 @Cyberboss) - Renamed
heartbeart
enums tohealth check
s in preparation for a future change. (#1516 @Cyberboss) - Added the
mapThreads
field 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
524288
for changing themapThreads
field. (#1464 @Cyberboss) - Added
isSystemChannel
field 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
128
for uploading custom server update packages. (#1535 @Cyberboss) - POST
/Administration
now accepts a booleanuploadZip
field. If set, and the request succeeds, afileTicket
will be generated in the response. This ticket can be used to upload a.zip
server update package using the/Transfer
route. (#1535 @Cyberboss)
Web Control Panel
- Updated to v4.22.0. (#1596 @Cyberboss)
tgstation-server DMAPI v6.5.2
The TGS DMAPI #tgs-dmapi-release
tgstation-server DMAPI v6.5.1
The TGS DMAPI #tgs-dmapi-release
tgstation-server API v9.11.0
The TGS HTTP API
tgstation-server-v5.12.7
Please refer to the README for setup instructions.
Component Versions
Core: 5.12.7
Configuration: 4.6.0
HTTP API: 9.10.2
DreamMaker API: 6.4.5 (Interop: 5.6.1)
Web Control Panel: 4.20.0
Host Watchdog: 1.2.2
Patch 7
Core
- 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)
- Fixed a memory leak that sometimes occurred if DreamDaemon crashed during a
TgsReboot()
bridge request. (#1559 @Cyberboss) - 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)
- On Windows, TGS will request administrator privileges when needed. (#1566 @Peliex)
Patch 6
Core
- If a deployment has the DMAPI available, the code tree change-out will be delayed until
world.TgsReboot()
is called. This prevents the working directory from changing unexpectedly around an active server. (#1551 @Cyberboss) - Deployment cleanups will now be slightly delayed to avoid tripping on files still in use. (#1551 @Cyberboss)
- Fixed error handling when sending SIGSTOP or SIGCONT to DreamDaemon failed on Linux. (#1551 @Cyberboss)
- The
Live
game directory symlinking process on Linux is now less error prone. (#1551 @Cyberboss) - Fixed server errors occurring when renaming or setting instance auto-update intervals. (#1552 @Cyberboss)
- Fixed being unable to cancel a deployment during DMAPI validation until it either succeeded or timed-out, (#1549 @Cyberboss)
- Fixed a potential cause of server instabilities originating from Topic calls. (#1534 @Cyberboss)
- Fixed a potential 500 error when listing an instance's configuration directory if an IO error occurred. (#1534 @Cyberboss)
Patch 5
Core
- Fixed an internal error that could occur if an incorrect password was entered for a registered Windows user. (#1526 @Cyberboss)
- Fixed a deadlock in Discord chat bot shutdown. (#1509 @Cyberboss)
- Fixed the swarm system rarely attempting to abort a distributed update after committing to it. (#1510 @Cyberboss)
- Prevented errors related to job creation from occurring during server shutdown. (#1518 @Cyberboss)
- Fixed repository push operations reporting faulty progress values. (#1515 @Cyberboss)
Patch 4
Core
- Fix server applying the deployment low priority config to live servers and the live server priority config to deployments. (#1507 @MrStonedOne)
- Fixed DreamDaemon logging not working on Linux. (#1506 @Cyberboss)
Patch 3
Core
- Fixed uploading more than one custom BYOND version per BYOND build creating jobs that would hang indefinitely. (#1502 @Cyberboss)
- Fixed a rare race condition in server shutdown related to the job manager. (#1502 @Cyberboss)
- Certain priority interop topics will now be resent to DD up to 5 times if they failed previously before logging an error. (#1499 @Cyberboss)
- Fixed unnecessary chat channel remappings occurring when a Discord Chat Bot with channel ID 0 mapped receives a DM from a user that had not done so it since it last connected. (#1499 @Cyberboss)
- Cancelling a Discord chat bot connection job should now properly indicate it was cancelled instead of errored. (#1499 @Cyberboss)
- Deleting a chat bot or offlining an instance while a chat bot connection job was running no longer errors. (#1499 @Cyberboss)
- Fixed a rare chat bot disconnect error if a command is sent immediately before the disconnect occurs. (#1499 @Cyberboss)
- Fixed a rare instance shutdown error when the .dyn.rsc.lk is detected before it is deleted. (#1499 @Cyberboss)
- Fixed a rare instance shutdown error when a compile job directory fails to delete for any reason or fails to be marked as inactive in GitHub. (#1499 @Cyberboss)
- Fixed
byond
chat command failing if there was no active compile job. (#1499 @Cyberboss) - Fixed occasional errors if a chat command is sent while watchdog isn't fully online. (#1499 @Cyberboss)
DreamMaker API
- Release only includes an update to the V5 interop version, which was patched server-side. (#1502 @Cyberboss)
Patch 2
Core
- Fixed initial chat channel update not getting sent to the DMAPI after a TGS restart. (#1493 @Cyberboss)
- Removed the possibility for chat bot connections to slow down watchdog processing upon starting or restarting TGS. (#1493 @Cyberboss)
- Fixed chat bot disconnection errors being able to generate 500 responses. (#1493 @Cyberboss)
- Fixed a non-fatal error registering as a 500 error when updating or restarting. (#1493 @Cyberboss)
- Fixed race conditions related to updating deployment chat messages. (#1493 @Cyberboss)
- Fixed a memory leak when chat bots are deleted or disabled via the API. (#1493 @Cyberboss)
- Fixed a race condition relating to sending the initial watchdog chat message on instance auto-start or reattach. (#1493 @Cyberboss)
Patch 1
Core
- Upgraded git backend and removed libssl dependency on Linux. Please report any git related issues. (#1485 @Cyberboss)
- Fixed an erroneous debug log when upgrading TGS. (#1485 @Cyberboss)
- The server configured
GitHubAccessToken
will now be used to authenticate downloads of the server update package if it is present. (#1485 @Cyberboss) - Accounted for GitHub server time drift when generating the Retry-After header in HTTP 429 responses. (#1475 @Cyberboss)
- Fixed an exception that can occur when performing repository jobs while using a Postgres database. (#1482 @Cyberboss)
DreamMaker API
- Added some missing events. (#1485 @Cyberboss)
- Downgraded V3 TgsRevision() error to a warning. (#1485 @Cyberboss)
HTTP API
- Fixed exploit allowing for the reading of chat bot connection strings. (#1487 @MrStonedOne)
Update 12.X
Configuration
- The new config version is 4.6.0. (#1461 @Cyberboss)
- Added
General:DeploymentDirectoryCopyTasksPerCore
to allow operators to manually adjust the rate at which asynchronous file copies are performed on instances. Too few can significantly increase deployment times, too many can make TGS unresponsive and slowdown other I/O operations on the machine. Leaving this unset disables the throttle entirely. Note that this is the default for upgraded TGS installations. Server operators should highly consider setting the throttle. The default value for new installations is100
. (#1462 @Cyberboss) - Added
Swarm:UpdateRequiredNodeCount
option. This is the number of additional nodes a swarm controller expects to be present for an update. (#1461 @Cyberboss)
Core
- Fixed the web server not starting until the instance manager was initialized. (#1463 @Cyberboss)
- Fixed a race condition that caused BYOND installation jobs to be executed in the context of the HTTP request that started them, resulting in long response times. (#1463 @Cyberboss)
- Fixed modifying the system user's BYOND configuration having a race condition across instances. (#1463 @Cyberboss)
- Reduced surface area for potential failure in distributed swarm server updates. (#1461 @Cyberboss)
- Fixed potential deadlock if a swarm controller abandons a node that is waiting to commit an update. (#1461 @Cyberboss)
HTTP API
- Added the ability to delete non-active BYOND installations with DELETE /Byond and the new
ByondVersionDeleteRequest
model. This endpoint returns an HTTP 202 job for the deletion process, HTTP 409 if the version is the active version, or HTTP 410 if the version is not installed. (#1463 @Cyberboss) - Added ErrorCode 36 for if an attempt is made to delete the active BYOND version. (#1463 @Cyberboss)
- Added error code 28 for if an update can't start due to a server swarm not being fully populated (responds with HTTP 424) . (#1461 @Cyberboss)
Web Control Panel
- Updated to version 4.20.0, adding BYOND install deletion support. (@Cyberboss)
TEST RELEASE PLEASE IGNORE
TEST RELEASE PLEASE IGNORE
tgstation-server-v5.12.6
Please refer to the README for setup instructions.
Component Versions
Core: 5.12.6
Configuration: 4.6.0
HTTP API: 9.10.2
DreamMaker API: 6.4.5 (Interop: 5.6.1)
Web Control Panel: 4.20.0
Host Watchdog: 1.2.2
Patch 6
Core
- If a deployment has the DMAPI available, the code tree change-out will be delayed until
world.TgsReboot()
is called. This prevents the working directory from changing unexpectedly around an active server. (#1551 @Cyberboss) - Deployment cleanups will now be slightly delayed to avoid tripping on files still in use. (#1551 @Cyberboss)
- Fixed error handling when sending SIGSTOP or SIGCONT to DreamDaemon failed on Linux. (#1551 @Cyberboss)
- The
Live
game directory symlinking process on Linux is now less error prone. (#1551 @Cyberboss) - Fixed server errors occurring when renaming or setting instance auto-update intervals. (#1552 @Cyberboss)
- Fixed being unable to cancel a deployment during DMAPI validation until it either succeeded or timed-out, (#1549 @Cyberboss)
- Fixed a potential cause of server instabilities originating from Topic calls. (#1534 @Cyberboss)
- Fixed a potential 500 error when listing an instance's configuration directory if an IO error occurred. (#1534 @Cyberboss)
Patch 5
Core
- Fixed an internal error that could occur if an incorrect password was entered for a registered Windows user. (#1526 @Cyberboss)
- Fixed a deadlock in Discord chat bot shutdown. (#1509 @Cyberboss)
- Fixed the swarm system rarely attempting to abort a distributed update after committing to it. (#1510 @Cyberboss)
- Prevented errors related to job creation from occurring during server shutdown. (#1518 @Cyberboss)
- Fixed repository push operations reporting faulty progress values. (#1515 @Cyberboss)
Patch 4
Core
- Fix server applying the deployment low priority config to live servers and the live server priority config to deployments. (#1507 @MrStonedOne)
- Fixed DreamDaemon logging not working on Linux. (#1506 @Cyberboss)
Patch 3
Core
- Fixed uploading more than one custom BYOND version per BYOND build creating jobs that would hang indefinitely. (#1502 @Cyberboss)
- Fixed a rare race condition in server shutdown related to the job manager. (#1502 @Cyberboss)
- Certain priority interop topics will now be resent to DD up to 5 times if they failed previously before logging an error. (#1499 @Cyberboss)
- Fixed unnecessary chat channel remappings occurring when a Discord Chat Bot with channel ID 0 mapped receives a DM from a user that had not done so it since it last connected. (#1499 @Cyberboss)
- Cancelling a Discord chat bot connection job should now properly indicate it was cancelled instead of errored. (#1499 @Cyberboss)
- Deleting a chat bot or offlining an instance while a chat bot connection job was running no longer errors. (#1499 @Cyberboss)
- Fixed a rare chat bot disconnect error if a command is sent immediately before the disconnect occurs. (#1499 @Cyberboss)
- Fixed a rare instance shutdown error when the .dyn.rsc.lk is detected before it is deleted. (#1499 @Cyberboss)
- Fixed a rare instance shutdown error when a compile job directory fails to delete for any reason or fails to be marked as inactive in GitHub. (#1499 @Cyberboss)
- Fixed
byond
chat command failing if there was no active compile job. (#1499 @Cyberboss) - Fixed occasional errors if a chat command is sent while watchdog isn't fully online. (#1499 @Cyberboss)
DreamMaker API
- Release only includes an update to the V5 interop version, which was patched server-side. (#1502 @Cyberboss)
Patch 2
Core
- Fixed initial chat channel update not getting sent to the DMAPI after a TGS restart. (#1493 @Cyberboss)
- Removed the possibility for chat bot connections to slow down watchdog processing upon starting or restarting TGS. (#1493 @Cyberboss)
- Fixed chat bot disconnection errors being able to generate 500 responses. (#1493 @Cyberboss)
- Fixed a non-fatal error registering as a 500 error when updating or restarting. (#1493 @Cyberboss)
- Fixed race conditions related to updating deployment chat messages. (#1493 @Cyberboss)
- Fixed a memory leak when chat bots are deleted or disabled via the API. (#1493 @Cyberboss)
- Fixed a race condition relating to sending the initial watchdog chat message on instance auto-start or reattach. (#1493 @Cyberboss)
Patch 1
Core
- Upgraded git backend and removed libssl dependency on Linux. Please report any git related issues. (#1485 @Cyberboss)
- Fixed an erroneous debug log when upgrading TGS. (#1485 @Cyberboss)
- The server configured
GitHubAccessToken
will now be used to authenticate downloads of the server update package if it is present. (#1485 @Cyberboss) - Accounted for GitHub server time drift when generating the Retry-After header in HTTP 429 responses. (#1475 @Cyberboss)
- Fixed an exception that can occur when performing repository jobs while using a Postgres database. (#1482 @Cyberboss)
DreamMaker API
- Added some missing events. (#1485 @Cyberboss)
- Downgraded V3 TgsRevision() error to a warning. (#1485 @Cyberboss)
HTTP API
- Fixed exploit allowing for the reading of chat bot connection strings. (#1487 @MrStonedOne)
Update 12.X
Configuration
- The new config version is 4.6.0. (#1461 @Cyberboss)
- Added
General:DeploymentDirectoryCopyTasksPerCore
to allow operators to manually adjust the rate at which asynchronous file copies are performed on instances. Too few can significantly increase deployment times, too many can make TGS unresponsive and slowdown other I/O operations on the machine. Leaving this unset disables the throttle entirely. Note that this is the default for upgraded TGS installations. Server operators should highly consider setting the throttle. The default value for new installations is100
. (#1462 @Cyberboss) - Added
Swarm:UpdateRequiredNodeCount
option. This is the number of additional nodes a swarm controller expects to be present for an update. (#1461 @Cyberboss)
Core
- Fixed the web server not starting until the instance manager was initialized. (#1463 @Cyberboss)
- Fixed a race condition that caused BYOND installation jobs to be executed in the context of the HTTP request that started them, resulting in long response times. (#1463 @Cyberboss)
- Fixed modifying the system user's BYOND configuration having a race condition across instances. (#1463 @Cyberboss)
- Reduced surface area for potential failure in distributed swarm server updates. (#1461 @Cyberboss)
- Fixed potential deadlock if a swarm controller abandons a node that is waiting to commit an update. (#1461 @Cyberboss)
HTTP API
- Added the ability to delete non-active BYOND installations with DELETE /Byond and the new
ByondVersionDeleteRequest
model. This endpoint returns an HTTP 202 job for the deletion process, HTTP 409 if the version is the active version, or HTTP 410 if the version is not installed. (#1463 @Cyberboss) - Added ErrorCode 36 for if an attempt is made to delete the active BYOND version. (#1463 @Cyberboss)
- Added error code 28 for if an update can't start due to a server swarm not being fully populated (responds with HTTP 424) . (#1461 @Cyberboss)
Web Control Panel
- Updated to version 4.20.0, adding BYOND install deletion support. (@Cyberboss)
tgstation-server-v5.12.5
Please refer to the README for setup instructions.
Component Versions
Core: 5.12.5
Configuration: 4.6.0
HTTP API: 9.10.2
DreamMaker API: 6.4.5 (Interop: 5.6.1)
Web Control Panel: 4.20.0
Host Watchdog: 1.2.2
Patch 5
Core
- Fixed an internal error that could occur if an incorrect password was entered for a registered Windows user. (#1526 @Cyberboss)
- Fixed a deadlock in Discord chat bot shutdown. (#1509 @Cyberboss)
- Fixed the swarm system rarely attempting to abort a distributed update after committing to it. (#1510 @Cyberboss)
- Prevented errors related to job creation from occurring during server shutdown. (#1518 @Cyberboss)
- Fixed repository push operations reporting faulty progress values. (#1515 @Cyberboss)
Patch 4
Core
- Fix server applying the deployment low priority config to live servers and the live server priority config to deployments. (#1507 @MrStonedOne)
- Fixed DreamDaemon logging not working on Linux. (#1506 @Cyberboss)
Patch 3
Core
- Fixed uploading more than one custom BYOND version per BYOND build creating jobs that would hang indefinitely. (#1502 @Cyberboss)
- Fixed a rare race condition in server shutdown related to the job manager. (#1502 @Cyberboss)
- Certain priority interop topics will now be resent to DD up to 5 times if they failed previously before logging an error. (#1499 @Cyberboss)
- Fixed unnecessary chat channel remappings occurring when a Discord Chat Bot with channel ID 0 mapped receives a DM from a user that had not done so it since it last connected. (#1499 @Cyberboss)
- Cancelling a Discord chat bot connection job should now properly indicate it was cancelled instead of errored. (#1499 @Cyberboss)
- Deleting a chat bot or offlining an instance while a chat bot connection job was running no longer errors. (#1499 @Cyberboss)
- Fixed a rare chat bot disconnect error if a command is sent immediately before the disconnect occurs. (#1499 @Cyberboss)
- Fixed a rare instance shutdown error when the .dyn.rsc.lk is detected before it is deleted. (#1499 @Cyberboss)
- Fixed a rare instance shutdown error when a compile job directory fails to delete for any reason or fails to be marked as inactive in GitHub. (#1499 @Cyberboss)
- Fixed
byond
chat command failing if there was no active compile job. (#1499 @Cyberboss) - Fixed occasional errors if a chat command is sent while watchdog isn't fully online. (#1499 @Cyberboss)
DreamMaker API
- Release only includes an update to the V5 interop version, which was patched server-side. (#1502 @Cyberboss)
Patch 2
Core
- Fixed initial chat channel update not getting sent to the DMAPI after a TGS restart. (#1493 @Cyberboss)
- Removed the possibility for chat bot connections to slow down watchdog processing upon starting or restarting TGS. (#1493 @Cyberboss)
- Fixed chat bot disconnection errors being able to generate 500 responses. (#1493 @Cyberboss)
- Fixed a non-fatal error registering as a 500 error when updating or restarting. (#1493 @Cyberboss)
- Fixed race conditions related to updating deployment chat messages. (#1493 @Cyberboss)
- Fixed a memory leak when chat bots are deleted or disabled via the API. (#1493 @Cyberboss)
- Fixed a race condition relating to sending the initial watchdog chat message on instance auto-start or reattach. (#1493 @Cyberboss)
Patch 1
Core
- Upgraded git backend and removed libssl dependency on Linux. Please report any git related issues. (#1485 @Cyberboss)
- Fixed an erroneous debug log when upgrading TGS. (#1485 @Cyberboss)
- The server configured
GitHubAccessToken
will now be used to authenticate downloads of the server update package if it is present. (#1485 @Cyberboss) - Accounted for GitHub server time drift when generating the Retry-After header in HTTP 429 responses. (#1475 @Cyberboss)
- Fixed an exception that can occur when performing repository jobs while using a Postgres database. (#1482 @Cyberboss)
DreamMaker API
- Added some missing events. (#1485 @Cyberboss)
- Downgraded V3 TgsRevision() error to a warning. (#1485 @Cyberboss)
HTTP API
- Fixed exploit allowing for the reading of chat bot connection strings. (#1487 @MrStonedOne)
Update 12.X
Configuration
- The new config version is 4.6.0. (#1461 @Cyberboss)
- Added
General:DeploymentDirectoryCopyTasksPerCore
to allow operators to manually adjust the rate at which asynchronous file copies are performed on instances. Too few can significantly increase deployment times, too many can make TGS unresponsive and slowdown other I/O operations on the machine. Leaving this unset disables the throttle entirely. Note that this is the default for upgraded TGS installations. Server operators should highly consider setting the throttle. The default value for new installations is100
. (#1462 @Cyberboss) - Added
Swarm:UpdateRequiredNodeCount
option. This is the number of additional nodes a swarm controller expects to be present for an update. (#1461 @Cyberboss)
Core
- Fixed the web server not starting until the instance manager was initialized. (#1463 @Cyberboss)
- Fixed a race condition that caused BYOND installation jobs to be executed in the context of the HTTP request that started them, resulting in long response times. (#1463 @Cyberboss)
- Fixed modifying the system user's BYOND configuration having a race condition across instances. (#1463 @Cyberboss)
- Reduced surface area for potential failure in distributed swarm server updates. (#1461 @Cyberboss)
- Fixed potential deadlock if a swarm controller abandons a node that is waiting to commit an update. (#1461 @Cyberboss)
HTTP API
- Added the ability to delete non-active BYOND installations with DELETE /Byond and the new
ByondVersionDeleteRequest
model. This endpoint returns an HTTP 202 job for the deletion process, HTTP 409 if the version is the active version, or HTTP 410 if the version is not installed. (#1463 @Cyberboss) - Added ErrorCode 36 for if an attempt is made to delete the active BYOND version. (#1463 @Cyberboss)
- Added error code 28 for if an update can't start due to a server swarm not being fully populated (responds with HTTP 424) . (#1461 @Cyberboss)
Web Control Panel
- Updated to version 4.20.0, adding BYOND install deletion support. (@Cyberboss)
tgstation-server DMAPI v6.5.0
The TGS DMAPI #tgs-dmapi-release
tgstation-server-v5.12.4
Please refer to the README for setup instructions.
Component Versions
Core: 5.12.4
Configuration: 4.6.0
HTTP API: 9.10.2
DreamMaker API: 6.4.5 (Interop: 5.6.1)
Web Control Panel: 4.20.0
Host Watchdog: 1.2.2
Patch 4
Core
- Fix server applying the deployment low priority config to live servers and the live server priority config to deployments. (#1507 @MrStonedOne)
- Fixed DreamDaemon logging not working on Linux. (#1506 @Cyberboss)
Patch 3
Core
- Fixed uploading more than one custom BYOND version per BYOND build creating jobs that would hang indefinitely. (#1502 @Cyberboss)
- Fixed a rare race condition in server shutdown related to the job manager. (#1502 @Cyberboss)
- Certain priority interop topics will now be resent to DD up to 5 times if they failed previously before logging an error. (#1499 @Cyberboss)
- Fixed unnecessary chat channel remappings occurring when a Discord Chat Bot with channel ID 0 mapped receives a DM from a user that had not done so it since it last connected. (#1499 @Cyberboss)
- Cancelling a Discord chat bot connection job should now properly indicate it was cancelled instead of errored. (#1499 @Cyberboss)
- Deleting a chat bot or offlining an instance while a chat bot connection job was running no longer errors. (#1499 @Cyberboss)
- Fixed a rare chat bot disconnect error if a command is sent immediately before the disconnect occurs. (#1499 @Cyberboss)
- Fixed a rare instance shutdown error when the .dyn.rsc.lk is detected before it is deleted. (#1499 @Cyberboss)
- Fixed a rare instance shutdown error when a compile job directory fails to delete for any reason or fails to be marked as inactive in GitHub. (#1499 @Cyberboss)
- Fixed
byond
chat command failing if there was no active compile job. (#1499 @Cyberboss) - Fixed occasional errors if a chat command is sent while watchdog isn't fully online. (#1499 @Cyberboss)
DreamMaker API
- Release only includes an update to the V5 interop version, which was patched server-side. (#1502 @Cyberboss)
Patch 2
Core
- Fixed initial chat channel update not getting sent to the DMAPI after a TGS restart. (#1493 @Cyberboss)
- Removed the possibility for chat bot connections to slow down watchdog processing upon starting or restarting TGS. (#1493 @Cyberboss)
- Fixed chat bot disconnection errors being able to generate 500 responses. (#1493 @Cyberboss)
- Fixed a non-fatal error registering as a 500 error when updating or restarting. (#1493 @Cyberboss)
- Fixed race conditions related to updating deployment chat messages. (#1493 @Cyberboss)
- Fixed a memory leak when chat bots are deleted or disabled via the API. (#1493 @Cyberboss)
- Fixed a race condition relating to sending the initial watchdog chat message on instance auto-start or reattach. (#1493 @Cyberboss)
Patch 1
Core
- Upgraded git backend and removed libssl dependency on Linux. Please report any git related issues. (#1485 @Cyberboss)
- Fixed an erroneous debug log when upgrading TGS. (#1485 @Cyberboss)
- The server configured
GitHubAccessToken
will now be used to authenticate downloads of the server update package if it is present. (#1485 @Cyberboss) - Accounted for GitHub server time drift when generating the Retry-After header in HTTP 429 responses. (#1475 @Cyberboss)
- Fixed an exception that can occur when performing repository jobs while using a Postgres database. (#1482 @Cyberboss)
DreamMaker API
- Added some missing events. (#1485 @Cyberboss)
- Downgraded V3 TgsRevision() error to a warning. (#1485 @Cyberboss)
HTTP API
- Fixed exploit allowing for the reading of chat bot connection strings. (#1487 @MrStonedOne)
Update 12.X
Configuration
- The new config version is 4.6.0. (#1461 @Cyberboss)
- Added
General:DeploymentDirectoryCopyTasksPerCore
to allow operators to manually adjust the rate at which asynchronous file copies are performed on instances. Too few can significantly increase deployment times, too many can make TGS unresponsive and slowdown other I/O operations on the machine. Leaving this unset disables the throttle entirely. Note that this is the default for upgraded TGS installations. Server operators should highly consider setting the throttle. The default value for new installations is100
. (#1462 @Cyberboss) - Added
Swarm:UpdateRequiredNodeCount
option. This is the number of additional nodes a swarm controller expects to be present for an update. (#1461 @Cyberboss)
Core
- Fixed the web server not starting until the instance manager was initialized. (#1463 @Cyberboss)
- Fixed a race condition that caused BYOND installation jobs to be executed in the context of the HTTP request that started them, resulting in long response times. (#1463 @Cyberboss)
- Fixed modifying the system user's BYOND configuration having a race condition across instances. (#1463 @Cyberboss)
- Reduced surface area for potential failure in distributed swarm server updates. (#1461 @Cyberboss)
- Fixed potential deadlock if a swarm controller abandons a node that is waiting to commit an update. (#1461 @Cyberboss)
HTTP API
- Added the ability to delete non-active BYOND installations with DELETE /Byond and the new
ByondVersionDeleteRequest
model. This endpoint returns an HTTP 202 job for the deletion process, HTTP 409 if the version is the active version, or HTTP 410 if the version is not installed. (#1463 @Cyberboss) - Added ErrorCode 36 for if an attempt is made to delete the active BYOND version. (#1463 @Cyberboss)
- Added error code 28 for if an update can't start due to a server swarm not being fully populated (responds with HTTP 424) . (#1461 @Cyberboss)
Web Control Panel
- Updated to version 4.20.0, adding BYOND install deletion support. (@Cyberboss)