

Configuration
Details on how to configure uMod
Authentication
Player and group information can be stored by uMod in multiple formats
umod/auth.toml
# Driver to use for group and player data storage
driver = "protobuf"
# Default language for players and the server
language = "en"
[players]
# Enable/disable inactive player cleanup
inactive_cleanup = true
# Clean up inactive player data after period
inactive_period = "3w"
[groups]
# 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
- Uses default database connection
json
- File storage in
umod/data
directory asumod.users.json
,umod.groups.json
- File storage in
protobuf
- File storage in
umod/data
directory asumod.users.data
,umod.groups.data
- File storage in
Database driver
When using the database driver, the default
connection from the umod/database.toml
configuration will be used.
Logging
umod/logging.toml
default = "stack"
format = "[uMod] {date|h:mm tt} [{level}] {message}"
# Aggregate multiple log channels into a single channel
[stack]
channels = [ "daily", "sentry" ]
driver = "stack"
level = "info"
# Multiple file log channel which rotates daily
[daily]
driver = "daily"
level = "info"
path = "umod_{date|yyyy-MM-dd}.log"
# Single file log channel
[single]
driver = "single"
level = "info"
path = "umod.log"
# Sentry remote error channel
[sentry]
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 channelsingle
- A single file loggerdaily
- A rotating log driver that rotates dailyconsole
- A console logger (used for testing) that prints toConsole
unity
- A unity console loggersentry
- 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
emergency
alert
critical
error
warning
notice
info
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.
[sentry]
driver = "sentry"
uri = "https://sentry.io"
project = #######
key = "SentryKey"
Plugins
umod/plugins.toml
[commands]
# 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
[security]
# Enable/disable sandboxing of plugins for security
sandbox_security = true
[watchers]
# 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" ]
Sandbox
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.
Web
umod/web.toml
timeout = 30
endpoint = ""
Database
The database configuration is used by the authentication driver and by plugins with named connection options.
umod/database.toml
default = "sqlite"
timeout = 30
# SQLite embedded relational database
[sqlite]
driver = "sqlite"
database = "umod.db"
persistent = true
# MySQL remote relational database
[mysql]
driver = "mysql"
database = "umod"
host = "localhost"
port = 3306
username = "user"
password = "password"
protocol = "socket"
charset = "utf8"
persistent = true
Telemetry
Help us help you by allowing the collection of non-identifying usage details and error reporting.
umod/telemetry.toml
[analytics]
# Allow sending helpful, non-identifying usage information
analytics = true
[reporting]
# Allow sending critical exceptions to developers
exception_reporting = true