Reference

Config

Every setting of the MC-Sync plugin and mod, with its default and what it does.

The file is created on the server's first start. Plugin and mod share the same settings in two notations: api: → token: in YAML is api.token= in the properties file. Two settings exist on Spigot, Paper and Folia only.

ServerFile
Spigot, Paper, Foliaplugins/mc-sync/config.yml
Fabric, Quilt, Forge, NeoForgeconfig/mc-sync.properties
yaml
# plugins/mc-sync/config.yml
commands:
  mode: allow
  allow: ["say", "lp user * parent add"]
properties
# config/mc-sync.properties
commands.mode=allow
commands.allow=say,lp user * parent add

Lists go in square brackets in YAML and are comma separated in the properties file. In YAML, put "off" and "on" in quotes.

Reload or restart

/mcsync reload reads the file again. These apply right away:

  • commands.mode, commands.allow and commands.consoleFallback
  • performance.report, error.report and dev.mode

These need a restart:

  • api.token
  • queue.*, update.mode, console.live, http.mode, http.allow and flows.mode
  • flowCommands.enabled. After a reload it only applies once the commands change in the dashboard.

If an older file is missing a setting, MC-Sync adds it with its default on start and on /mcsync reload. Existing values stay as they are, and the old file is kept next to it as config.yml.bak-… or mc-sync.properties.bak-….

api

KeyDefaultEffect
api.tokenYOUR_API_TOKENThe token from the dashboard or from /server add. The placeholder counts as empty.

On Fabric, Quilt, Forge and NeoForge the mod reads the token from the MC_SYNC_TOKEN environment variable when the file has none. How to get a token is under Chat sync.

queue

While Discord can't be reached, chat, joins and deaths wait on disk: in plugins/mc-sync/queue/ or config/mc-sync-queue/. They survive a restart and go out in their original order afterwards.

KeyDefaultEffect
queue.maxAgeMinutes60How long an event waits, in minutes. 1 to 1440. Older ones are dropped.
queue.maxEvents10000How many events wait at most. Beyond that the oldest drop out. At most 100000.
queue.maxSizeMb10How much disk space the waiting events take, in MB. Beyond that the oldest drop out. At most 1024.

A value above the limit counts as the limit. 0, an empty value or text counts as the default.

update

KeyDefaultEffect
update.modenotifynotify reports a new version in the server log and in /mcsync status. off turns the check off.

Only versions for the server's Minecraft version are considered. MC-Sync never downloads anything itself; you replace the file by hand.

commands

Which commands the Minecraft server accepts from Discord, the dashboard and flows. Who may send commands from Discord is set there, see Commands from Discord.

KeyDefaultEffect
commands.modewhitelistoff: no commands. whitelist: only whitelist add, whitelist remove and whitelist list. allow: the whitelist plus everything in commands.allow. all: every command.
commands.allowemptyExtra commands for allow. An entry matches the start of the command, word by word. * stands for exactly one word.
commands.consoleFallbackfalseSpigot, Paper, Folia only. If a plugin command rejects the console MC-Sync uses to capture output, true runs it once more on the real console, without output. It may then run twice.

With lp user * parent add, lp user Notch parent add vip works, lp user Notch parent remove vip doesn't.

console

KeyDefaultEffect
console.livetrueAdmins of the connected Discord server can watch the console live in the dashboard, see Console. It can contain player IP addresses.

performance

KeyDefaultEffect
performance.reporttrueSends TPS, MSPT, memory, chunks, entities and uptime once a minute. This feeds the graph in the dashboard and the low TPS notice.

error

KeyDefaultEffect
error.reporttrueReports failures in MC-Sync itself to its developers: the error, where it happened, loader and versions. Network and config problems are never reported. Player names, chat and IP addresses aren't sent.

dev

KeyDefaultEffect
dev.modefalseWrites every request to the bot to the server log in detail. With false, only errors.

http

Outgoing HTTPS requests from flows, with the "HTTP request via the Minecraft server" block.

KeyDefaultEffect
http.modeoffoff: no requests. allow: only to the hosts in http.allow.
http.allowemptyAllowed hosts, such as api.example.com. A host covers its subdomains too.

Private and local addresses are always blocked, even when a host from http.allow points to one. Only https:// is allowed.

flowCommands

KeyDefaultEffect
flowCommands.enabledtrueSpigot, Paper, Folia only. Flows may create their own commands on the server. What those commands run is still checked against commands.mode.

If the name is already taken, for example online, you reach the command as /mcsync:online.

flows

KeyDefaultEffect
flows.modeoffoff: flows run at the bot. on: flows that only concern this server run on the server itself.

commands.mode and http.mode still apply. Which flows qualify is described under Flows.