Weazylink

Getting Started

Welcome to the documentation for WeazyLink. WeazyLink makes sure that players on your server are who they say they are. By linking their Minecraft and Discord accounts, it prevents impersonation and ensures the right player is connected to the right Discord account.

Installation

Follow these steps to install the plugin:

  1. Download the latest version from https://weazy.xyz/weazylink/download
  2. Place the .jar file in your server's plugins folder
  3. Restart your server
  4. Configure the plugin using config.yml in weazylink folder, inside your plugins folder.

config.yml

The default config.yml file looks like this:

# WEAZY LINK CONFIG!!

# Visit https://discord.com/developers/applications and create a Discord bot and copy its token. After that,
# Replace "YOUR_DISCORD_BOT_TOKEN" below with your discord bot token. After you've done that, simply just restart
# your server and it will start working!
bot_token: "YOUR_DISCORD_BOT_TOKEN"
                        
# Discord bot settings
discord:
    status:
        type: "PLAYING" # Options: PLAYING, WATCHING, LISTENING, COMPETING, STREAMING
        update_interval: 60 # In seconds
        text: "with %player_count% players" # %player_count% will be replaced with the actual player count
                          
# Slash Command Names
commands:
    link: "link"
    checklink: "checklink"
    unlink: "unlink"
                        
# Link code settings
link_codes:
    length: 16 # The length of generated link codes
    expiration_time: 600 # In seconds (10 minutes)
    cleanup_interval: 60 # In seconds - how often to check for expired codes
                        
# Database Configuration
                        
# Default database type is json. If you need to use the data for more, you can switch to MongoDB, or MySQL.
# Simply change the type below,
# Types can be "mysql", "mongodb", or "json"
database:
    type: "json" # Types: json, mysql, mongodb
                          
# JSON settings
json:
    file_name: "linked_usernames.json"
                        
# If you are using MongoDB as your database, replace "URI" below, with your actual MongoDB URI.
mongodb:
    uri: "mongodb://localhost:27017"
    database: "weazylink"
    collection: "linked_accounts"
                        
# If using MySQL, change the data below. (I know if you're doing this, you know what you're doing.)
mysql:
    host: "localhost"
    port: "3306"
    database: "weazylink"
    username: "root"
    password: "password"
    table: "linked_accounts"
                        
# If you find any bugs or glitches, report them in our Discord server, https://weazy.xyz/support.
# Thank you for using weazylink!

messages.yml

The default messages.yml looks like:


# WeazyLink message configuration! Edit these messages to your liking.
# You can use color codes like &a, &b, etc. to change the color of the text.
                        
prefix: "&8[&bWeazyLink&8] &r"
                        
general:
    no-permission: "&cYou do not have permission to do this."
    players-only: "&cThis command can only be used by players."
                        
link:
    already-linked: "&cYou are already linked to a Discord account."
    link-message: "&aClick on the code below to copy it. After that, visit our Discord server and use the command `/link ` to link your minecraft username with your discord account: "
    link-success-player: "&aYour Minecraft username has been successfully linked to Discord account: %discord_tag%"
                        
unlink:
    not-linked: "&cYour username is not linked to any Discord account."
    unlink-success: "&aSuccessfully unlinked your username from your Discord account."
    unlink-others-success: "&aSuccessfully unlinked `%player%` from Discord."
    player-not-linked: "&cThis player's username is not linked to any Discord account."
    no-permission-others: "&cYou do not have permission to unlink other players."
    usage: "&cUsage: /unlinkaccount [username]"
                        
checklink:
    linked: "&aYour Minecraft username is linked to Discord account: &b%discord_tag%"
    linked-error: "&aYour Minecraft username is linked to a Discord account, but the account could not be retrieved."
    not-linked: "&cYour Minecraft username is not linked to any Discord account."
    linked-other: "&b%player% &ais linked to Discord account: &b%discord_tag%"
    linked-error-other: "&b%player% &ais linked to a Discord account, but the account could not be retrieved."
    not-linked-other: "&b%player% &cis not linked to any Discord account."
    no-permission-others: "&cYou do not have permission to check other players."
    usage: "&cUsage: /checklink [username]"
    console-only-with-args: "&cThis command can only be used by players without arguments."
                        
discord:
    embeds:
        footer: "Powered by weazy.xyz"
        footer-image-url: "https://cdn.weazy.xyz/cdn/image/weazy.png"
                            
        link:
            invalid-usage:
                title: "> Invalid Usage"
                description: "> Please use the `/link ` command with a valid code."
                color: 16711680
            code-expired:
                title: "> Error"
                description: "> The code is expired."
                color: 16711680
            uccess:
                title: "> Minecraft Username Linked"
                description: "> Successfully linked Minecraft username `%minecraft_username%` to Discord account `%discord_tag%`!"
                color: 65280
            invalid-code:
                title: "> Error"
                description: "> The code is invalid or expired."
                color: 16711680
                            
        checklink:
            linked:
                title: "> Linked Accounts"
                description: "> Your Discord account is linked to the following Minecraft username:\n`%minecraft_usernames%`."
                color: 65280
            not-linked:
                title: "> Not Linked"
                description: "> Your Discord account is not linked to any Minecraft username."
                color: 16711680
                            
        unlink:
            success:
                title: "> Account Unlinked"
                description: "> Successfully unlinked Minecraft username `%minecraft_username%`."
                color: 65280
            not-linked:
                title: "> Error"
                description: "> The specified Minecraft username is not linked to any Discord account."
                color: 16711680
            self-success:
                title: "> Account Unlinked"
                description: "> Successfully unlinked your Minecraft username `%minecraft_username%`."
                color: 65280
            not-linked-self:
                title: "> Error"
                description: "> You do not have a linked Minecraft username to unlink."
                color: 16711680

Commands [Minecraft]

  • /help weazylink - Displays the help menu.
  • /linkaccount - Provides a unique code for players to link their Minecraft username with their Discord ID.
  • /checklink <username> - Checks if a player's username is linked to any Discord ID. Players can only check their own information.
    • Arguments: <username> (e.g., player123) - Only usable by operators or players with weazylink.checklink.others permission.
    • Required: No
  • /unlinkaccount <username> - Unlinks a player's Minecraft username from their Discord ID. Similar to the checklink command.
    • Arguments: <username> (e.g., player123) - Only usable by operators or players with weazylink.unlink.others permission.
    • Required: No
  • /reloadweazy - Reloads the plugin.
    • Permission required: weazylink.reload

Commands [Discord]

  • /link <code> - Lets the user link their Minecraft username to their discord with the code they got from using /linkaccount in the Minecraft server
    • Arguments: <code>
    • Required: Yes
  • /checklink - Lets the user check if their Discord ID is linked to a Minecraft username or not.
  • /unlink <username> - Lets the user unlink their Minecraft username from their Discord ID.
    • Arguments: <username> - Users with administrator permission can use this command on any username to unlink them.
    • Required: Yes

Permissions

  • weazylink.link - Allows players to use the /linkaccount command. It is set to True by default.
  • weazylink.checklink - Allows players to use the /checklink command. It is set to True by default.
  • weazylink.checklink.others - Allows players to use /checklink <username>, allowing them to see linked information of other players. It is set to only operators by default.
  • weazylink.unlink - Allows players to use the /unlinkaccount command. It is set to True by default.
  • weazylink.unlink.others - Allows players to use /unlinkaccount <username>, allowing them to unlink other players. It is set to only operators by default.
  • weazylink.reload - Allows players to use /reloadweazy to reload the plugin.

Support

If you need help with the plugin, you can: