JoinMe is a powerful and engaging Velocity plugin designed to enhance player interaction on your proxy network. With JoinMe, players can share their current server with others, complete with a visually appealing avatar display and clickable commands to join instantly. The plugin includes a robust token system for rewarding players, customizable cooldowns, blacklisted servers, and detailed configuration options to tailor the experience to your network's needs.
JoinMe adds a fun and interactive way for players to connect, while giving administrators full control over permissions, costs, and messaging.
Features
Server Sharing: Players can broadcast their current server with a stylized message.
Temporary Join Links: Clickable joins now use a temporary (5-minute), internal ID with the /joinme goto command for controlled connections.
Token System: Players can claim JoinMe Tokens, with configurable costs for using the /joinme command.
Avatar Rendering: Displays a player's Minecraft skin as a pixelated avatar in chat.
Cooldowns & Permissions: Prevent spam with customizable cooldowns and bypass permissions for VIPs or staff.
Blacklisted Servers: Restrict the /joinme command on specific servers (e.g., lobbies).
Daily Token Claim: Encourage engagement with a daily token claim system (configurable interval and amount).
Customizable Messages: Fully customizable messages using MiniMessage for rich formatting and clickable actions.
Admin Tools: Manage tokens, reload configurations, and monitor usage with detailed commands.
bStats Integration: Track plugin usage with lightweight metrics.
Version Checker: Automatically notifies admins about new plugin updates.
Commands
/joinme
Broadcasts the player's current server with a stylized message, generating a temporary UniqueId for direct joining.
Costs configurable JoinMe Tokens (default: 1, can be disabled).
Respects cooldowns and blacklisted servers.
Permission: joinme.use
/joinme goto <UniqueId>
Allows joining a specific server instance using a temporary UniqueId generated by the `/joinme` command.
This command is primarily used via the clickable link in chat.
/joinme help
Displays a help menu with all available commands.
/joinme reload
Reloads the plugin's configuration file.
Permission: joinme.reload
/joinme tokens
Shows the player's current JoinMe Token balance.
/joinme tokens <player>
Displays another player's token balance.
/joinme tokens claim
Claims daily JoinMe Tokens (configurable amount and interval).
/joinme tokens give <player> <amount>
Gives tokens to a specified player.
Permission: joinme.tokens.manage
/joinme tokens remove <player> <amount>
Removes tokens from a specified player.
Permission: joinme.tokens.manage
Configuration JoinMe offers a highly customizable
config.yml file where you can:
Set cooldown durations and token costs.
Define blacklisted servers.
Configure the daily token claim system (enabled/disabled, amount, interval).
Customize all messages with MiniMessage formatting.
Code (YAML):
# =================================================== # JoinMe Plugin Configuration # =================================================== settings: # Cooldown in seconds before a player can use the /joinme command again. cooldown: 5
# Amount of JoinMe Tokens deducted when a player uses the /joinme command. # Set to 0 to disable the cost. token-cost: 1
# Configuration for blacklisted servers where the /joinme command cannot be used. blacklist: - lobby
# Configuration for the daily token claim system. token-claim: # Whether the daily token claim system is enabled. enabled: true
# Amount of tokens players receive when claiming. amount: 5
# Interval in hours between claims. interval-hours: 24
# =================================================== # Message Configuration # =================================================== messages: # Plugin prefix used in all messages. prefix: "<gray>[<aqua>JoinMe</aqua>]</gray>"
# Message displayed when a player uses /joinme. join-message-line1: " <aqua>%player%</aqua> <gray>is playing on</gray> <aqua>%server%</aqua><dark_gray>!</dark_gray>" join-message-line2: " <gray>Click</gray> <aqua><bold><click:run_command:/joinme goto %serverId%>HERE</click></bold></aqua><gray>, to join him</gray><dark_gray>!</dark_gray>" join-command-message: "<gray>%prefix% or use <yellow>/joinme goto %serverId%</yellow>, to join him</gray><dark_gray>!</dark_gray>"# You can leave the line empty so that it is not displayed. goto-connecting: "<green>%prefix% Connecting to <yellow>%server%</yellow>...</green>" goto-already-on-server: "<yellow>%prefix% You are already on server <aqua>%server%</aqua>.</yellow>" goto-server-not-found: "<red>%prefix% Server '<yellow>%server%</yellow>' not found or offline.</red>" goto-invalid-id: "<red>%prefix% Invalid JoinMe ID.</red>"
# Error messages. command-permission-message: "<red>%prefix% You don't have permission for this!</red>" command-player-only: "<red>%prefix% This command can only be executed by players.</red>" cooldown-message: "<red>%prefix% You can use this command again in <yellow>%remaining_seconds%</yellow> seconds.</red>" blacklist-message: "<red>%prefix% This command cannot be used on this server.</red>" not-enough-tokens: "<red>%prefix% You don't have enough JoinMe Tokens. Cost: <yellow>%cost%</yellow></red>" invalid-amount: "<red>%prefix% Amount must be a positive number.</red>" invalid-number: "<red>%prefix% Invalid number.</red>"
# Token related messages. tokens-balance-self: "<green>%prefix% Your JoinMe Tokens: <yellow>%tokens%</yellow></green>" tokens-balance-other: "<green>%prefix% %player%'s JoinMe Tokens: <yellow>%tokens%</yellow></green>" tokens-given: "<green>%prefix% You have given <yellow>%amount%</yellow> JoinMe Tokens to <aqua>%player%</aqua>.</green>" tokens-received: "<green>%prefix% You have received <yellow>%amount%</yellow> JoinMe Tokens from <aqua>%sender%</aqua>.</green>" tokens-removed: "<red>%prefix% You have removed <yellow>%amount%</yellow> JoinMe Tokens from <aqua>%player%</aqua>.</red>" tokens-claimed: "<green>%prefix% You have claimed <yellow>%amount%</yellow> JoinMe Tokens.</green>" tokens-claim-cooldown: "<red>%prefix% You can claim JoinMe Tokens again in <yellow>%time_remaining%</yellow>.</red>" tokens-claim-disabled: "<red>%prefix% The daily token claim is currently disabled.</red>" token-cost: "<yellow>%cost%</yellow>" tokens-usage-admin: "<red>%prefix% Usage: /joinme tokens <give|remove> <player> <amount></red>" tokens-usage: "<red>%prefix% Usage: /joinme tokens [claim | <player>]</red>" permission-manage-tokens: "<red>%prefix% You don't have permission to manage tokens.</red>"
# Help command messages. help-header: "<green>JoinMe Commands:</green>" help-joinme: "<yellow>/joinme</yellow> - Shows your current server to other players." help-reload: "<yellow>/joinme reload</yellow> - Reloads the configuration." help-tokens-balance: "<yellow>/joinme tokens</yellow> - Shows your JoinMe Token balance." help-tokens-balance-other: "<yellow>/joinme tokens <player></yellow> - Shows the JoinMe Token balance of another player." help-tokens-give: "<yellow>/joinme tokens give <player> <amount></yellow> - Gives JoinMe Tokens to a player (Admin only)." help-tokens-remove: "<yellow>/joinme tokens remove <player> <amount></yellow> - Removes JoinMe Tokens from a player (Admin only)." help-tokens-claim: "<yellow>/joinme tokens claim</yellow> - Claims your daily JoinMe Tokens."