6 minutes to read
Created by
Updated by


Details on how to configure uMod


Player and group information can be stored by uMod in multiple formats


# Driver to use for group and player data storage
driver = "protobuf"
# Default language for players and the server
language = "en"

# Enable/disable inactive player cleanup
inactive_cleanup = true
# Clean up inactive player data after period
inactive_period = "3w"

# Enable/disable default group creation
create_default_groups = true
# Enable/disable automatic player grouping
automatic_grouping = true
# Default group for administrators
administrators = "admin"
# Default group for moderators
moderators = "moderators"
# Default group for all players
players = "default"

Available drivers

The default authentication driver is protobuf for compatibility with legacy Oxide data files.

  • database
  • json
    • File storage in umod/data directory as umod.users.json, umod.groups.json
  • protobuf
    • File storage in umod/data directory as umod.users.data, umod.groups.data

Database driver

When using the database driver, the default connection from the umod/database.toml configuration will be used.



default = "stack"
format = "[uMod] {date|h:mm tt} [{level}] {message}"

# Aggregate multiple log channels into a single channel
channels = [ "daily", "sentry" ]
driver = "stack"
level = "info"

# Multiple file log channel which rotates daily
driver = "daily"
level = "info"
path = "umod_{date|yyyy-MM-dd}.log"

# Single file log channel
driver = "single"
level = "info"
path = "umod.log"

# Sentry remote error channel
driver = "sentry"

The logging configuration file contains some default log channels with sensible defaults. Some options are shared by all log channels, while others are specific to a specific log driver.

Available channel drivers

  • stack - An aggregate log channel
  • single - A single file logger
  • daily - A rotating log driver that rotates daily
  • console - A console logger (used for testing) that prints to Console
  • unity - A unity console logger
  • sentry - A remote logger that integrates with sentry.io

The default stack channel uses a stack logger to combine multiple log channels into a single channel. When a stack logger logs a message, the message is broadcast to all of the loggers specified by the channels option.

The default stack channels option may vary depending on game engine and platform.

All logging messages are acompanied by a severity, debug being the lowest and emergency the highest. The severity of messages logged by a logger may be configured by the level option. The default log level for most loggers is info which logs informational messages and all more important messages, but excludes debug messages.

Log levels

  1. emergency
  2. alert
  3. critical
  4. error
  5. warning
  6. notice
  7. info
  8. debug

Sentry logger

By default the Sentry driver included with uMod will report exceptions to uMod unless (exception_reporting) telemetry is disabled.

Configure a sentry driver with a custom Sentry project.

driver = "sentry"
uri = "https://sentry.io"
project = #######
key = "SentryKey"



# Prefixes used to trigger chat commands
chat_command_prefixes = [ '/', '!' ]
# Enable/disable showing if command is not found
unknown_command_replies = true
# Enable/disable showing if command is denied by a gate or permission
denied_command_replies = true

# Enable/disable sandboxing of plugins for security
sandbox_security = true

# Enable/disable automatic configuration file reloading
config_watchers = false
# Enable/disable automatic plugin loading/reloading
plugin_watchers = true
# List of directories to load plugins from
plugin_directories = [ "universal" ]


Disabling the plugin sandbox may be risky and some GSP's may enforce the sandbox. Always verify the source of plugins before installing them, do not install plugins from untrusted sources.

Individual plugin configuration

Many plugins include custom configurations files which are located in umod/plugins directory and created automatically when a plugin is installed. A plugin configuration file may be in JSON or TOML format.



timeout = 30
endpoint = ""


The database configuration is used by the authentication driver and by plugins with named connection options.


default = "sqlite"
timeout = 30

# SQLite embedded relational database
driver = "sqlite"
database = "umod.db"
persistent = true

# MySQL remote relational database
driver = "mysql"
database = "umod"
host = "localhost"
port = 3306
username = "user"
password = "password"
protocol = "socket"
charset = "utf8"
persistent = true


Help us help you by allowing the collection of non-identifying usage details and error reporting.


# Allow sending helpful, non-identifying usage information
analytics = true

# Allow sending critical exceptions to developers
exception_reporting = true