Skip to main content
This page provides a comprehensive reference for all command-line options available in TeamSpeak 6 Server. You can use these flags when starting the server to configure its behavior.

Usage

./tsserver [OPTIONS]

General Options

-h, --help
boolean
Prints the help message and exits.
-v, --version
boolean
Displays program version information and exits.
--accept-license
boolean
Confirms you have read and accepted the server license agreement.Environment Variable: TSSERVER_LICENSE_ACCEPTED
--write-config-file
boolean
Writes the current configuration to the config file.
--config-file
string
default:"tsserver.yaml"
Configuration file to load.Environment Variable: TSSERVER_CONFIG_FILE
--license-path
string
default:"."
Path where the server will look for the server license (licensekey.dat).Environment Variable: TSSERVER_LICENSE_PATH

Server Configuration

--default-voice-port
integer
default:"9987"
Permanently sets the default voice port for the first virtual server created.Range: 1 - 65535Environment Variable: TSSERVER_DEFAULT_PORT
--voice-ip
string
default:"[0.0.0.0,::]"
IP address for the server to bind the voice port to. Can be specified multiple times for binding to multiple interfaces.Environment Variable: TSSERVER_VOICE_IP
--machine-id
string
A string to distinguish this instance from other instances using the same database.Environment Variable: TSSERVER_MACHINE_ID
--threads-voice-udp
integer
default:"5"
Number of threads to use for voice processing.Range: 1 - 16Environment Variable: TSSERVER_VOICE_UDP_THREADS

Logging

--log-path
string
default:"logs"
Path to the directory where log files are stored.Environment Variable: TSSERVER_LOG_PATH
--log-append
boolean
Write one ever-growing log file per virtual server instead of creating new log files.Environment Variable: TSSERVER_APPEND_LOGS

Virtual Server Management

--no-default-virtual-server
boolean
If specified, no default server is created even if no server exists in the database.Environment Variable: TSSERVER_NO_DEFAULT_SERVER

File Transfer

--filetransfer-port
integer
default:"30033"
Port on which to listen and advertise for file transfer connections.Range: 1 - 65535Environment Variable: TSSERVER_FILE_TRANSFER_PORT
Docker Note: When running inside a Docker container, ensure that the internal container port matches the external host port. File transfers rely on clients connecting directly to this port. Mismatches between the container’s listening port and the published port will cause connectivity issues.
--filetransfer-ip
string
default:"[0.0.0.0,::]"
The address on which to listen for file transfer connections. Can be specified multiple times for binding to multiple interfaces.Environment Variable: TSSERVER_FILE_TRANSFER_IP

Database Configuration

General Database Options

--db-plugin
string
default:"sqlite3"
Specifies the database plugin to use (e.g., sqlite3, mariadb).Environment Variable: TSSERVER_DATABASE_PLUGIN
--db-sql-path
string
default:"sql"
Path to folder containing SQL queries used by the server.Environment Variable: TSSERVER_DATABASE_SQL_PATH
--db-sql-create-path
string
default:"create_sqlite"
Subdirectory in SQL path to use for DB creation scripts (e.g., create_mariadb, create_sqlite).Environment Variable: TSSERVER_DATABASE_SQL_CREATE_PATH
--db-client-keep-days
integer
default:"30"
Number of days to keep clients in the database before cleanup.Environment Variable: TSSERVER_DATABASE_CLIENT_KEEP_DAYS
--db-skip-integrity-check
boolean
SQLite only: skip DB integrity check at startup. Use with caution.Environment Variable: TSSERVER_DATABASE_SKIP_INTEGRITY_CHECK
--db-log-queries
boolean
Enable logging of SQL queries. Useful for debugging but can impact performance.Environment Variable: TSSERVER_DATABASE_LOG_QUERIES
--clear-database
boolean
⚠️ WARNING: Resets the database completely (deletes all servers, clients, etc.). Use with extreme caution.
--no-permission-update
boolean
Do not apply permission changes during server updates.Environment Variable: TSSERVER_SKIP_PERMISSION_UPDATE

Database Connection Options

--db-host
string
default:"127.0.0.1"
Database hostname or IP address.Environment Variable: TSSERVER_DATABASE_HOST
--db-port
integer
default:"5432"
Database port.Range: 1 - 65535Environment Variable: TSSERVER_DATABASE_PORT
--db-socket
string
Socket file to use for database connection (alternative to host/port).Environment Variable: TSSERVER_DATABASE_SOCKET
--db-timeout
integer
default:"10"
Timeout in seconds when connecting to the database.Range: 1 - 432000 (5 days)Environment Variable: TSSERVER_DATABASE_TIMEOUT
--db-name
string
default:"teamspeak"
Name of the database to use.Environment Variable: TSSERVER_DATABASE_NAME
--db-username
string
The username to use for database authentication.Environment Variable: TSSERVER_DATABASE_USERNAME
--db-password
string
The password to use for database authentication.Environment Variable: TSSERVER_DATABASE_PASSWORD
Consider using environment variables instead of passing passwords via command line to avoid exposure in process lists.
--db-connections
integer
default:"10"
Number of connections to establish to the database.Range: 2 - 100Environment Variable: TSSERVER_DATABASE_CONNECTIONS

