Discord-Link

The most complete discord linking plugin. Link players's Minecraft account with they Discord Account. A bot hosted in the plugin Fully customizable, you can force the player to link to join the server. Custom Logs of linking in a discord channel.

309

Discord-Link

First

<br> <p align="center"> <a href="https://papermc.io/"> <img src="https://raw.githubusercontent.com/RedSavant/Discord-link-assets/refs/heads/v3/assets/cozy/supported/paper_vector.svg" alt="Paper"> </a> <a href="https://purpurmc.org/"> <img src="https://raw.githubusercontent.com/RedSavant/Discord-link-assets/refs/heads/v3/assets/cozy/supported/purpur_vector.svg" alt="Purpur"> </a> <a href="https://modrinth.com/"> <img src="https://raw.githubusercontent.com/RedSavant/Discord-link-assets/refs/heads/v3/assets/cozy/available/modrinth_vector.svg" alt="Discord"> </a> <a href="https://discord.gg/fUEDrmRECM"> <img src="https://raw.githubusercontent.com/RedSavant/Discord-link-assets/refs/heads/v3/assets/cozy/social/discord-singular_vector.svg" alt="Discord"> </a> </p>

---

License

Version

⛓️‍💥 DiscordLink ⛓️‍💥 (entire in french)

Connect your Minecraft server to Discord with advanced account linking and role management

Features

Account Linking System

- Bypass system: Players receive a unique 6-character code when trying to connect - Bypass system: Simple `/link` command on Discord to complete the linking process - Bypass system: Codes expire after 5 minutes for enhanced security - Bypass system: Option to require Discord linking before joining the server - Bypass system: Configure players or permissions that can skip the linking requirement

Discord Bot Integration

- Full customization: Assign roles when accounts are linked - Full customization: Grant roles to players currently connected to the server - Full customization: Modern Discord slash command interface - Full customization: Configure all bot behaviors in the config file

Link

ExampleBot

Advanced Logging

- Custom embeds: Track player joins with IP, UUID, username, and timestamp - Custom embeds: Monitor when players leave the server - Custom embeds: Log all account linking activities - Custom embeds: Track account unlinking operations - Custom embeds: Fully customizable Discord embed colors and formatting

Logs

Player Management

- Auto-cleanup: `/link`, `/unlink`, `/linkinfo` for players - Auto-cleanup: `/forceunlink`, `/discordlink reload` for administrators - Auto-cleanup: SQLite database for reliable data persistence - Auto-cleanup: Expired codes are automatically removed

---

Commands & Permissions

Player Commands

| Command | Description | Permission | |---------|-------------|------------| | `/link` | Generate a linking code | Default | | `/unlink` | Unlink your Discord account | `discordlink.unlink` | | `/linkinfo [player]` | View linking information | `discordlink.info` |

Admin Commands

| Command | Description | Permission | |---------|-------------|------------| | `/forceunlink <player>` | Force unlink a player's account | `discordlink.admin` | | `/discordlink reload` | Reload plugin configuration | `discordlink.admin` |

Aliases

- `/dl` → `/discordlink`

---

How It Works

For New Players

1. Player attempts to connect to the server 2. If not linked, they are kicked with a unique code displayed 3. Player joins your Discord server 4. Player uses `/link code:XXXXXX` on Discord 5. Account is linked and player can now join the server 6. Configured roles are automatically assigned

For Linked Players

1. Player connects to the server normally 2. "Online" role is automatically added on Discord 3. "Online" role is removed when player disconnects 4. Player keeps their "Linked" role permanently

Role System

- Automatic management: Given when account is successfully linked (permanent) - Automatic management: Given when player is connected to the server (temporary) - Automatic management: All roles are handled automatically by the bot

---

Configuration

The plugin is fully configurable through `config.yml`:

Discord Settings

- Bot token configuration - Guild (server) ID - Enable/disable bot features

Role Management

- Configure linked account role ID - Configure online player role ID - Toggle automatic role assignment - Control role removal on disconnect

Logging System

- Enable/disable specific log types - Configure log channel ID - Customize embed colors (join, quit, link, unlink) - Toggle individual log events

Link Requirements

- Enable/disable mandatory linking - Customize kick message with code display - Configure bypass list (players/UUIDs) - Bypass permission support

Link Command Settings

- Code expiration time (default: 5 minutes) - Code length (default: 6 characters) - Custom messages and formatting

Messages

- Fully customizable plugin messages - Color code support - Configurable prefix - Multi-language friendly

---

Setup Guide

Prerequisites

- A Discord bot (create one at https://discord.com/developers/applications) - Bot token - Server (Guild) ID - Role IDs for linked/online roles - Channel ID for logs

Discord Bot Setup

1. Create a bot on Discord Developer Portal 2. Enable these Privileged Gateway Intents: - Server Members Intent - Message Content Intent 3. Invite the bot to your Discord server with these permissions: - Manage Roles - Send Messages - Embed Links 4. Copy your bot token

Plugin Installation

1. Download DiscordLink and place it in your `plugins/` folder 2. Start your server to generate the config file 3. Stop your server and edit `plugins/DiscordLink/config.yml` 4. Fill in your Discord bot token, guild ID, role IDs, and channel ID 5. Configure your desired settings 6. Start your server

Getting IDs

- Channel ID: Enable Developer Mode in Discord, right-click your server → Copy Server ID - Channel ID: Right-click a role → Copy Role ID - Channel ID: Right-click a channel → Copy Channel ID

---

Database

DiscordLink uses SQLite for data storage: - No external database server required - Automatic database creation and management - Stores player UUIDs, usernames, Discord IDs, and link timestamps - File location: `plugins/DiscordLink/links.db`

---

Use Cases

Community Servers

- Verify players are part of your Discord community - Easy player identification between platforms - Enhanced moderation capabilities

Whitelisted Servers

- Replace traditional whitelist with Discord linking - Automatic access control - Easy member management

Network Servers

- Unified account system across multiple servers - Share linked accounts via shared database (future feature) - Centralized player management

Event Servers

- Require Discord linking for special events - Track attendance via Discord roles - Enhanced communication with participants

---

Requirements

- Dependencies: 1.21.4+ (Paper/Purpur) - Dependencies: 21+ - Dependencies: None (JDA included)

---

Support

Found a bug? Have a suggestion? - Open an issue on GitHub - Join our Discord community - Star the project if you find it useful

---

<div align="center">

Made for the Minecraft community

*Connecting players across platforms*

</div>

ADS