config.conf (Globals)
plugins/uxmEssentials/config.conf holds the global settings only — the database
connection, the default language, cross-server sync, native server links, the update
checker, and web-map markers. Everything that belongs to a feature lives in that
feature's own folder (see Per-Module Config), so this file stays
small.
How to Edit¶
- Open
plugins/uxmEssentials/config.confin a plain-text editor. - Change the values you need, keeping braces
{ }and quotes balanced. - Save.
- Reload — most of these are re-read on
/uxmess reload; thenetworkblock is restart-only (noted below).
HOCON, not YAML
This file is HOCON. Indentation is cosmetic, but braces and quotes are not.
Comments start with #, keys are kebab-case, strings are quoted (backend =
"sqlite"), numbers and booleans are bare (port = 3306, enabled = true).
storage¶
Where uxmEssentials keeps its data. The default is an embedded SQLite file — zero setup, no external service.
storage {
backend = "sqlite" # sqlite | mysql | postgres
file = "uxmessentials.db" # SQLite only: the database file under this folder
host = "localhost"
port = 3306 # default 3306 for mysql, 5432 for postgres
database = "uxmessentials"
username = "uxmessentials"
password = ""
read-pool-size = 8 # network backends only; SQLite is fixed single-writer
connection-timeout-ms = 5000
}
backend¶
What it does: Selects the database engine.
| Value | Effect |
|---|---|
sqlite |
Embedded file database (default). No server needed. |
mysql |
MySQL / MariaDB. |
postgres |
PostgreSQL. |
Default: sqlite. Choose a network backend only when you run more than one server
against one dataset (or want central backups). It is a topology decision, not a
capability one — every backend is a first-class, fully tested path.
file¶
What it does: The SQLite database file name, relative to the plugin folder. Ignored by the network backends.
host / port / database / username / password¶
What they do: The connection details for a network backend. port defaults to
3306 for MySQL and 5432 for PostgreSQL. These are ignored when backend = "sqlite".
read-pool-size / connection-timeout-ms¶
What they do: read-pool-size sizes the read connection pool for network backends
(SQLite is fixed to a single writer). connection-timeout-ms is how long to wait for a
connection before giving up.
Recommendation: Leave SQLite on for a single server. See SQLite, MySQL / MariaDB, and PostgreSQL for full setup.
messages¶
The fallback language.
default-locale¶
What it does: The language a player gets when their Minecraft client locale has no
matching catalog and they have not chosen one with /lang.
Default: en. Two catalogs ship: en and tr. See
Messages & Languages to add or edit locales.
network¶
Cross-server sync. Off by default — a single server needs none of it and runs purely local. Turn it on to keep homes, warps, economy, vaults and more in step across a network of backends.
network {
enabled = false # opt every backend into the shared bus
server-id = "server-1" # MUST be unique per backend
bus-channel = "uxmessentials:bus_v1" # must match the proxy broker — leave as-is
heartbeat-seconds = 30 # how often this backend announces itself
transport = "velocity" # velocity | redis | both
redis {
host = "127.0.0.1"
port = 6379
password = "" # leave empty to skip AUTH
channel = "uxmessentials:bus"
db = 0
}
}
enabled¶
What it does: Opts this backend into the shared sync bus. Leave false on a single
server.
server-id¶
What it does: A unique id for this backend.
Must be unique per backend
Two backends sharing a server-id corrupt sync routing. Give every server its own.
transport¶
What it does: How sync frames travel between backends.
| Value | Effect |
|---|---|
velocity |
Plugin messages relayed through a Velocity proxy (no extra service). |
redis |
Redis pub/sub — no proxy needed; every backend shares one Redis. |
both |
Fan out over both carriers for a mixed network. |
The redis { } block applies when transport is redis or both.
Restart-only
The network block is read at startup, not on /uxmess reload. Restart the server
after changing it. Full walkthrough: Velocity & Redis.
server-links¶
Native 1.21+ pause-menu server links. Each entry is either a built-in type or a custom
label, plus a url. An empty list leaves the client's links untouched.
server-links = [
# { type = "WEBSITE", url = "https://example.com" }
# { label = "Discord", url = "https://discord.gg/xxxx" }
]
Built-in type values include REPORT_BUG, SUPPORT, STATUS, FEEDBACK,
COMMUNITY, WEBSITE, FORUMS, NEWS, ANNOUNCEMENTS, and COMMUNITY_GUIDELINES.
A malformed or empty entry is skipped with a warning.
update-check¶
An optional update checker. Off by default because it makes an outbound network call — opt in explicitly.
update-check {
enabled = false
source-url = "https://api.github.com/repos/UXPLIMA/uxmEssentials/releases/latest"
notify-ops-on-join = true # tell operators on join when a newer version exists
interval-hours = 12 # re-check cadence; 0 = check once on enable only
}
map-markers¶
Web-map markers for Dynmap / squaremap. Renders warps and spawns as live markers on whichever supported map plugin is installed; with neither installed it does nothing.
map-markers {
enabled = true
warps = true
spawns = true
homes = false # per-player homes on a public map are opt-in
layer-name = "uxmEssentials"
warp-icon = "portal" # dynmap icon id / squaremap icon key
spawn-icon = "world"
home-icon = "house"
tooltip = "<name>" # marker label; <name> expands to the warp/spawn name
}
enabled / warps / spawns / homes¶
What they do: enabled is the master switch; warps, spawns and homes toggle
which categories are published. homes defaults off — a public map of everyone's
homes is a privacy choice you opt into.
layer-name / warp-icon / spawn-icon / home-icon / tooltip¶
What they do: The map layer name, the icon keys used per category, and the marker
tooltip template. <name> in tooltip expands to the warp or spawn name.
Next Steps¶
- Per-Module Config — enable/disable and tune each feature.
- SQLite (Default) — the zero-setup database.
- Velocity & Redis — turning on the
networkblock. - Config Overview — the whole layout at a glance.