DiscordSync

Link your account to Discord and configure your plugin.

6

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)

ADS