Skip to content

In-file

File configurations are the primary way to configure Void. However, many options can be overridden at runtime using the API in plugins.

settings.toml
# Defines the network interface to bind on
Address = "0.0.0.0"
# Defines the port
Port = 25565
# Packet size threshold before compression
CompressionThreshold = 256
# General per player timeout for many operations (in milliseconds)
KickTimeout = 10000
# Allow players to connect without Mojang authentication
Offline = false
# Logging level (valid values are Trace, Debug, Information, Warning, Error, Critical)
LogLevel = "Information"
# Predefined list of servers.
# Players will be connected to the first one, if not specified otherwise from plugins.
Servers = [
{ Name = "lobby", Host = "127.0.0.1", Port = 25566 },
{ Name = "minigames", Host = "127.0.0.1", Port = 25567 },
{ Name = "limbo", Host = "127.0.0.1", Port = 25568 }
]

Watchdog is a built-in HTTP server that allows you to check status or control the proxy.

configs/Watchdog/Settings.toml
# Enables the watchdog
Enabled = false
# Defines the network interface to bind on
Address = "*"
# Defines the port
Port = 80

Forwarding helps to forward player data (IP, UUID, Skin, etc.) to the backend server.

Read more in Modern (Velocity) forwarding.

configs/Velocity/Settings.toml
# Enables Velocity forwarding
Enabled = true
# The secret key (should be the same as on the backend server)
Secret = "YourSecretKeyHere"

Plugins are compiled with the .dll extension in any .NET compatible language. See the Plugin Development Kit section for more details.

  • Directory plugins is the default location to install plugins.
  • Environment variable VOID_PLUGINS might be used to add URLs or local paths to run plugins, separated by comma or semicolon.
  • Program argument --plugin (alias -p) might be used to add URL or local path to a plugin.
Program Argument Example
$ ./void-linux-x64 --plugin "/home/YourPlugin1.dll" --plugin "https://example.org/download/YourPlugin2.dll"
Environment Variable Example
$ VOID_PLUGINS="https://example.org/download/YourPlugin1.dll;/home/YourPlugin2.dll" ./void-linux-x64

Plugin Configurations (configs/<Plugin>/*.toml)

Section titled “Plugin Configurations (configs/<Plugin>/*.toml)”

Each plugin may define one or a subset of keyed configuration files in its own directory. Plugins are not required to save or load configurations manually.

All changes on the disk are automatically loaded into an existing instance in memory. Vice versa, all changes in the memory are automatically saved to the disk. This automatic saving can be disabled via program argument.

Currently, only TOML format is supported.