DUXPLIMA Documentation

Permissions

Command nodes, the two Discord-side authorisation lists, and suggested groups.

uxmDiscordSync declares no permissions in plugin.yml. Every command permission comes from commands.yml, which means the nodes below are defaults you can change — including to nothing.

Command permissions

PermissionGrantsDefault in commands.yml
/link, /unlink, /linkstatus, /discordrewardNo permission required
uxmdiscordsync.boostreward/boostprizeRequired
uxmdiscordsync.2fa/2faRequired
uxmdiscordsync.admin/uxmdiscordsyncRequired
uxmdiscordsync.admin.reloadreloadRequired
uxmdiscordsync.admin.statsstatsRequired
uxmdiscordsync.admin.forcelinkforcelinkRequired
uxmdiscordsync.admin.forceunlinkforceunlinkRequired
uxmdiscordsync.admin.forcesyncforcesyncRequired
uxmdiscordsync.admin.debugdebugRequired
uxmdiscordsync.admin.databasedatabaseRequired

Since nothing is declared in plugin.yml, these nodes are unknown to Bukkit until you grant them: operators have them implicitly, and nobody else does.

uxmdiscordsync.boostreward is required by default, which means a fresh install has boost rewards that no player can claim. Grant it to your default group, or clear the permission field for that command in commands.yml.

Other permissions

PermissionEffect
uxmdiscordsync.admin.notifyReceives 2FA denial alerts, if on-deny.notify-admins is on
uxmdiscordsync.chatlog.ignoreChat is not logged, if set as chat-logging.filter.ignored-permission

Both are configurable: the first is two-factor.yml → on-deny.admin-permission and the second is logging.yml → chat-logging.filter.ignored-permission, which is empty by default. The nodes above are the suggested values, not fixed ones.

plugin.version-checker.notify-permission decides who is told about a new plugin version on join — uxmdiscordsync.admin by default.

Discord-side authorisation

Two features are gated by Discord user id, not by permission or role:

discord-server-command:
  authorized-users: ["123456789012345678"]

discord-broadcast:
  authorized-users: ["123456789012345678"]

Being an administrator in the guild grants neither. This is intentional: /servercommand is console access, and it should be held by named people rather than by whoever currently has a role.

Custom Discord commands are gated per file by required-roles and required-user-ids — see Custom Discord commands.

A working default group

uxmdiscordsync.boostreward
uxmdiscordsync.2fa

Linking, unlinking, status and level rewards need nothing, so those two are all a normal player requires.

A staff group

uxmdiscordsync.admin
uxmdiscordsync.admin.stats
uxmdiscordsync.admin.forcesync
uxmdiscordsync.admin.notify

Enough to diagnose and fix a sync problem. forcelink, forceunlink, reload, debug and database change state or reveal connection details, and belong to a smaller group.