Addons
Client integrations, Discord status and mod rules as proxy plugins that MuteCloud downloads, configures and switches for you.
Addons are proxy plugins that MuteCloud downloads, configures and switches on command. They
are placed in the plugins folder of the topmost template of the proxy group.
addon
addon install labymod
addon enable labymod
addon disable labymod| Addon | What it does | Settings |
|---|---|---|
labymod | shows the current server in Discord and in the LabyMod client | [labymod] in network.toml |
feather | Discord status and blocked mods in the Feather and Dawn clients | [feather] in network.toml |
norisk | game mode in the NoRisk Client, turns off client modules | [norisk] in network.toml |
badlion | blocks mods in the Badlion Client and limits clicks per second | [badlion] in network.toml |
lunar | Apollo, the server interface of the Lunar Client | in the plugin itself |
shield | the built-in shield in front of the proxies | [shield] in network.toml |
addon shows for each addon whether it is missing, ready, disabled or running. disable
renames the file to .disabled instead of deleting it, enable brings it back. For
labymod, feather, norisk and badlion this also switches the matching section in network.toml.
shield is not a plugin but part of the cloud. addon install shield is therefore not
needed; addon enable shield and addon disable shield switch [shield] in network.toml
and add the shield to the proxy template or remove it. The details are on the
shield page.
Taking effect
An addon changes the proxy's template, and a proxy only picks up a changed template on its next start. Because all players briefly lose their connection when that happens, the cloud waits for approval on proxies by default:
groups Proxy rolloutUntil then groups shows a note that approval is required, and a rollout-waiting alert is
sent every five minutes. If you do not want this, switch the group with
groups Proxy set rollout auto. Other groups renew themselves by default, server by server.
LabyMod
[labymod]
enabled = true
discord = "on {server}"
gamemode = "{group}"
banner = ""
subtitle = ""
timer = true
address = ""
names = { BedWars = "Bed Wars" }discord is the text in Discord, gamemode the game mode in the client, banner the URL of
an image above the tab list, subtitle a line below the player name, and timer shows in
Discord how long someone has been playing. Available placeholders are {server}, {group},
{player}, {online}, {address}, {state} and {map}. The values are sent to the client
on join, shortly after every server switch and whenever the state or map changes.
{address} is the address from address. If it stays empty, it is the address the player
joined with, for example play.example.net. {state} and {map} are reported by the game
server itself, with MuteCloud.setState("INGAME") and MuteCloud.setProperty("map", "Island").
If it reports nothing, they stay empty and double spaces disappear. Under names a group gets
a display name that {group} then stands for, so discord = "{group} on {map}" becomes
"Bed Wars on Island".
The addon runs as its own plugin next to the Velocity bridge and stays silent without it.
Feather and Dawn
[feather]
enabled = true
details = "{group}"
state = "on {address}"
image = ""
image_text = ""
timer = true
address = ""
names = { BedWars = "Bed Wars" }
blocked_mods = ["perspective"]
disabled_mods = ["zoom"]details and state are the two lines in Discord, image the URL of an image with
image_text as its tooltip, and timer shows how long someone has been playing. Placeholders,
address and names work as with LabyMod. blocked_mods blocks mods that players cannot turn
back on, disabled_mods only turns them off. The names are the short names from the Dawn mod
list, such as perspective, zoom or minimap. The rules are sent on join, the Discord status
also after every server switch and whenever the state or map changes.
The addon speaks the protocol directly on the proxy, nothing is needed on the game servers. It
contains the messaging library of the Dawn Server API (Apache-2.0). If the official Dawn plugin
also runs on a game server, keep [feather] off, otherwise the proxy answers the handshake and
the plugin never sees it.
NoRisk
[norisk]
enabled = true
gamemode = "{group} on {map}"
address = ""
names = {}
disabled_modules = ["ZOOM", "FULLBRIGHT"]gamemode replaces the game mode shown in the NoRisk Client and uses the same placeholders as
LabyMod. disabled_modules turns off client modules on join. Possible values are ZOOM,
FREELOOK, FULLBRIGHT, KEYSTROKES, FPS, CPS, COORDINATES, ARMOR_STATUS,
POTION_EFFECTS and HOTBAR. This applies to the current session, after restarting the client
players can turn them back on. NoRisk offers neither a Discord status nor permanent blocking.
Badlion
[badlion]
enabled = true
cps_left = 20
cps_right = 0
disabled_mods = []From this the cloud writes plugins/BadlionClientModAPI/config.json into the proxy template
and keeps it up to date. cps_left and cps_right become clicksPerSecondLimit and
clicksPerSecondLimitRight there; 0 leaves the Badlion plugin without a limit.
disabled_mods takes the mod names exactly as the Badlion plugin expects them in
modsDisallowed.