Query Interface

General Query Options

--query-pool-size
integer
default:"2"
How many threads to use for query command processing.Range: 2 - 32Environment Variable: TSSERVER_QUERY_POOL_SIZE
--query-log-timing
integer
default:"3600"
Interval in seconds after which to log query statistics.Range: 10 - 31556952 (1 year)Environment Variable: TSSERVER_QUERY_LOG_TIMING
--query-ip-allow-list
string
default:"query_ip_allowlist.txt"
File path listing IPs exempt from query flood protection. One IP per line.Environment Variable: TSSERVER_QUERY_ALLOW_LIST
--query-ip-block-list
string
default:"query_ip_denylist.txt"
File path listing IPs blocked from the query interface. One IP per line.Environment Variable: TSSERVER_QUERY_DENY_LIST
--query-admin-password
string
Override the query password for the built-in serveradmin account, overriding the database value.Environment Variable: TSSERVER_QUERY_ADMIN_PASSWORD
--query-log-commands
boolean
Log every command received on the query interface. Useful for debugging but can create large logs.Environment Variable: TSSERVER_QUERY_LOG_COMMANDS
--query-skip-brute-force-check
boolean
Skip brute force checking on query interface connections.Environment Variable: TSSERVER_QUERY_SKIP_BRUTE_FORCE_CHECK
--query-buffer-mb
integer
default:"20"
How much memory (in MB) to allocate for query connection buffering.Range: 20 - 100Environment Variable: TSSERVER_QUERY_BUFFER_MB
--query-documentation-path
string
default:"serverquerydocs"
Path to the query documentation files.Environment Variable: TSSERVER_QUERY_DOCUMENTATION_PATH
--query-timeout
integer
default:"300"
Timeout in seconds before query connections expire due to inactivity.Environment Variable: TSSERVER_QUERY_TIMEOUT

SSH Query Options

--query-ssh-enable
boolean
Enable the SSH query interface.Environment Variable: TSSERVER_QUERY_SSH_ENABLED
--query-ssh-port
integer
default:"10022"
Port on which to listen for SSH query connections.Range: 1 - 65535Environment Variable: TSSERVER_QUERY_SSH_PORT
--query-ssh-ip
string
default:"[0.0.0.0,::]"
Address to listen on for SSH query connections. Can be specified multiple times for binding to multiple interfaces.Environment Variable: TSSERVER_QUERY_SSH_IP
--query-ssh-rsa-key
string
default:"ssh_host_rsa_key"
Path to the SSH RSA host key file.Environment Variable: TSSERVER_QUERY_SSH_RSA_KEY

HTTP Query Options

--query-http-enable
boolean
Enable the HTTP query interface.Environment Variable: TSSERVER_QUERY_HTTP_ENABLED
--query-http-port
integer
default:"10080"
Port on which to listen for Web Query connections.Range: 1 - 65535Environment Variable: TSSERVER_QUERY_HTTP_PORT
--query-http-ip
string
default:"[0.0.0.0,::]"
Address to listen on for Web Query connections. Can be specified multiple times for binding to multiple interfaces.Environment Variable: TSSERVER_QUERY_HTTP_IP

HTTPS Query Options

--query-https-enable
boolean
Enable the HTTPS query interface for secure Web Query connections.Environment Variable: TSSERVER_QUERY_HTTPS_ENABLED
--query-https-port
integer
default:"10443"
Port on which to listen for secure Web Query connections.Range: 1 - 65535Environment Variable: TSSERVER_QUERY_HTTPS_PORT
--query-https-ip
string
default:"[0.0.0.0,::]"
Address to listen on for secure Web Query connections. Can be specified multiple times for binding to multiple interfaces.Environment Variable: TSSERVER_QUERY_HTTPS_IP
--query-https-certificate
string
Path to certificate file for HTTPS Web Query (PEM format).Environment Variable: TSSERVER_QUERY_HTTPS_CERT
--query-https-private-key
string
Path to private key file used with the certificate (PEM format).Environment Variable: TSSERVER_QUERY_HTTPS_PRIVATE_KEY

Advanced Options

--http-proxy
string
Proxy server used for external connections (e.g., license validation, accounting).Environment Variable: TSSERVER_HTTP_PROXY
--crashdump-path
string
default:"crashdumps"
Path where crash dumps should be written for debugging purposes.Environment Variable: TSSERVER_CRASHDUMP_PATH
--daemon
boolean
Run the server in the background (daemon mode). Linux/Unix only.Environment Variable: TSSERVER_DAEMON
--pid-file
string
File to write the process ID to when running in daemon mode.Environment Variable: TSSERVER_PID_FILE
--hints-enabled
boolean
Enable permission hints. Can impact performance on large servers with many permissions.Environment Variable: TSSERVER_HINTS_ENABLED
--maxmind-db-path
string
Path to the MaxMind GeoIP database for geolocation features.Environment Variable: TSSERVER_MAXMIND_DB_PATH
--administrative-domain
string
Administrative domain for internal or regulatory identification purposes.Environment Variable: TSSERVER_ADMINISTRATIVE_DOMAIN

See Also

Environment Variables

Complete list of environment variables

YAML Configuration

YAML configuration file schema

Build docs developers (and LLMs) love