Documentation DiscordLink

Installation, commands, permissions and configuration.

Requirements

  • Paper 1.21 or newer, Java 21+
  • LuckPerms (recommended; for other permission plugins see Configuration)
  • SonoNiko Tickets on your Discord server with Premium active

Installation

  1. Add SonoNiko Tickets to your Discord server from tickets.sononiko.it and activate premium.
  2. In the dashboard open your server → Integrations → Create API key. Copy it right away: it's shown only once. If you already use ReportSystem, you can reuse the same key.
  3. Put DiscordLink-1.0.0.jar in the plugins/ folder, start the server once and stop it.
  4. In plugins/DiscordLink/config.yml set the license key and the API key:
license-key: "SN-XXXXX-XXXXX-XXXXX-XXXXX"
api-key: "tb_..."
  1. Restart. The console should show Licenza verificata and DiscordLink attivo.
  2. In the dashboard open Minecraft, enable linking and add the groups to sync.

License

After purchase you'll find your key in Customer area → Licenses on sononiko.it. Without a valid key the plugin disables itself on startup. If you change hosting, use "Change IP / server" in the customer area (up to 3 times).


Linking an account

  1. In game the player types /link and gets a 6-character code (valid for 10 minutes, click to copy).
  2. On Discord they type /link CODE.
  3. Done: roles and ranks update right away or on the next sync.

To unlink: /unlink in game or /unlink on Discord.


Groups and roles

Mappings are set in Dashboard → Minecraft:

Direction Example What happens
Minecraft → Discord vip → @VIP Players with the in-game group get the role, and lose it when they lose the group
Discord → Minecraft @Booster → booster Members with the role get the in-game group, and lose it when they lose the role
  • The plugin only removes groups it granted itself (tracked in plugins/DiscordLink/granted.yml).
  • The bot can only assign roles below its own: in Server settings → Roles move the bot's role above @VIP, @Verified etc.
  • On the same page you can pick a role for everyone who links their account (e.g. @Verified).

Commands

Command Description Permission
/link Get the code to link your account discordlink.link
/unlink Unlink your account discordlink.link
/discordlink reload Reload the config discordlink.admin
/discordlink sync Sync all online players now discordlink.admin

Discord commands

Command Description
/link <code> Link your account
/unlink Unlink your account
/minecraft @user Show a user's Minecraft account (staff only)

Permissions

Permission What it does Default
discordlink.link Use /link and /unlink everyone
discordlink.admin Reload and force a sync op

Configuration

  • api-url: keep https://tickets.sononiko.it.
  • api-key: the key created in Integrations.
  • sync-interval-minutes: how often online players are synced (1–60, default 5). Players are also synced on join.
  • groups.add-command / groups.remove-command: commands used to add and remove groups. LuckPerms by default; change them for other permission plugins ({uuid}, {player}, {group}).
  • rewards.enabled and rewards.commands: rewards given once, on first link ({player}, {uuid}, {discord}).
  • messages: all texts, with & color codes.

Troubleshooting

  • "Invalid license" on startup → check the key and use "Change IP / server" in the customer area.
  • "missing api-key" → create the key in Integrations, paste it in api-key, then /discordlink reload.
  • Console: invalid or revoked API key → create a new one in Integrations.
  • Console: premium not active → activate SonoNiko Tickets premium on your Discord server.
  • "Discord linking isn't enabled" → enable it in Dashboard → Minecraft.
  • Discord role not given → move the bot's role above that role.
  • In-game group not given → make sure LuckPerms is installed and the group exists (/lp listgroups).