/*!
@page features Features

@tableofcontents

@section features_list 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
*/
