DiscordSync
Link your account to Discord and configure your plugin.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
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)