tgstation-server 6.16.0
The /tg/station 13 server suite
Loading...
Searching...
No Matches
Features

Table of Contents

Comprehensive Feature List

tgstation-server is a DreamMaker server managment suite. It includes all the following features

  • Standalone server with OpenAPI 3.0 defined HTTP REST API
  • Web based client included
  • Secure user authentication, management, and permissions system
  • Support for using Windows accounts as logins
  • OAuth 2.0 support with several providers
    • InvisionCommunity
    • /tg/ Forums
    • Discord
    • GitHub
    • Keycloak
  • Long running operation support via the jobs subsystem with error handling and stage reporting
  • Logging system with configurable levels of verbosity
    • Logs can be downloaded via the API
    • Supports Elasticsearch ingesting
  • Able to self update with user input
    • Updates are sourced from our (or anyone else's if configured to do so) GitHub releases or uploaded directly by the user.
    • Can also self update using official installation packages
  • Able to shutdown and restart without interrupting DreamDaemon processes
  • Windows service integration with service commands
  • SystemD integration with notify-reload support
  • Swarm system to coordinate servers across systems
  • Database backend supporting several providers
    • Microsoft SQL Server
    • MySQL/MariaDB
    • PostgresSQL
    • SQLite
  • Instances: Managing multiple sets of the below features seperately on the same machine
    • Git repository managment
      • Cloning
      • Checking out SHAs and references
      • Local Merging
      • Hard resetting to references
      • Merging GitHub pull requests locally, optionally commenting on them
      • Optionally pushing commits for GitHub visibility
      • Can be deleted and changed to a different origin
    • BYOND version management
      • Downloading and installing a given BYOND version
        • Includes DirectX installation on Windows and proper handling of POSIX shared libraries
      • Supporting any amount of installed versions
      • Cleaning the BYOND cache
      • Uploading a custom version .zip
    • Code Deployment
      • Compiles git code with DreamMaker and the active BYOND version
      • Validates interop with the compiled binary
      • Can be scheduled to pull the repository and build on a given interval
      • Test merge commenting support for GitHub and GitLab
      • GitHub Deployment Environments support
    • The Watchdog, a DreamDaemon uptime monitor
      • Automatically restarts the server when crashed until told to stop
      • "Health Check" system for checking DreamDaemon isn't hung
      • Seamless automatic application of new deployments on /world/Reboot
      • Automatic startup at server boot time
      • Automatically handles Windows prompts related to trusted mode
      • TGS restarts/updates do not interrupt the DreamDaemon process
      • Raises process priority of DreamDaemon for increased performance
      • Support for logging DreamDaemon output
      • Support for the -profile command line option
      • Safe session recovery from TGS crashes
    • Chat System
      • Support multiple chat bots per instance. Current providers:
        • Discord
          • Supports rich embeds created from DM code and when deployments occur
        • IRC
          • Supports several authentication types
      • Bots come out of the box with some basic commands like showing the server revision
      • Support different chat channel types & tags for use in DM code
    • Configuration system
      • Allows specifying files/directories to be permanently symlinked with active game code
      • Support for scripts that run on certain events. e.g. Before/after compiling
      • Allows including arbitrary .dm code in compilations
      • ACL support with Windows based logins
    • DMAPI, DM code interop
      • Provides metadata such as the current TGS version, git revision, active pull requests, security level
      • Provides API for responding to TGS events (compile, update, etc)
      • Provides API for sending chat bot messages
      • Provides API for implementing chat bot commands in DM code
      • Gives the ability to restart the DreamDaemon process from DM code
      • Functions with all 3 DreamDaemon security levels
      • Provides notifications of TGS side events
      • Allows specifying the .dmb's minimum required security level
      • Broadcast messages to clients