Skip to content

Releases: tgstation/tgstation-server

tgstation-server-v5.13.0

15 Jul 02:30
32e4e61
Compare
Choose a tag to compare

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. See build/tgstation-server.service for a unit example. Note, when running under SystemD, the majority of standard output messages will be suppressed unless FileLogging:Disable is set to true in order not to duplicate log output. (#1571 @Cyberboss)
  • A stub HeadInclude.dm and TailInclude.dm will be generated in the Configuration/CodeModifications directory on instance startup if said directory didn't previously exist. (#1547 @Cyberboss)
  • Fixed HeadInclude.dm and TailInclude.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 for prs and revision 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 via winget 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 in appsettings.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.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 to Tgstation.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 and heartbeatSeconds in favor of dumpOnHealthCheckRestart and healthCheckSeconds respectively. (#1546 @Cyberboss)
  • Renamed heartbeart enums to health checks 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 the mapThreads 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 boolean uploadZip field. If set, and the request succeeds, a fileTicket 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

tgstation-server DMAPI v6.5.2

15 Jul 10:29
64902c7
Compare
Choose a tag to compare

The TGS DMAPI #tgs-dmapi-release

tgstation-server DMAPI v6.5.1

14 Jul 23:04
5f4663b
Compare
Choose a tag to compare

The TGS DMAPI #tgs-dmapi-release

tgstation-server API v9.11.0

14 Jul 03:46
6063459
Compare
Choose a tag to compare

The TGS HTTP API

tgstation-server-v5.12.7

02 Jul 03:30
6338a2e
Compare
Choose a tag to compare

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

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 is 100. (#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

02 Jul 07:11
206e241
Compare
Choose a tag to compare
Pre-release

TEST RELEASE PLEASE IGNORE

tgstation-server-v5.12.6

19 Jun 05:21
b597ed1
Compare
Choose a tag to compare

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

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 is 100. (#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

08 Jun 02:28
b86d678
Compare
Choose a tag to compare

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

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 is 100. (#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

04 Jun 18:50
b3ee05f
Compare
Choose a tag to compare

The TGS DMAPI #tgs-dmapi-release

tgstation-server-v5.12.4

03 Jun 01:47
95307b3
Compare
Choose a tag to compare

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

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 is 100. (#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)