DiscordSync
Link your account to Discord and configure your plugin.
DiscordSync
DiscordSync
DiscordSync is a powerful and efficient Minecraft plugin designed to bridge the gap between your Minecraft server and Discord community. It allows players to link their accounts, synchronizing ranks and roles in real-time, and provides rewards for server boosters.
✨ Features
- Dynamic Placeholders: Secure 6-digit code verification system to link Minecraft and Discord accounts. - Dynamic Placeholders: Automatically syncs LuckPerms ranks with Discord roles. - Dynamic Placeholders: Customizable rewards for Discord server boosters with configurable commands and cooldowns. - Dynamic Placeholders: Native Discord slash commands like `/profile` to view linked accounts. - Dynamic Placeholders: Support for English, Spanish, and Turkish out of the box. - Dynamic Placeholders: Log all sync activities to a Discord channel via webhooks. - Dynamic Placeholders: Use `%server_name%` and `%server_ip%` in messages and embeds.
🚀 Installation
1. Restart: Ensure you have Restart: installed (highly recommended). 2. Restart: Place the `DiscordSync-1.1.0.jar` into your server's `plugins` folder. 3. Restart: Start the server to generate the default configuration files. 4. Restart: - Edit `plugins/DiscordSync/config.yml` with your Bot Token and Guild ID. - Map your ranks to Discord roles in `plugins/DiscordSync/ranks/permissions.yml`. 5. Restart: Restart the server or use `/discordsync reload` (if available) to apply changes.
```yaml
Main configuration for DiscordSync
All user-facing messages have been moved to the 'messages' folder.
language: "es" # Supported: en, es, tr server-name: "SERVERNAME" server-ip: "play.example.net"
cooldowns: sync-seconds: 10 profile-seconds: 10
unsync: confirm-timeout-seconds: 20
boost-rewards: enabled: false reward-commands: - "give %player% diamond 1" cooldown-days: 30
discord:
Settings related to the Discord server (guild)
guild: guild_id: "YOUR_GUILD_ID" update_nickname: true
Placeholders: %discord_name%, %minecraft_name%
nickname_format: "%discord_name% - %minecraft_name%"
Settings related to the Discord Bot
bot: token: "BOT_TOKEN" channel_id: "VERIFICATION_CHANNEL_ID" webhook-url: "YOUR_WEBHOOK_LOGS_URL"
Embed color settings. Colors are in RGB format (0-255).
embed-colors: main: { r: 88, g: 101, b: 242 } success: { r: 0, g: 255, b: 0 } fail-invalid: { r: 255, g: 0, b: 0 } fail-expired: { r: 255, g: 100, b: 0 } help: { r: 100, g: 100, b: 255 }
```
Lenguage English for DiscordSync
```yaml
English Language File for DiscordSync
general: no-permission: "You don't have permission to use this command." only-players: "Only players can use this command." error: title: "Error" description: "An error occurred, please try again: %error_message%"
discord: already-synced: "Your account is already synced!" not-synced: "Your account is not synced." unsync-success: "Your account has been unlinked." unsync-failed: "Could not unlink your account. Please try again." unsync-confirm: "Type /unsync confirm within %seconds%s to unlink your account." unsync-expired: "Confirmation expired. Run /unsync again to continue." sync-cooldown: "Please wait %seconds%s before using /sync again." sync-code: "Your account sync code is: %code%. Click the 'Verify' button in the message and enter the code." webhook-sync-success: "Minecraft player `%player_name%` has synced their account with Discord user `%discord_tag%`." # This will be replaced by embed webhook: embed-title: "User Account Linked" embed-description: "A Minecraft player has successfully linked their account." field-mc-nick: "Minecraft Nick" field-mc-uuid: "UUID" field-discord-user: "Discord User" field-status: "Status" status-verified: "Verified"
bot:
General bot messages
starting: "Discord bot is starting." login: "Bot logged into the server: %bot_name%" token-required: "Bot token is missing, please enter your bot's token in the config.yml file." failed-start: "Bot failed to start: %error_message%" channel-id-required: "Enter your channel ID in the channel_id section of the config.yml file." embed-sent: "The verification message has been sent to Discord."
Slash commands
slash-commands: registering: "Loading slash commands..." registered: "Slash commands have been registered."
Help command
help-command: name: "help" description: "Shows the list of available commands."
Profile command
profile-command: name: "profile" description: "Shows who is linked to a Minecraft nickname." option-nick: "nick" option-nick-description: "Minecraft nickname to look up." cooldown: "Please wait %seconds%s before using this command again." not-found: "Not user found." embed-title: "%server_name% - Discord Sync" embed-description: | - Nick Minecraft: %minecraft_name% - Discord ID: %discord_id% - DiscordUsername: %discord_tag% - Rank: %rank% embed-footer: "%server_name% - Discord Sync"
Main verification embed text
embed-main: title: "%server_name% Account Verification!" description: | Welcome to the %server_name% verification! To access all features and sync your roles, please link your account.
How does it work? 1. Join the server: `%server_ip%` 2. Use the command `/sync` in the chat. 3. You will receive a unique code. Click the 'Verify' button below and enter it!
Thank you for being part of our community! footer: "%server_name% | Verification System" button-verify: "Verify" button-tutorial: "Tutorial" modal-title: "Account Linking" modal-input-label: "Verification Code" modal-input-placeholder: "Example: ABC123"
Verification result embeds
embed-success: title: "Success!" description: "Your Minecraft account has been successfully linked." embed-fail-invalid: title: "Linking Error" description: "The code you entered is incorrect or does not exist. Please try again." embed-fail-expired: title: "Linking Error" description: "Your linking code has expired. Please generate a new one on the Minecraft server."
Help embed
embed-help: title: "Help Commands" description: "Here is the list of available commands:"
sync:
Role sync messages
role-given: "The role has been assigned: %msg%" role-failed: "Could not assign the role: %msg%" role-removed: "The role has been removed: %msg%" role-removal-failed: "Could not remove the role: %msg%"
Sync messages
successful: "Your account has been linked successfully!" error: "Invalid or already used code! Please get a new code in-game." nickname: not-configured: "Nickname format or guild ID is not configured. Skipping nickname update." guild-not-found: "Could not find the configured guild with ID: %guild_id%. Skipping nickname update." success: "Successfully updated nickname for %discord_tag% to '%new_name%'." error: permission: "Failed to update nickname for %discord_tag%. Reason: MISSING PERMISSION - %permission_name%" hierarchy: "Failed to update nickname for %discord_tag%. Reason: HIERARCHY - Cannot modify a user with a higher or equal role." other: "Failed to update nickname for %discord_tag%. Reason: %error_message%" member-not-retrieved: "Could not retrieve member with ID %discord_id% to update nickname. Reason: %error_message%"
boost: rewards: granted: "Boost reward delivered. Thanks for boosting!" revoked-mc: "Your boost rewards were removed. Thanks for supporting the server!" revoked-dm: "You stopped boosting the server. Your boost rewards were removed. Thanks for supporting us!" ```
🛠 Commands & Permissions
In-Game Commands
- `/sync` - Generate a pairing code. (`discordsync.use`) - `/unsync` - Unlink your Discord account. (`discord.sync.use`) - `/message-discord-send` - Send/Refresh the verification embed in Discord. (`discordsync.admin`)
Discord Commands
- `/profile <nick>` - View the Discord profile linked to a Minecraft nickname. - `/help` - View available bot commands.
📄 Documentation
For more detailed information on configuration, rank mapping, and troubleshooting, visit our Online Documentation.
---
Developed with ❤️ by Imperior Development and Imperior Development (Advvy & AlexClient)