Nimbusv1.0.0

Proxy Sync (MOTD / Tab / Chat)

Configure network-wide MOTD, maintenance mode, tab list, and chat format applied by the Bridge plugin to every Velocity proxy.

ProxySyncManager owns three TOML files under config/modules/syncproxy/ that together define the network's player-facing proxy behaviour. The Bridge plugin pulls them from the controller and applies them on every Velocity instance, so you only need to configure them once.

All three files are auto-generated with defaults on first start. They may be edited by hand (reload to pick up changes) or mutated live through the API / Dashboard — saves are atomic (temp file + rename).

FilePurpose
config/modules/syncproxy/motd.tomlMOTD + maintenance mode (global + per-group)
config/modules/syncproxy/tablist.tomlTab list header, footer, player line format
config/modules/syncproxy/chat.tomlChat format and global chat toggle

All text fields accept MiniMessage syntax (tags like <gradient:...>, <bold>, <red>, <gray>).


motd.toml

Example

config/modules/syncproxy/motd.toml
[motd]
line1 = "<gradient:#58a6ff:#56d4dd><bold>ɴɪᴍʙᴜꜱᴄʟᴏᴜᴅ</bold></gradient>"
line2 = "<gray>» </gray><gradient:#56d364:#56d4dd>{online} players online</gradient>"
max_players = -1
player_count_offset = 0

[maintenance]
enabled = false
motd_line1 = "<gradient:#ff6b6b:#ee5a24><bold>ᴍᴀɪɴᴛᴇɴᴀɴᴄᴇ</bold></gradient>"
motd_line2 = "<gray>We are currently performing maintenance.</gray>"
protocol_text = "Maintenance"
kick_message = """<red><bold>Maintenance</bold></red>
<gray>The server is currently under maintenance.
Please try again later.</gray>"""
whitelist = ["00000000-0000-0000-0000-000000000000"]

[maintenance.groups.BedWars]
enabled = false
kick_message = "<red>BedWars is currently under maintenance.</red>"

[motd]

KeyTypeDefaultDescription
line1StringNimbus branded gradientFirst MOTD line shown in the server list.
line2String<gray>» </gray>...{online} players online...Second MOTD line. Supports {online} and {max} placeholders.
max_playersInt-1Slot count shown to clients. -1 = derive from the sum of backend max_players. Any non-negative value is used verbatim.
player_count_offsetInt0Added to the reported online count. Useful for cosmetic inflation or for hiding admin sessions.

[maintenance]

Global maintenance lockdown. When enabled = true, non-whitelisted players are refused at the proxy with kick_message.

KeyTypeDefaultDescription
enabledBooleanfalseMaster maintenance switch.
motd_line1Stringbranded maintenance lineReplaces [motd] line1 while maintenance is active.
motd_line2Stringmaintenance subtitleReplaces [motd] line2 while maintenance is active.
protocol_textString"Maintenance"Version/protocol text shown in the server list (shows as red "Outdated-style" label on most clients).
kick_messageStringdefault maintenance kickMessage shown when a non-whitelisted player is refused.
whitelistList<String>[]Player UUIDs that can still connect while maintenance is enabled.

[maintenance.groups.<Group>]

Per-group maintenance — the proxy still accepts the connection, but forwarding to servers in <Group> is blocked with the per-group kick_message. Useful when only one game mode needs to be taken down.

KeyTypeDefaultDescription
enabledBooleanfalsePer-group maintenance switch.
kick_messageStringgeneric per-group kickMessage shown when trying to join this group while it is under maintenance.

Global and per-group maintenance are independent. With [maintenance] enabled = false but [maintenance.groups.BedWars] enabled = true, players can enter the lobby but cannot join BedWars.


tablist.toml

Example

config/modules/syncproxy/tablist.toml
[tablist]
header = """
<gradient:#58a6ff:#56d4dd><bold>ɴɪᴍʙᴜꜱᴄʟᴏᴜᴅ</bold></gradient>
ᴍɪɴᴇᴄʀᴀꜰᴛ ᴄʟᴏᴜᴅ ꜱʏꜱᴛᴇᴍ

v{version}
"""
footer = """
<gray>Online</gray> <white>»</white> <gradient:#56d4dd:#b392f0>{online}</gradient><dark_gray>/</dark_gray><gray>{max}</gray>
<gray>Server</gray> <white>»</white> <green>{server}
"""
player_format = "{prefix}{player}{suffix}"
update_interval = 5

[tablist]

KeyTypeDefaultDescription
headerStringNimbus branded multi-line headerTab list header sent to every connected player.
footerStringNimbus branded multi-line footerTab list footer sent to every connected player.
player_formatString"{prefix}{player}{suffix}"Per-player tab line. Placeholders: {prefix}, {player}, {suffix} (from the permission system).
update_intervalInt5Seconds between tab list refreshes. Lower values increase proxy → client traffic.

Header and footer accept these placeholders:

PlaceholderValue
{version}Running Nimbus version
{online}Current network player count (with player_count_offset applied)
{max}Reported slot count
{server}The backend the viewing player is currently on

chat.toml

Example

config/modules/syncproxy/chat.toml
[chat]
enabled = true
format = "{prefix}{player}{suffix} <dark_gray>» <gray>{message}"

[chat]

KeyTypeDefaultDescription
enabledBooleantrueWhen false, the Bridge leaves chat formatting to the underlying server / plugin. Disable if another chat plugin is already formatting messages.
formatStringNimbus defaultChat line template. Placeholders: {prefix}, {player}, {suffix}, {message}. {message} is inserted as raw text and is never parsed as MiniMessage to prevent tag injection from players.

  • Permissions — source of {prefix} and {suffix}
  • Bridge plugin — applies these files on each Velocity instance
  • PUT /api/maintenance, PUT /api/maintenance/groups/{name} — see API Reference