ModsJava
NexDiscordLink - Advanced Discord Link Plugin
Java mod listed for Minecraft 1.16–1.21. Download on the author's site.
⬇ Download on SpigotNexDiscordLink
Secure Minecraft ↔ Discord account linking, synchronization, 2FA, rewards, chat and network automation.
Spigot/Paper 1.16.5+ • Java 17+ • English & Turkish
Download latest release • Source & documentation • Türkçe dokümantasyon
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
More than a chat bridge
NexDiscordLink connects Discord to the complete Minecraft account lifecycle. It combines secure account linking, authentication, role and nickname synchronization, configurable rewards, rich event messages, auditing and proxy-network support in one production-oriented plugin.
Account Linking & Security
- Discord DM, interactive button/modal panel and bilingual slash-command linking.
- Expiring, single-use, rate-limited codes and one-account-per-platform enforcement.
- TOTP 2FA with an in-game QR map and private Discord verification after network changes.
- Secure unlinking using TOTP or a short-lived, account-bound Discord approval.
- AES-GCM TOTP encryption, keyed IP fingerprints, verification rate limits and redacted audit logs.
- Guarded Discord console command, disabled by default with an explicit allowlist.
Synchronization & Rewards
- Linked role, Vault group ↔ Discord role, nickname and ban synchronization.
- Minecraft → Discord, Discord → Minecraft and bidirectional role-sync modes.
- Synchronization on join, on a schedule or immediately through an admin command.
- First-link, relink, Discord-role, recurring salary and server-boost rewards.
- Rewards run configurable console commands for economy, items, XP and other plugins.
Discord Messages & Chat
- Two-way Minecraft ↔ Discord chat with optional webhook avatars.
- Join, quit, death, advancement, linking, profile, security and audit messages.
- Per-event channel and toggle, title, description, color, author, thumbnail, image, footer, timestamp and buttons.
- English and Turkish message files with safe bundled fallbacks.
- Discord mention parsing disabled by default for bridged player messages.
Automatic Config Doctor & Lang Doctor
Every startup and plugin reload checks the active configuration and language files automatically—no doctor command is needed.
- Detects unreadable YAML, missing or unknown keys, wrong types and invalid ranges.
- Validates Discord IDs, HTTP/HTTPS URLs, embed colors, button styles and feature dependencies.
- Checks proxy/MySQL compatibility and chat destinations.
- Detects missing translations, English fallback gaps and placeholder mismatches such as {player}.
- Never prints tokens, passwords or encryption keys and never rewrites your files.
Storage & Network Support
- SQLite for a single server and MySQL for production deployments.
- Shared-MySQL Velocity/Bungee backends with one designated bot node.
- Asynchronous PlaceholderAPI cache for scoreboards and TAB integrations.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Commands
Minecraft
Code (Text):
/link /eşle /hesapeşle /esle /hesapesle
/unlink /eşlemesil /eslemesil /hesapayır /hesapayir
/linkstatus /eşledurum /esledurum /hesabım /hesabim
/linkreward /eşleödül /esleodul /ödül /odul
/2fa setup|login|disable
/nexdiscord reload|status|sync|resetreward
Code (Text):
/link or /eşle
/profile or /hesap
/unlink or /eşlemeyi-kaldır
/help or /yardım
/setup-link
/console (optional; disabled by default)
- Java 17 or newer
- Spigot or Paper 1.16.5 or newer
- Discord bot with Server Members Intent and Message Content Intent enabled
- Optional: Vault and a compatible permissions plugin
- Optional: PlaceholderAPI
- MySQL reachable by every backend when proxy mode is enabled
Quick Installation
- Download the shaded fat JAR from GitHub Releases.
- Place it in the server's plugins folder and start once.
- Stop the server and configure the bot token, channels and role IDs in plugins/NexDiscordLink/config.yml.
- Enable the required Discord intents and permissions.
- Start the server, review the automatic Doctor report and run /nexdiscord status.
- If modal linking is enabled, run /setup-link on Discord.
Upgrade safely
Stop the server completely and back up the old JAR, configuration, database and secret.key before replacing the plugin. Do not use a global /reload for JAR updates.
Security notice
Never publish a live bot token, database password, webhook URL, secret.key or production configuration. Losing the encryption key makes existing encrypted TOTP secrets unreadable.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Configuration & Language Files
The following files are the bundled defaults for NexDiscordLink 1.0.5. Expand a section to view or copy it. Never paste production tokens, passwords, webhooks or secret keys into public posts.
Spoiler: config.yml
Code (Text):
# _____ _____
#( ___ ) ( ___ )
# | |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| |
# | | _ __ | |
# | | _______ ______ (_) ______/ /__ _ __ | |
# | | / ___/ / / / __ \/ / |/_/ __ / _ \ | / / | |
# | | / / / /_/ / / / / /> </ /_/ / __/ |/ / | |
# | | /_/ \__, /_/ /_/_/_/|_|\__,_/\___/|___/ | |
# | | /____/ | |
# |___|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|___|
#(_____) (_____)
# NexDiscordLink Configuration File
bot-token: "YOUR_BOT_TOKEN_HERE" # Replace with your Discord Bot Token
settings:
language: "en" # Options: en, tr
update-checker: true
proxy:
enabled: false
server-id: "survival-1" # Must be unique for each backend
bot-enabled: true # Enable on one backend; shared MySQL codes work across all backends
link-check-interval-ticks: 40 # Worker notification/reward polling interval (2 seconds)
database-settings:
type: "sqlite" # Options: sqlite, mysql
host: "localhost"
port: 3306
database: "nexdiscordlink"
username: "root"
password: ""
channels:
log-channel-id: "123456789012345678"
console-channel-id: "" # Optional fallback when console-webhook-url is empty
console-webhook-url: "" # Optional: Use Webhook for console logs (Faster & Works during startup)
audit-log:
enabled: true
channel-id: "" # Empty uses channels.log-channel-id
console: false
rewards:
salary-interval: 60 # In minutes
commands:
- "eco give {player} 1000"
boost-commands:
- "eco give {player} 5000"
- "give {player} diamond 5"
link-rewards:
enabled: true
limit: 1 # How many times a player can receive link rewards (0 = unlimited)
commands:
- "eco give {player} 2000"
- "give {player} golden_apple 2"
first-link-commands:
- "experience add {player} 250 points"
relink-commands: []
discord-role-commands:
"YOUR_SUPPORTER_ROLE_ID":
- "eco give {player} 1000"
preview:
- "&8&m--------------------------------"
- "&b&lDiscord Eşleme Ödülleri"
- "&7• &f2.000 oyun parası"
- "&7• &f2 altın elma"
- "&7• &fİlk eşlemede 250 XP"
- "&8&m--------------------------------"
link-system:
type: "BOTH" # Options: DM, MODAL, BOTH
account-policy: "ONE_TO_ONE" # One Minecraft account per Discord account and vice versa
code-length: 6
code-expiry-minutes: 5
modal:
channel-id: "YOUR_LINK_CHANNEL_ID"
button-label: "Link Account"
button-style: "PRIMARY" # PRIMARY (blue), SECONDARY (grey), SUCCESS (green), DANGER (red)
modal-title: "Link Your Account"
input-label: "Link Code"
input-placeholder: "Enter your link code"
unlink-security:
require-confirmation: true # Uses 2FA when enabled, otherwise sends a Discord DM approval
security-settings:
enabled: true
console-command:
enabled: false # Enable /console slash command on Discord (DANGEROUS - allows full server access!)
# Only root commands listed here can be executed. An empty list denies every command.
whitelist:
- "say"
- "list"
- "tps"
sync:
nickname:
enabled: true
format: "%name%"
ban:
enabled: false
linked-role:
enabled: true
role-id: "YOUR_LINKED_ROLE_ID"
role-sync:
enabled: true
direction: "MINECRAFT_TO_DISCORD" # MINECRAFT_TO_DISCORD, DISCORD_TO_MINECRAFT, BIDIRECTIONAL
interval-minutes: 5
vault-groups:
vip: "123456789012345678"
mvp: "123456789012345678"
chat-bridge:
enabled: true
channel-id: "YOUR_CHAT_CHANNEL_ID"
webhook-url: "" # Optional: If set, uses webhook for Game -> Discord (Better visuals)
discord-to-game-format: "&8[&bDiscord&8] &f{user}: &7{message}"
# Discord embed and Game -> Discord message customization.
# Empty title/description values use the active language file.
# Colors accept names, #RRGGBB, or "R, G, B". Image URLs must use http/https.
# Supported common placeholders: {player}, {uuid}. Event-specific placeholders are shown below.
discord-messages:
defaults:
color: "" # Empty keeps each message's built-in color
timestamp: true
author:
enabled: false
text: "{player}"
url: ""
icon-url: "https://mc-heads.net/avatar/{player}"
thumbnail:
enabled: false
url: "https://mc-heads.net/avatar/{player}"
image:
enabled: false
url: ""
footer:
enabled: false
text: "NexDiscordLink"
icon-url: ""
events:
join:
enabled: true
channel-id: "" # Empty uses channels.log-channel-id
title: ""
description: "" # {player}, {uuid}
color: "#2ECC71"
author:
enabled: true
thumbnail:
enabled: true
quit:
enabled: true
channel-id: ""
title: ""
description: "" # {player}, {uuid}
color: "#E74C3C"
author:
enabled: true
thumbnail:
enabled: true
death:
enabled: true
channel-id: ""
title: ""
description: "" # {player}, {uuid}, {death_message}
color: "#000000"
author:
enabled: true
thumbnail:
enabled: true
advancement:
enabled: true
channel-id: ""
title: ""
description: "" # {player}, {uuid}, {advancement}
color: "#F1C40F"
author:
enabled: true
thumbnail:
enabled: true
link-panel:
enabled: true
channel-id: "" # Empty uses link-system.modal.channel-id
title: ""
description: ""
button-label: "" # Empty uses link-system.modal.button-label
button-style: "" # Empty uses link-system.modal.button-style
color: "#2ECC71"
timestamp: false
footer:
enabled: true
text: "" # Empty uses discord.modal.embed.footer from the active language file
icon-url: ""
security-login:
title: ""
description: "" # {player}, {uuid}, {ip}
button-label: ""
button-style: "SUCCESS" # PRIMARY, SECONDARY, SUCCESS, DANGER
color: "#E74C3C"
author:
enabled: true
thumbnail:
enabled: true
unlink-confirmation:
content: "" # {player}, {uuid}; empty uses the active language file
button-label: ""
button-style: "DANGER" # PRIMARY, SECONDARY, SUCCESS, DANGER
profile:
title: ""
color: "#00FFFF"
field-player: ""
field-uuid: ""
field-status: ""
author:
enabled: true
thumbnail:
enabled: true
audit:
enabled: true
channel-id: "" # Empty uses audit-log.channel-id, then channels.log-channel-id
title: ""
field-event: ""
field-actor: ""
field-detail: ""
event-colors:
account_linked: "#2ECC71"
account_unlinked: "#F1C40F"
two_factor_enabled: "#3498DB"
two_factor_disabled: "#E67E22"
two_factor_verified: "#2ECC71"
verification_failed: "#E74C3C"
ip_challenge: "#E74C3C"
ip_verified: "#2ECC71"
role_sync: "#9B59B6"
admin_action: "#34495E"
chat:
minecraft-to-discord-format: "**{player}**: {message}"
webhook-username: "{player}"
webhook-avatar-url: "https://mc-heads.net/avatar/{player}"
#( ___ ) ( ___ )
# | |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| |
# | | _ __ | |
# | | _______ ______ (_) ______/ /__ _ __ | |
# | | / ___/ / / / __ \/ / |/_/ __ / _ \ | / / | |
# | | / / / /_/ / / / / /> </ /_/ / __/ |/ / | |
# | | /_/ \__, /_/ /_/_/_/|_|\__,_/\___/|___/ | |
# | | /____/ | |
# |___|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|___|
#(_____) (_____)
# NexDiscordLink Configuration File
bot-token: "YOUR_BOT_TOKEN_HERE" # Replace with your Discord Bot Token
settings:
language: "en" # Options: en, tr
update-checker: true
proxy:
enabled: false
server-id: "survival-1" # Must be unique for each backend
bot-enabled: true # Enable on one backend; shared MySQL codes work across all backends
link-check-interval-ticks: 40 # Worker notification/reward polling interval (2 seconds)
database-settings:
type: "sqlite" # Options: sqlite, mysql
host: "localhost"
port: 3306
database: "nexdiscordlink"
username: "root"
password: ""
channels:
log-channel-id: "123456789012345678"
console-channel-id: "" # Optional fallback when console-webhook-url is empty
console-webhook-url: "" # Optional: Use Webhook for console logs (Faster & Works during startup)
audit-log:
enabled: true
channel-id: "" # Empty uses channels.log-channel-id
console: false
rewards:
salary-interval: 60 # In minutes
commands:
- "eco give {player} 1000"
boost-commands:
- "eco give {player} 5000"
- "give {player} diamond 5"
link-rewards:
enabled: true
limit: 1 # How many times a player can receive link rewards (0 = unlimited)
commands:
- "eco give {player} 2000"
- "give {player} golden_apple 2"
first-link-commands:
- "experience add {player} 250 points"
relink-commands: []
discord-role-commands:
"YOUR_SUPPORTER_ROLE_ID":
- "eco give {player} 1000"
preview:
- "&8&m--------------------------------"
- "&b&lDiscord Eşleme Ödülleri"
- "&7• &f2.000 oyun parası"
- "&7• &f2 altın elma"
- "&7• &fİlk eşlemede 250 XP"
- "&8&m--------------------------------"
link-system:
type: "BOTH" # Options: DM, MODAL, BOTH
account-policy: "ONE_TO_ONE" # One Minecraft account per Discord account and vice versa
code-length: 6
code-expiry-minutes: 5
modal:
channel-id: "YOUR_LINK_CHANNEL_ID"
button-label: "Link Account"
button-style: "PRIMARY" # PRIMARY (blue), SECONDARY (grey), SUCCESS (green), DANGER (red)
modal-title: "Link Your Account"
input-label: "Link Code"
input-placeholder: "Enter your link code"
unlink-security:
require-confirmation: true # Uses 2FA when enabled, otherwise sends a Discord DM approval
security-settings:
enabled: true
console-command:
enabled: false # Enable /console slash command on Discord (DANGEROUS - allows full server access!)
# Only root commands listed here can be executed. An empty list denies every command.
whitelist:
- "say"
- "list"
- "tps"
sync:
nickname:
enabled: true
format: "%name%"
ban:
enabled: false
linked-role:
enabled: true
role-id: "YOUR_LINKED_ROLE_ID"
role-sync:
enabled: true
direction: "MINECRAFT_TO_DISCORD" # MINECRAFT_TO_DISCORD, DISCORD_TO_MINECRAFT, BIDIRECTIONAL
interval-minutes: 5
vault-groups:
vip: "123456789012345678"
mvp: "123456789012345678"
chat-bridge:
enabled: true
channel-id: "YOUR_CHAT_CHANNEL_ID"
webhook-url: "" # Optional: If set, uses webhook for Game -> Discord (Better visuals)
discord-to-game-format: "&8[&bDiscord&8] &f{user}: &7{message}"
# Discord embed and Game -> Discord message customization.
# Empty title/description values use the active language file.
# Colors accept names, #RRGGBB, or "R, G, B". Image URLs must use http/https.
# Supported common placeholders: {player}, {uuid}. Event-specific placeholders are shown below.
discord-messages:
defaults:
color: "" # Empty keeps each message's built-in color
timestamp: true
author:
enabled: false
text: "{player}"
url: ""
icon-url: "https://mc-heads.net/avatar/{player}"
thumbnail:
enabled: false
url: "https://mc-heads.net/avatar/{player}"
image:
enabled: false
url: ""
footer:
enabled: false
text: "NexDiscordLink"
icon-url: ""
events:
join:
enabled: true
channel-id: "" # Empty uses channels.log-channel-id
title: ""
description: "" # {player}, {uuid}
color: "#2ECC71"
author:
enabled: true
thumbnail:
enabled: true
quit:
enabled: true
channel-id: ""
title: ""
description: "" # {player}, {uuid}
color: "#E74C3C"
author:
enabled: true
thumbnail:
enabled: true
death:
enabled: true
channel-id: ""
title: ""
description: "" # {player}, {uuid}, {death_message}
color: "#000000"
author:
enabled: true
thumbnail:
enabled: true
advancement:
enabled: true
channel-id: ""
title: ""
description: "" # {player}, {uuid}, {advancement}
color: "#F1C40F"
author:
enabled: true
thumbnail:
enabled: true
link-panel:
enabled: true
channel-id: "" # Empty uses link-system.modal.channel-id
title: ""
description: ""
button-label: "" # Empty uses link-system.modal.button-label
button-style: "" # Empty uses link-system.modal.button-style
color: "#2ECC71"
timestamp: false
footer:
enabled: true
text: "" # Empty uses discord.modal.embed.footer from the active language file
icon-url: ""
security-login:
title: ""
description: "" # {player}, {uuid}, {ip}
button-label: ""
button-style: "SUCCESS" # PRIMARY, SECONDARY, SUCCESS, DANGER
color: "#E74C3C"
author:
enabled: true
thumbnail:
enabled: true
unlink-confirmation:
content: "" # {player}, {uuid}; empty uses the active language file
button-label: ""
button-style: "DANGER" # PRIMARY, SECONDARY, SUCCESS, DANGER
profile:
title: ""
color: "#00FFFF"
field-player: ""
field-uuid: ""
field-status: ""
author:
enabled: true
thumbnail:
enabled: true
audit:
enabled: true
channel-id: "" # Empty uses audit-log.channel-id, then channels.log-channel-id
title: ""
field-event: ""
field-actor: ""
field-detail: ""
event-colors:
account_linked: "#2ECC71"
account_unlinked: "#F1C40F"
two_factor_enabled: "#3498DB"
two_factor_disabled: "#E67E22"
two_factor_verified: "#2ECC71"
verification_failed: "#E74C3C"
ip_challenge: "#E74C3C"
ip_verified: "#2ECC71"
role_sync: "#9B59B6"
admin_action: "#34495E"
chat:
minecraft-to-discord-format: "**{player}**: {message}"
webhook-username: "{player}"
webhook-avatar-url: "https://mc-heads.net/avatar/{player}"
Spoiler: messages_en.yml — English
Code (Text):
prefix: "&8[&bNexDiscordLink&8] &7"
console:
enabled: "Plugin enabled successfully!"
disabled: "Plugin disabled successfully!"
loading_config: "Loading configuration..."
loading_lang: "Loading language files..."
database_connected: "Database connected successfully."
database_error: "Failed to connect to database!"
database_fatal: "Database initialization failed. NexDiscordLink has been disabled to prevent data loss."
security_storage_fatal: "Sensitive data protection could not be initialized. NexDiscordLink has been disabled."
bot_starting: "Starting Discord bot..."
bot_started: "Discord bot started as {bot_name}!"
bot_error: "Failed to start Discord bot: {error}"
bot_skipped_proxy: "Discord bot is disabled on this proxy node; shared MySQL link codes will be used."
startup_config_loaded: "&a [✔] &fConfig Loaded"
startup_lang_loaded: "&a [✔] &fLanguage Loaded"
startup_database_connected: "&a [✔] &fDatabase Connected"
startup_bot_started: "&a [✔] &fDiscord Bot Started"
startup_proxy_worker: "&a [✔] &fProxy Worker Node Ready"
startup_ready: "&e Plugin is ready to use!"
doctor:
started: "&8[&bNexDiscordLink Doctor&8] &7Automatic config and language checks started."
severity_error: "&cERROR"
severity_warning: "&eWARNING"
finding: "&8[&bDoctor&8] [{severity}&8] &7{message}"
result_healthy: "&8[&bDoctor&8] &a{name} is healthy."
result_summary: "&8[&bDoctor&8] &f{name}: &c{errors} error(s)&7, &e{warnings} warning(s)&7."
file_missing: "The required {file} file is missing."
yaml_invalid: "{file} contains invalid YAML and could not be inspected."
bundled_resource_missing: "The bundled {file} resource could not be read."
config_missing_keys: "The user config is missing {count} setting(s); bundled defaults are active. Examples: {examples}"
config_unknown_keys: "The user config contains {count} unknown setting(s), possibly typos. Examples: {examples}"
config_wrong_type: "{path} must be {expected}, but is {actual}."
bot_token_missing: "bot-token is empty or still uses the example value. Its value was not printed."
invalid_enum: "{path} has an unsupported option."
invalid_number: "{path} is not a number in the supported range."
invalid_discord_id: "{path} is not a valid 17-20 digit Discord ID."
example_discord_id: "{path} still uses an example Discord ID."
invalid_reward_role_id: "A key under rewards.link-rewards.discord-role-commands is not a configured Discord role ID."
invalid_url: "{path} is not a valid HTTP/HTTPS URL. Its value was not printed."
invalid_color: "{path} is not a supported color name, HEX, or RGB value."
proxy_requires_mysql: "proxy.enabled requires database-settings.type: mysql."
required_setting_empty: "{path} is required for the selected database mode."
mysql_password_empty: "The MySQL password is empty. Its value was not printed."
chat_destination_missing: "chat-bridge is enabled but neither channel-id nor webhook-url is configured."
console_whitelist_empty: "The Discord console command is enabled with an empty whitelist, so every command will be denied."
language_file_missing: "The selected language file {file} is missing; runtime fallback may hide this problem."
language_yaml_invalid: "The selected language file {file} contains invalid YAML."
fallback_file_missing: "The English fallback file {file} is missing."
fallback_yaml_invalid: "The English fallback file {file} contains invalid YAML."
language_missing_keys: "The language file is missing {count} key(s); bundled fallback text is active. Examples: {examples}"
language_unknown_keys: "The language file contains {count} unknown key(s), possibly typos. Examples: {examples}"
language_wrong_type: "Language key {path} has the wrong value type."
language_missing_placeholders: "Language key {path} is missing required placeholder(s): {placeholders}"
language_extra_placeholders: "Language key {path} has unexpected placeholder(s): {placeholders}"
security:
player_not_online: "Player is not online!"
frozen_message: "&cYour IP has changed! Please verify your login via Discord DM."
dm_verify_title: "Login Verification"
dm_verify_desc: "A login attempt was made from IP: {ip}. Click the button below to verify."
dm_verify_button: "Verify Login"
verified_success: "&aLogin verified! You can now play."
verified_dm: "You have successfully verified your login."
verification_invalid: "This verification request is invalid or is no longer active."
verification_expired: "Login verification expired. Reconnect to request a new verification."
verification_wrong_user: "This verification request belongs to a different Discord account."
verification_ip_changed: "The player's IP changed again. Reconnect to request a new verification."
verification_save_failed: "The verified IP could not be saved. Please try again."
discord_unavailable: "&cDiscord verification could not be delivered. Please try again later."
kick_not_verified: "&cYou must verify your login on Discord!"
2fa_required: "&cTwo-Factor Authentication is enabled. Please use /2fa login <code> to verify."
2fa_already_setup: "&cYou already have 2FA enabled."
2fa_setup_instructions: "&aScan the QR code or use this secret key: &b{secret}"
2fa_map_given: "&aA map with the QR code has been added to your inventory."
2fa_setup_success: "&a2FA setup successful! Your account is now secured."
2fa_verified: "&a2FA verification successful. Welcome back!"
2fa_setup_expired: "&cThe 2FA setup expired. Run /2fa setup again."
2fa_rate_limited: "&cToo many invalid 2FA attempts. Wait one minute and try again."
2fa_storage_error: "&cThe 2FA setting could not be saved. Please contact an administrator."
2fa_not_setup: "&cYou do not have 2FA enabled."
2fa_disabled: "&a2FA has been disabled."
2fa_disable_usage: "&cUsage: /2fa disable <code>"
invalid_code: "&cInvalid code. Please try again."
unlink_dm_request: "Confirm below to remove your Minecraft account link. This request is valid for 2 minutes."
unlink_dm_button: "Remove Account Link"
unlink_dm_failed: "&cDiscord approval could not be delivered. The link was kept for your security."
unlink_confirmation_invalid: "This unlink request is invalid, expired, or belongs to another account."
unlink_confirmed: "Your Minecraft account link was securely removed."
rewards:
salary_received: "&aYou received your salary for being linked!"
boost_received: "&d&lBOOST! &fThank you for boosting! You received a reward."
link_reward_received: "&aYou received a reward for linking your account!"
link_reward_limit_reached: "&cYou have already claimed the maximum number of link rewards."
sync:
ban_reason: "Banned from Minecraft Server: {reason}"
kick_reason: "Kicked from Minecraft Server: {reason}"
events:
join_title: "Player Joined"
join_desc: "**{player}** has joined the server."
quit_title: "Player Left"
quit_desc: "**{player}** has left the server."
death_title: "Player Died"
death_desc: "{death_message}"
advancement_title: "Advancement Made"
advancement_desc: "**{player}** has made the advancement **{advancement}**."
audit:
title: "NexDiscordLink Audit Log"
field_event: "Event"
field_actor: "Account/Player"
field_detail: "Detail"
event:
account_linked: "Account linked"
account_unlinked: "Account unlinked"
two_factor_enabled: "2FA enabled"
two_factor_disabled: "2FA disabled"
two_factor_verified: "2FA verified"
verification_failed: "Verification failed"
ip_challenge: "New network verification requested"
ip_verified: "Network verified"
role_sync: "Role synchronized"
admin_action: "Administrator action"
commands:
player_only: "&cOnly players can use this command."
help: "&bNexDiscordLink &7v{version} - Use &b/nexdiscord reload &7to reload config."
link_usage: "Usage: /link"
link_already_linked: "&cYou are already linked!"
link_code_failed: "&cA link code could not be generated. Please try again."
link_code_generated_dm: "&aYour link code is: &b{code}&a. Send this code to the bot via DM."
link_code_generated_modal: "&aYour link code is: &b{code}&a. Enter it in the Discord link modal."
link_code_generated_both: "&aYour link code is: &b{code}&a. Send it to the bot via DM or enter it in the Discord link modal."
unlink_success: "&aSuccessfully unlinked your account."
unlink_failed: "&cThe account link could not be removed. Please try again."
unlink_2fa_required: "&eUse &b/unlink <2FA code> &eto remove your account link."
unlink_confirmation_sent: "&eAn unlink approval was sent to your linked Discord account."
unlink_not_linked: "&cYou are not linked!"
reload_success: "&aConfiguration reloaded."
reload_started: "&eReloading configuration, database, reward scheduler, and Discord bot..."
reload_failed: "&cReload failed. NexDiscordLink has been disabled to prevent an inconsistent state."
no_permission: "&cYou do not have permission."
link_success_player: "&aSuccessfully linked to Discord account: &b{discord}"
2fa_usage: "&cUsage: /2fa <setup|login|disable> (Turkish: <kur|giris|kapat>)"
reset_reward_success: "&aSuccessfully reset link reward count for &b{player}&a."
reset_reward_usage: "&cUsage: /nexdiscord resetreward <player|all>"
reset_reward_all_success: "&aSuccessfully reset link reward count for &ball players&a."
player_not_found: "&cPlayer not found."
role_sync_all: "&aRole synchronization started for {count} online players."
role_sync_player: "&aRole synchronization started for {player}."
reward_preview_header: "&bLink reward status: &7Claimed &f{claimed}&7, remaining &f{remaining}"
status_unknown: "Unknown"
status_enabled: "&aEnabled"
status_disabled: "&cDisabled"
status_ok: "&aReady"
status_unavailable: "&cUnavailable"
status_standalone: "Standalone"
account_status:
- "&8&m--------------------------------"
- "&b&lDiscord Account Status"
- "&7Discord: &f{discord}"
- "&7Linked at: &f{linked_at}"
- "&72FA: {two_factor}"
- "&8&m--------------------------------"
admin_status:
- "&8&m--------------------------------"
- "&b&lNexDiscordLink System Status"
- "&7Version: &f{version}"
- "&7Database: &f{database_type} &8- {database_status}"
- "&7Discord bot: {bot_status} &8(&f{guild_count} guilds&8)"
- "&7Sensitive data protection: {security_status}"
- "&7Runtime mode: &f{proxy_mode}"
- "&8&m--------------------------------"
update:
notification:
- "&8&m--------------------------------------------------"
- "&bNexDiscordLink &7update available!"
- "&7Current Version: &c{current_version}"
- "&7New Version: &a{new_version}"
- "&7Download: &b{link}"
- "&8&m--------------------------------------------------"
link:
success: "Successfully linked to **{player}**!"
invalid_code: "Invalid or expired code."
already_linked: "You are already linked to a Minecraft account."
minecraft_already_linked: "That Minecraft account is already linked. Generate a new code if needed."
failed: "The account link could not be saved. Please try again."
code_in_use: "That code is already being verified. Please wait a moment."
rate_limited: "Too many invalid attempts. Wait one minute and try again."
discord:
modal:
disabled: "Modal linking is disabled on this server."
embed:
title: "Link Your Account"
description: "Click the button below to link your Minecraft account with Discord."
footer: "NexDiscordLink System"
setup_sent: "Link message sent!"
success: "Successfully linked!"
fail: "Linking failed."
command:
no_dm: "This command cannot be used in DMs."
link:
description: "Link your Minecraft account with a code"
option: "Link code generated on the Minecraft server"
missing_code: "You must provide a link code."
unlink:
description: "Remove your Minecraft account link"
success: "Your Minecraft account link has been removed."
failed: "The Minecraft account link could not be removed. Please try again."
help:
description: "Show NexDiscordLink commands"
content: "**NexDiscordLink**\n`/link code:<code>` — link your account\n`/profile` — show the linked profile\n`/unlink` — remove the link\n`/help` — show this message"
console:
disabled: "Console command is disabled in config."
invalid: "That command is not valid."
not_allowed: "That command is not in the configured whitelist."
success: "Command executed: `/{command}`"
fail: "Failed to execute command: `/{command}`"
profile:
description: "View your linked profile"
not_linked: "You are not linked to any Minecraft account!"
embed:
title: "Player Profile"
field_player: "Player"
field_uuid: "UUID"
field_status: "Status"
status_online: "Online"
status_offline: "Offline"
console:
enabled: "Plugin enabled successfully!"
disabled: "Plugin disabled successfully!"
loading_config: "Loading configuration..."
loading_lang: "Loading language files..."
database_connected: "Database connected successfully."
database_error: "Failed to connect to database!"
database_fatal: "Database initialization failed. NexDiscordLink has been disabled to prevent data loss."
security_storage_fatal: "Sensitive data protection could not be initialized. NexDiscordLink has been disabled."
bot_starting: "Starting Discord bot..."
bot_started: "Discord bot started as {bot_name}!"
bot_error: "Failed to start Discord bot: {error}"
bot_skipped_proxy: "Discord bot is disabled on this proxy node; shared MySQL link codes will be used."
startup_config_loaded: "&a [✔] &fConfig Loaded"
startup_lang_loaded: "&a [✔] &fLanguage Loaded"
startup_database_connected: "&a [✔] &fDatabase Connected"
startup_bot_started: "&a [✔] &fDiscord Bot Started"
startup_proxy_worker: "&a [✔] &fProxy Worker Node Ready"
startup_ready: "&e Plugin is ready to use!"
doctor:
started: "&8[&bNexDiscordLink Doctor&8] &7Automatic config and language checks started."
severity_error: "&cERROR"
severity_warning: "&eWARNING"
finding: "&8[&bDoctor&8] [{severity}&8] &7{message}"
result_healthy: "&8[&bDoctor&8] &a{name} is healthy."
result_summary: "&8[&bDoctor&8] &f{name}: &c{errors} error(s)&7, &e{warnings} warning(s)&7."
file_missing: "The required {file} file is missing."
yaml_invalid: "{file} contains invalid YAML and could not be inspected."
bundled_resource_missing: "The bundled {file} resource could not be read."
config_missing_keys: "The user config is missing {count} setting(s); bundled defaults are active. Examples: {examples}"
config_unknown_keys: "The user config contains {count} unknown setting(s), possibly typos. Examples: {examples}"
config_wrong_type: "{path} must be {expected}, but is {actual}."
bot_token_missing: "bot-token is empty or still uses the example value. Its value was not printed."
invalid_enum: "{path} has an unsupported option."
invalid_number: "{path} is not a number in the supported range."
invalid_discord_id: "{path} is not a valid 17-20 digit Discord ID."
example_discord_id: "{path} still uses an example Discord ID."
invalid_reward_role_id: "A key under rewards.link-rewards.discord-role-commands is not a configured Discord role ID."
invalid_url: "{path} is not a valid HTTP/HTTPS URL. Its value was not printed."
invalid_color: "{path} is not a supported color name, HEX, or RGB value."
proxy_requires_mysql: "proxy.enabled requires database-settings.type: mysql."
required_setting_empty: "{path} is required for the selected database mode."
mysql_password_empty: "The MySQL password is empty. Its value was not printed."
chat_destination_missing: "chat-bridge is enabled but neither channel-id nor webhook-url is configured."
console_whitelist_empty: "The Discord console command is enabled with an empty whitelist, so every command will be denied."
language_file_missing: "The selected language file {file} is missing; runtime fallback may hide this problem."
language_yaml_invalid: "The selected language file {file} contains invalid YAML."
fallback_file_missing: "The English fallback file {file} is missing."
fallback_yaml_invalid: "The English fallback file {file} contains invalid YAML."
language_missing_keys: "The language file is missing {count} key(s); bundled fallback text is active. Examples: {examples}"
language_unknown_keys: "The language file contains {count} unknown key(s), possibly typos. Examples: {examples}"
language_wrong_type: "Language key {path} has the wrong value type."
language_missing_placeholders: "Language key {path} is missing required placeholder(s): {placeholders}"
language_extra_placeholders: "Language key {path} has unexpected placeholder(s): {placeholders}"
security:
player_not_online: "Player is not online!"
frozen_message: "&cYour IP has changed! Please verify your login via Discord DM."
dm_verify_title: "Login Verification"
dm_verify_desc: "A login attempt was made from IP: {ip}. Click the button below to verify."
dm_verify_button: "Verify Login"
verified_success: "&aLogin verified! You can now play."
verified_dm: "You have successfully verified your login."
verification_invalid: "This verification request is invalid or is no longer active."
verification_expired: "Login verification expired. Reconnect to request a new verification."
verification_wrong_user: "This verification request belongs to a different Discord account."
verification_ip_changed: "The player's IP changed again. Reconnect to request a new verification."
verification_save_failed: "The verified IP could not be saved. Please try again."
discord_unavailable: "&cDiscord verification could not be delivered. Please try again later."
kick_not_verified: "&cYou must verify your login on Discord!"
2fa_required: "&cTwo-Factor Authentication is enabled. Please use /2fa login <code> to verify."
2fa_already_setup: "&cYou already have 2FA enabled."
2fa_setup_instructions: "&aScan the QR code or use this secret key: &b{secret}"
2fa_map_given: "&aA map with the QR code has been added to your inventory."
2fa_setup_success: "&a2FA setup successful! Your account is now secured."
2fa_verified: "&a2FA verification successful. Welcome back!"
2fa_setup_expired: "&cThe 2FA setup expired. Run /2fa setup again."
2fa_rate_limited: "&cToo many invalid 2FA attempts. Wait one minute and try again."
2fa_storage_error: "&cThe 2FA setting could not be saved. Please contact an administrator."
2fa_not_setup: "&cYou do not have 2FA enabled."
2fa_disabled: "&a2FA has been disabled."
2fa_disable_usage: "&cUsage: /2fa disable <code>"
invalid_code: "&cInvalid code. Please try again."
unlink_dm_request: "Confirm below to remove your Minecraft account link. This request is valid for 2 minutes."
unlink_dm_button: "Remove Account Link"
unlink_dm_failed: "&cDiscord approval could not be delivered. The link was kept for your security."
unlink_confirmation_invalid: "This unlink request is invalid, expired, or belongs to another account."
unlink_confirmed: "Your Minecraft account link was securely removed."
rewards:
salary_received: "&aYou received your salary for being linked!"
boost_received: "&d&lBOOST! &fThank you for boosting! You received a reward."
link_reward_received: "&aYou received a reward for linking your account!"
link_reward_limit_reached: "&cYou have already claimed the maximum number of link rewards."
sync:
ban_reason: "Banned from Minecraft Server: {reason}"
kick_reason: "Kicked from Minecraft Server: {reason}"
events:
join_title: "Player Joined"
join_desc: "**{player}** has joined the server."
quit_title: "Player Left"
quit_desc: "**{player}** has left the server."
death_title: "Player Died"
death_desc: "{death_message}"
advancement_title: "Advancement Made"
advancement_desc: "**{player}** has made the advancement **{advancement}**."
audit:
title: "NexDiscordLink Audit Log"
field_event: "Event"
field_actor: "Account/Player"
field_detail: "Detail"
event:
account_linked: "Account linked"
account_unlinked: "Account unlinked"
two_factor_enabled: "2FA enabled"
two_factor_disabled: "2FA disabled"
two_factor_verified: "2FA verified"
verification_failed: "Verification failed"
ip_challenge: "New network verification requested"
ip_verified: "Network verified"
role_sync: "Role synchronized"
admin_action: "Administrator action"
commands:
player_only: "&cOnly players can use this command."
help: "&bNexDiscordLink &7v{version} - Use &b/nexdiscord reload &7to reload config."
link_usage: "Usage: /link"
link_already_linked: "&cYou are already linked!"
link_code_failed: "&cA link code could not be generated. Please try again."
link_code_generated_dm: "&aYour link code is: &b{code}&a. Send this code to the bot via DM."
link_code_generated_modal: "&aYour link code is: &b{code}&a. Enter it in the Discord link modal."
link_code_generated_both: "&aYour link code is: &b{code}&a. Send it to the bot via DM or enter it in the Discord link modal."
unlink_success: "&aSuccessfully unlinked your account."
unlink_failed: "&cThe account link could not be removed. Please try again."
unlink_2fa_required: "&eUse &b/unlink <2FA code> &eto remove your account link."
unlink_confirmation_sent: "&eAn unlink approval was sent to your linked Discord account."
unlink_not_linked: "&cYou are not linked!"
reload_success: "&aConfiguration reloaded."
reload_started: "&eReloading configuration, database, reward scheduler, and Discord bot..."
reload_failed: "&cReload failed. NexDiscordLink has been disabled to prevent an inconsistent state."
no_permission: "&cYou do not have permission."
link_success_player: "&aSuccessfully linked to Discord account: &b{discord}"
2fa_usage: "&cUsage: /2fa <setup|login|disable> (Turkish: <kur|giris|kapat>)"
reset_reward_success: "&aSuccessfully reset link reward count for &b{player}&a."
reset_reward_usage: "&cUsage: /nexdiscord resetreward <player|all>"
reset_reward_all_success: "&aSuccessfully reset link reward count for &ball players&a."
player_not_found: "&cPlayer not found."
role_sync_all: "&aRole synchronization started for {count} online players."
role_sync_player: "&aRole synchronization started for {player}."
reward_preview_header: "&bLink reward status: &7Claimed &f{claimed}&7, remaining &f{remaining}"
status_unknown: "Unknown"
status_enabled: "&aEnabled"
status_disabled: "&cDisabled"
status_ok: "&aReady"
status_unavailable: "&cUnavailable"
status_standalone: "Standalone"
account_status:
- "&8&m--------------------------------"
- "&b&lDiscord Account Status"
- "&7Discord: &f{discord}"
- "&7Linked at: &f{linked_at}"
- "&72FA: {two_factor}"
- "&8&m--------------------------------"
admin_status:
- "&8&m--------------------------------"
- "&b&lNexDiscordLink System Status"
- "&7Version: &f{version}"
- "&7Database: &f{database_type} &8- {database_status}"
- "&7Discord bot: {bot_status} &8(&f{guild_count} guilds&8)"
- "&7Sensitive data protection: {security_status}"
- "&7Runtime mode: &f{proxy_mode}"
- "&8&m--------------------------------"
update:
notification:
- "&8&m--------------------------------------------------"
- "&bNexDiscordLink &7update available!"
- "&7Current Version: &c{current_version}"
- "&7New Version: &a{new_version}"
- "&7Download: &b{link}"
- "&8&m--------------------------------------------------"
link:
success: "Successfully linked to **{player}**!"
invalid_code: "Invalid or expired code."
already_linked: "You are already linked to a Minecraft account."
minecraft_already_linked: "That Minecraft account is already linked. Generate a new code if needed."
failed: "The account link could not be saved. Please try again."
code_in_use: "That code is already being verified. Please wait a moment."
rate_limited: "Too many invalid attempts. Wait one minute and try again."
discord:
modal:
disabled: "Modal linking is disabled on this server."
embed:
title: "Link Your Account"
description: "Click the button below to link your Minecraft account with Discord."
footer: "NexDiscordLink System"
setup_sent: "Link message sent!"
success: "Successfully linked!"
fail: "Linking failed."
command:
no_dm: "This command cannot be used in DMs."
link:
description: "Link your Minecraft account with a code"
option: "Link code generated on the Minecraft server"
missing_code: "You must provide a link code."
unlink:
description: "Remove your Minecraft account link"
success: "Your Minecraft account link has been removed."
failed: "The Minecraft account link could not be removed. Please try again."
help:
description: "Show NexDiscordLink commands"
content: "**NexDiscordLink**\n`/link code:<code>` — link your account\n`/profile` — show the linked profile\n`/unlink` — remove the link\n`/help` — show this message"
console:
disabled: "Console command is disabled in config."
invalid: "That command is not valid."
not_allowed: "That command is not in the configured whitelist."
success: "Command executed: `/{command}`"
fail: "Failed to execute command: `/{command}`"
profile:
description: "View your linked profile"
not_linked: "You are not linked to any Minecraft account!"
embed:
title: "Player Profile"
field_player: "Player"
field_uuid: "UUID"
field_status: "Status"
status_online: "Online"
status_offline: "Offline"
Spoiler: messages_tr.yml — Türkçe
Code (Text):
prefix: "&8[&bNexDiscordLink&8] &7"
console:
enabled: "Eklenti başarıyla etkinleştirildi!"
disabled: "Eklenti başarıyla devre dışı bırakıldı!"
loading_config: "Yapılandırma yükleniyor..."
loading_lang: "Dil dosyaları yükleniyor..."
database_connected: "Veritabanı bağlantısı başarılı."
database_error: "Veritabanına bağlanılamadı!"
database_fatal: "Veritabanı başlatılamadı. Veri kaybını önlemek için NexDiscordLink devre dışı bırakıldı."
security_storage_fatal: "Hassas veri koruması başlatılamadı. NexDiscordLink devre dışı bırakıldı."
bot_starting: "Discord botu başlatılıyor..."
bot_started: "Discord botu {bot_name} olarak başlatıldı!"
bot_error: "Discord botu başlatılamadı: {error}"
bot_skipped_proxy: "Bu proxy node'unda Discord botu devre dışı; ortak MySQL eşleme kodları kullanılacak."
startup_config_loaded: "&a [✔] &fYapılandırma Yüklendi"
startup_lang_loaded: "&a [✔] &fDil Dosyaları Yüklendi"
startup_database_connected: "&a [✔] &fVeritabanı Bağlandı"
startup_bot_started: "&a [✔] &fDiscord Botu Başlatıldı"
startup_proxy_worker: "&a [✔] &fProxy Çalışan Node'u Hazır"
startup_ready: "&e Eklenti kullanıma hazır!"
doctor:
started: "&8[&bNexDiscordLink Doctor&8] &7Otomatik yapılandırma ve dil kontrolleri başladı."
severity_error: "&cHATA"
severity_warning: "&eUYARI"
finding: "&8[&bDoctor&8] [{severity}&8] &7{message}"
result_healthy: "&8[&bDoctor&8] &a{name} sağlıklı."
result_summary: "&8[&bDoctor&8] &f{name}: &c{errors} hata&7, &e{warnings} uyarı&7."
file_missing: "Gerekli {file} dosyası bulunamadı."
yaml_invalid: "{file} geçersiz YAML içerdiği için incelenemedi."
bundled_resource_missing: "Eklenti içindeki {file} kaynağı okunamadı."
config_missing_keys: "Kullanıcı yapılandırmasında {count} ayar eksik; eklenti içi varsayılanlar kullanılıyor. Örnekler: {examples}"
config_unknown_keys: "Kullanıcı yapılandırmasında yazım hatası olabilecek {count} bilinmeyen ayar var. Örnekler: {examples}"
config_wrong_type: "{path} değeri {expected} türünde olmalı, mevcut tür: {actual}."
bot_token_missing: "bot-token boş veya hâlâ örnek değeri kullanıyor. Değer güvenlik için yazdırılmadı."
invalid_enum: "{path} desteklenmeyen bir seçenek içeriyor."
invalid_number: "{path} desteklenen aralıkta bir sayı değil."
invalid_discord_id: "{path} geçerli bir 17-20 haneli Discord kimliği değil."
example_discord_id: "{path} hâlâ örnek Discord kimliğini kullanıyor."
invalid_reward_role_id: "rewards.link-rewards.discord-role-commands altındaki bir anahtar yapılandırılmış Discord rol kimliği değil."
invalid_url: "{path} geçerli bir HTTP/HTTPS adresi değil. Değer güvenlik için yazdırılmadı."
invalid_color: "{path} desteklenen bir renk adı, HEX veya RGB değeri değil."
proxy_requires_mysql: "proxy.enabled ayarı için database-settings.type: mysql kullanılmalıdır."
required_setting_empty: "Seçilen veritabanı modu için {path} zorunludur."
mysql_password_empty: "MySQL parolası boş. Değer güvenlik için yazdırılmadı."
chat_destination_missing: "chat-bridge açık ancak channel-id veya webhook-url yapılandırılmamış."
console_whitelist_empty: "Discord konsol komutu boş izin listesiyle açık; bütün komutlar reddedilecektir."
language_file_missing: "Seçili {file} dil dosyası bulunamadı; çalışma zamanı geri dönüşü bu sorunu gizleyebilir."
language_yaml_invalid: "Seçili {file} dil dosyasında geçersiz YAML var."
fallback_file_missing: "İngilizce geri dönüş dosyası {file} bulunamadı."
fallback_yaml_invalid: "İngilizce geri dönüş dosyası {file} geçersiz YAML içeriyor."
language_missing_keys: "Dil dosyasında {count} anahtar eksik; eklenti içi geri dönüş metinleri kullanılıyor. Örnekler: {examples}"
language_unknown_keys: "Dil dosyasında yazım hatası olabilecek {count} bilinmeyen anahtar var. Örnekler: {examples}"
language_wrong_type: "{path} dil anahtarı yanlış değer türünde."
language_missing_placeholders: "{path} dil anahtarında zorunlu yer tutucular eksik: {placeholders}"
language_extra_placeholders: "{path} dil anahtarında beklenmeyen yer tutucular var: {placeholders}"
security:
player_not_online: "Oyuncu çevrimiçi değil!"
frozen_message: "&cIP adresiniz değişti! Lütfen Discord DM üzerinden girişinizi doğrulayın."
dm_verify_title: "Giriş Doğrulama"
dm_verify_desc: "Şu IP adresinden bir giriş denemesi yapıldı: {ip}. Doğrulamak için aşağıdaki butona tıklayın."
dm_verify_button: "Girişi Doğrula"
verified_success: "&aGiriş doğrulandı! Artık oynayabilirsiniz."
verified_dm: "Girişinizi başarıyla doğruladınız."
verification_invalid: "Bu doğrulama isteği geçersiz veya artık etkin değil."
verification_expired: "Giriş doğrulamasının süresi doldu. Yeni doğrulama almak için tekrar bağlanın."
verification_wrong_user: "Bu doğrulama isteği farklı bir Discord hesabına ait."
verification_ip_changed: "Oyuncunun IP adresi tekrar değişti. Yeni doğrulama almak için tekrar bağlanın."
verification_save_failed: "Doğrulanan IP kaydedilemedi. Lütfen tekrar deneyin."
discord_unavailable: "&cDiscord doğrulaması gönderilemedi. Lütfen daha sonra tekrar deneyin."
kick_not_verified: "&cDiscord üzerinden girişinizi doğrulamanız gerekiyor!"
2fa_required: "&cİki Aşamalı Doğrulama etkin. Lütfen /2fa login <kod> komutunu kullanarak doğrulayın."
2fa_already_setup: "&cZaten 2FA etkinleştirilmiş."
2fa_setup_instructions: "&aQR kodunu taratın veya bu gizli anahtarı kullanın: &b{secret}"
2fa_map_given: "&aQR kodunu içeren bir harita envanterinize eklendi."
2fa_setup_success: "&a2FA kurulumu başarılı! Hesabınız artık güvende."
2fa_verified: "&a2FA doğrulaması başarılı. Hoş geldiniz!"
2fa_setup_expired: "&c2FA kurulumunun süresi doldu. /2fa setup komutunu yeniden kullanın."
2fa_rate_limited: "&cÇok fazla hatalı 2FA denemesi yaptınız. Bir dakika bekleyip tekrar deneyin."
2fa_storage_error: "&c2FA ayarı kaydedilemedi. Lütfen bir yöneticiyle iletişime geçin."
2fa_not_setup: "&c2FA etkin değil."
2fa_disabled: "&a2FA devre dışı bırakıldı."
2fa_disable_usage: "&cKullanım: /2fa disable <kod>"
invalid_code: "&cGeçersiz kod. Lütfen tekrar deneyin."
unlink_dm_request: "Minecraft hesap eşlemeni kaldırmak için aşağıdaki düğmeyle işlemi onayla. Bu istek 2 dakika geçerlidir."
unlink_dm_button: "Eşlemeyi Kaldır"
unlink_dm_failed: "&cDiscord onayı gönderilemedi. Eşleme güvenlik amacıyla kaldırılmadı."
unlink_confirmation_invalid: "Bu eşleme kaldırma isteği geçersiz, süresi dolmuş veya başka bir hesaba ait."
unlink_confirmed: "Minecraft hesap eşlemen güvenli şekilde kaldırıldı."
rewards:
salary_received: "&aHesabınız bağlı olduğu için maaşınızı aldınız!"
boost_received: "&d&lBOOST! &fTakviye yaptığınız için teşekkürler! Ödül kazandınız."
link_reward_received: "&aHesabınızı bağladığınız için ödül kazandınız!"
link_reward_limit_reached: "&cBağlantı ödülünü alma sınırına ulaştınız."
sync:
ban_reason: "Minecraft Sunucusundan Yasaklandı: {reason}"
kick_reason: "Minecraft Sunucusundan Atıldı: {reason}"
events:
join_title: "Oyuncu Katıldı"
join_desc: "**{player}** sunucuya katıldı."
quit_title: "Oyuncu Ayrıldı"
quit_desc: "**{player}** sunucudan ayrıldı."
death_title: "Oyuncu Öldü"
death_desc: "{death_message}"
advancement_title: "Başarım Kazanıldı"
advancement_desc: "**{player}** şu başarımı kazandı: **{advancement}**."
audit:
title: "NexDiscordLink Denetim Kaydı"
field_event: "İşlem"
field_actor: "Hesap/Oyuncu"
field_detail: "Ayrıntı"
event:
account_linked: "Hesap eşlendi"
account_unlinked: "Hesap eşlemesi kaldırıldı"
two_factor_enabled: "2FA etkinleştirildi"
two_factor_disabled: "2FA kapatıldı"
two_factor_verified: "2FA doğrulandı"
verification_failed: "Doğrulama başarısız"
ip_challenge: "Yeni ağ doğrulaması istendi"
ip_verified: "Ağ doğrulandı"
role_sync: "Rol senkronize edildi"
admin_action: "Yönetici işlemi"
commands:
player_only: "&cBu komutu sadece oyuncular kullanabilir."
help: "&bNexDiscordLink &7v{version} - Yapılandırmayı yenilemek için &b/nexdiscord reload &7kullanın."
link_usage: "Kullanım: /link"
link_already_linked: "&cZaten hesabınız bağlı!"
link_code_failed: "&cEşleme kodu oluşturulamadı. Lütfen tekrar deneyin."
link_code_generated_dm: "&aBağlantı kodunuz: &b{code}&a. Bu kodu bota DM üzerinden gönderin."
link_code_generated_modal: "&aBağlantı kodunuz: &b{code}&a. Kodu Discord bağlantı penceresine girin."
link_code_generated_both: "&aBağlantı kodunuz: &b{code}&a. Kodu bota DM üzerinden gönderin veya Discord bağlantı penceresine girin."
unlink_success: "&aHesap bağlantısı başarıyla kaldırıldı."
unlink_failed: "&cHesap bağlantısı kaldırılamadı. Lütfen tekrar deneyin."
unlink_2fa_required: "&eEşlemeyi kaldırmak için &b/eşlemesil <2FA kodu> &ekomutunu kullanın."
unlink_confirmation_sent: "&eEşleme kaldırma onayı bağlı Discord hesabınıza gönderildi."
unlink_not_linked: "&cHesabınız bağlı değil!"
reload_success: "&aYapılandırma yeniden yüklendi."
reload_started: "&eYapılandırma, veritabanı, ödül zamanlayıcısı ve Discord botu yeniden yükleniyor..."
reload_failed: "&cYeniden yükleme başarısız oldu. Tutarsız durumu önlemek için NexDiscordLink devre dışı bırakıldı."
no_permission: "&cBuna yetkiniz yok."
link_success_player: "&aDiscord hesabına başarıyla bağlandınız: &b{discord}"
2fa_usage: "&cKullanım: /2fa <kur|giris|kapat> veya <setup|login|disable>"
reset_reward_success: "&b{player} &aadlı oyuncunun ödül hakkı sıfırlandı."
reset_reward_usage: "&cKullanım: /nexdiscord resetreward <oyuncu|all>"
reset_reward_all_success: "&aTüm oyuncuların ödül hakları sıfırlandı."
player_not_found: "&cOyuncu bulunamadı."
role_sync_all: "&a{count} çevrimiçi oyuncu için rol senkronizasyonu başlatıldı."
role_sync_player: "&a{player} için rol senkronizasyonu başlatıldı."
reward_preview_header: "&bEşleme ödülü durumu: &7Alınan &f{claimed}&7, kalan &f{remaining}"
status_unknown: "Bilinmiyor"
status_enabled: "&aEtkin"
status_disabled: "&cKapalı"
status_ok: "&aHazır"
status_unavailable: "&cKullanılamıyor"
status_standalone: "Tek sunucu"
account_status:
- "&8&m--------------------------------"
- "&b&lDiscord Hesap Durumu"
- "&7Discord: &f{discord}"
- "&7Eşleme tarihi: &f{linked_at}"
- "&72FA: {two_factor}"
- "&8&m--------------------------------"
admin_status:
- "&8&m--------------------------------"
- "&b&lNexDiscordLink Sistem Durumu"
- "&7Sürüm: &f{version}"
- "&7Veritabanı: &f{database_type} &8- {database_status}"
- "&7Discord botu: {bot_status} &8(&f{guild_count} sunucu&8)"
- "&7Güvenli veri koruması: {security_status}"
- "&7Çalışma modu: &f{proxy_mode}"
- "&8&m--------------------------------"
update:
notification:
- "&8&m--------------------------------------------------"
- "&bNexDiscordLink &7güncellemesi mevcut!"
- "&7Mevcut Sürüm: &c{current_version}"
- "&7Yeni Sürüm: &a{new_version}"
- "&7İndir: &b{link}"
- "&8&m--------------------------------------------------"
link:
success: "**{player}** hesabına başarıyla bağlandınız!"
invalid_code: "Geçersiz veya süresi dolmuş kod."
already_linked: "Zaten bir Minecraft hesabına bağlısınız."
minecraft_already_linked: "Bu Minecraft hesabı zaten bağlı. Gerekirse yeni bir kod oluşturun."
failed: "Hesap bağlantısı kaydedilemedi. Lütfen tekrar deneyin."
code_in_use: "Bu kod şu anda doğrulanıyor. Lütfen kısa bir süre bekleyin."
rate_limited: "Çok fazla hatalı deneme yaptınız. Bir dakika bekleyip tekrar deneyin."
discord:
modal:
disabled: "Modal ile hesap eşleme bu sunucuda devre dışı."
embed:
title: "Hesabını Bağla"
description: "Minecraft hesabını Discord ile eşleştirmek için aşağıdaki butona tıkla."
footer: "NexDiscordLink Sistemi"
setup_sent: "Bağlantı mesajı gönderildi!"
success: "Başarıyla eşleşti!"
fail: "Eşleşme başarısız."
command:
no_dm: "Bu komut DM üzerinden kullanılamaz."
link:
description: "Minecraft hesabını bir kodla eşleştir"
option: "Minecraft sunucusunda oluşturduğun eşleme kodu"
missing_code: "Bir eşleme kodu girmelisin."
unlink:
description: "Minecraft hesap eşlemesini kaldır"
success: "Minecraft hesap eşlemen kaldırıldı."
failed: "Minecraft hesap eşlemesi kaldırılamadı. Lütfen tekrar deneyin."
help:
description: "NexDiscordLink komutlarını göster"
content: "**NexDiscordLink**\n`/eşle kod:<kod>` — hesabını eşleştir\n`/hesap` — eşlenen profili göster\n`/eşlemeyi-kaldır` — eşlemeyi kaldır\n`/yardım` — bu mesajı göster"
console:
disabled: "Konsol komutu yapılandırmada devre dışı."
invalid: "Bu komut geçerli değil."
not_allowed: "Bu komut yapılandırılmış izin listesinde değil."
success: "Komut yürütüldü: `/{command}`"
fail: "Komut yürütülemedi: `/{command}`"
profile:
description: "Bağlı profilinizi görüntüleyin"
not_linked: "Herhangi bir Minecraft hesabına bağlı değilsiniz!"
embed:
title: "Oyuncu Profili"
field_player: "Oyuncu"
field_uuid: "UUID"
field_status: "Durum"
status_online: "Çevrimiçi"
status_offline: "Çevrimdışı"
console:
enabled: "Eklenti başarıyla etkinleştirildi!"
disabled: "Eklenti başarıyla devre dışı bırakıldı!"
loading_config: "Yapılandırma yükleniyor..."
loading_lang: "Dil dosyaları yükleniyor..."
database_connected: "Veritabanı bağlantısı başarılı."
database_error: "Veritabanına bağlanılamadı!"
database_fatal: "Veritabanı başlatılamadı. Veri kaybını önlemek için NexDiscordLink devre dışı bırakıldı."
security_storage_fatal: "Hassas veri koruması başlatılamadı. NexDiscordLink devre dışı bırakıldı."
bot_starting: "Discord botu başlatılıyor..."
bot_started: "Discord botu {bot_name} olarak başlatıldı!"
bot_error: "Discord botu başlatılamadı: {error}"
bot_skipped_proxy: "Bu proxy node'unda Discord botu devre dışı; ortak MySQL eşleme kodları kullanılacak."
startup_config_loaded: "&a [✔] &fYapılandırma Yüklendi"
startup_lang_loaded: "&a [✔] &fDil Dosyaları Yüklendi"
startup_database_connected: "&a [✔] &fVeritabanı Bağlandı"
startup_bot_started: "&a [✔] &fDiscord Botu Başlatıldı"
startup_proxy_worker: "&a [✔] &fProxy Çalışan Node'u Hazır"
startup_ready: "&e Eklenti kullanıma hazır!"
doctor:
started: "&8[&bNexDiscordLink Doctor&8] &7Otomatik yapılandırma ve dil kontrolleri başladı."
severity_error: "&cHATA"
severity_warning: "&eUYARI"
finding: "&8[&bDoctor&8] [{severity}&8] &7{message}"
result_healthy: "&8[&bDoctor&8] &a{name} sağlıklı."
result_summary: "&8[&bDoctor&8] &f{name}: &c{errors} hata&7, &e{warnings} uyarı&7."
file_missing: "Gerekli {file} dosyası bulunamadı."
yaml_invalid: "{file} geçersiz YAML içerdiği için incelenemedi."
bundled_resource_missing: "Eklenti içindeki {file} kaynağı okunamadı."
config_missing_keys: "Kullanıcı yapılandırmasında {count} ayar eksik; eklenti içi varsayılanlar kullanılıyor. Örnekler: {examples}"
config_unknown_keys: "Kullanıcı yapılandırmasında yazım hatası olabilecek {count} bilinmeyen ayar var. Örnekler: {examples}"
config_wrong_type: "{path} değeri {expected} türünde olmalı, mevcut tür: {actual}."
bot_token_missing: "bot-token boş veya hâlâ örnek değeri kullanıyor. Değer güvenlik için yazdırılmadı."
invalid_enum: "{path} desteklenmeyen bir seçenek içeriyor."
invalid_number: "{path} desteklenen aralıkta bir sayı değil."
invalid_discord_id: "{path} geçerli bir 17-20 haneli Discord kimliği değil."
example_discord_id: "{path} hâlâ örnek Discord kimliğini kullanıyor."
invalid_reward_role_id: "rewards.link-rewards.discord-role-commands altındaki bir anahtar yapılandırılmış Discord rol kimliği değil."
invalid_url: "{path} geçerli bir HTTP/HTTPS adresi değil. Değer güvenlik için yazdırılmadı."
invalid_color: "{path} desteklenen bir renk adı, HEX veya RGB değeri değil."
proxy_requires_mysql: "proxy.enabled ayarı için database-settings.type: mysql kullanılmalıdır."
required_setting_empty: "Seçilen veritabanı modu için {path} zorunludur."
mysql_password_empty: "MySQL parolası boş. Değer güvenlik için yazdırılmadı."
chat_destination_missing: "chat-bridge açık ancak channel-id veya webhook-url yapılandırılmamış."
console_whitelist_empty: "Discord konsol komutu boş izin listesiyle açık; bütün komutlar reddedilecektir."
language_file_missing: "Seçili {file} dil dosyası bulunamadı; çalışma zamanı geri dönüşü bu sorunu gizleyebilir."
language_yaml_invalid: "Seçili {file} dil dosyasında geçersiz YAML var."
fallback_file_missing: "İngilizce geri dönüş dosyası {file} bulunamadı."
fallback_yaml_invalid: "İngilizce geri dönüş dosyası {file} geçersiz YAML içeriyor."
language_missing_keys: "Dil dosyasında {count} anahtar eksik; eklenti içi geri dönüş metinleri kullanılıyor. Örnekler: {examples}"
language_unknown_keys: "Dil dosyasında yazım hatası olabilecek {count} bilinmeyen anahtar var. Örnekler: {examples}"
language_wrong_type: "{path} dil anahtarı yanlış değer türünde."
language_missing_placeholders: "{path} dil anahtarında zorunlu yer tutucular eksik: {placeholders}"
language_extra_placeholders: "{path} dil anahtarında beklenmeyen yer tutucular var: {placeholders}"
security:
player_not_online: "Oyuncu çevrimiçi değil!"
frozen_message: "&cIP adresiniz değişti! Lütfen Discord DM üzerinden girişinizi doğrulayın."
dm_verify_title: "Giriş Doğrulama"
dm_verify_desc: "Şu IP adresinden bir giriş denemesi yapıldı: {ip}. Doğrulamak için aşağıdaki butona tıklayın."
dm_verify_button: "Girişi Doğrula"
verified_success: "&aGiriş doğrulandı! Artık oynayabilirsiniz."
verified_dm: "Girişinizi başarıyla doğruladınız."
verification_invalid: "Bu doğrulama isteği geçersiz veya artık etkin değil."
verification_expired: "Giriş doğrulamasının süresi doldu. Yeni doğrulama almak için tekrar bağlanın."
verification_wrong_user: "Bu doğrulama isteği farklı bir Discord hesabına ait."
verification_ip_changed: "Oyuncunun IP adresi tekrar değişti. Yeni doğrulama almak için tekrar bağlanın."
verification_save_failed: "Doğrulanan IP kaydedilemedi. Lütfen tekrar deneyin."
discord_unavailable: "&cDiscord doğrulaması gönderilemedi. Lütfen daha sonra tekrar deneyin."
kick_not_verified: "&cDiscord üzerinden girişinizi doğrulamanız gerekiyor!"
2fa_required: "&cİki Aşamalı Doğrulama etkin. Lütfen /2fa login <kod> komutunu kullanarak doğrulayın."
2fa_already_setup: "&cZaten 2FA etkinleştirilmiş."
2fa_setup_instructions: "&aQR kodunu taratın veya bu gizli anahtarı kullanın: &b{secret}"
2fa_map_given: "&aQR kodunu içeren bir harita envanterinize eklendi."
2fa_setup_success: "&a2FA kurulumu başarılı! Hesabınız artık güvende."
2fa_verified: "&a2FA doğrulaması başarılı. Hoş geldiniz!"
2fa_setup_expired: "&c2FA kurulumunun süresi doldu. /2fa setup komutunu yeniden kullanın."
2fa_rate_limited: "&cÇok fazla hatalı 2FA denemesi yaptınız. Bir dakika bekleyip tekrar deneyin."
2fa_storage_error: "&c2FA ayarı kaydedilemedi. Lütfen bir yöneticiyle iletişime geçin."
2fa_not_setup: "&c2FA etkin değil."
2fa_disabled: "&a2FA devre dışı bırakıldı."
2fa_disable_usage: "&cKullanım: /2fa disable <kod>"
invalid_code: "&cGeçersiz kod. Lütfen tekrar deneyin."
unlink_dm_request: "Minecraft hesap eşlemeni kaldırmak için aşağıdaki düğmeyle işlemi onayla. Bu istek 2 dakika geçerlidir."
unlink_dm_button: "Eşlemeyi Kaldır"
unlink_dm_failed: "&cDiscord onayı gönderilemedi. Eşleme güvenlik amacıyla kaldırılmadı."
unlink_confirmation_invalid: "Bu eşleme kaldırma isteği geçersiz, süresi dolmuş veya başka bir hesaba ait."
unlink_confirmed: "Minecraft hesap eşlemen güvenli şekilde kaldırıldı."
rewards:
salary_received: "&aHesabınız bağlı olduğu için maaşınızı aldınız!"
boost_received: "&d&lBOOST! &fTakviye yaptığınız için teşekkürler! Ödül kazandınız."
link_reward_received: "&aHesabınızı bağladığınız için ödül kazandınız!"
link_reward_limit_reached: "&cBağlantı ödülünü alma sınırına ulaştınız."
sync:
ban_reason: "Minecraft Sunucusundan Yasaklandı: {reason}"
kick_reason: "Minecraft Sunucusundan Atıldı: {reason}"
events:
join_title: "Oyuncu Katıldı"
join_desc: "**{player}** sunucuya katıldı."
quit_title: "Oyuncu Ayrıldı"
quit_desc: "**{player}** sunucudan ayrıldı."
death_title: "Oyuncu Öldü"
death_desc: "{death_message}"
advancement_title: "Başarım Kazanıldı"
advancement_desc: "**{player}** şu başarımı kazandı: **{advancement}**."
audit:
title: "NexDiscordLink Denetim Kaydı"
field_event: "İşlem"
field_actor: "Hesap/Oyuncu"
field_detail: "Ayrıntı"
event:
account_linked: "Hesap eşlendi"
account_unlinked: "Hesap eşlemesi kaldırıldı"
two_factor_enabled: "2FA etkinleştirildi"
two_factor_disabled: "2FA kapatıldı"
two_factor_verified: "2FA doğrulandı"
verification_failed: "Doğrulama başarısız"
ip_challenge: "Yeni ağ doğrulaması istendi"
ip_verified: "Ağ doğrulandı"
role_sync: "Rol senkronize edildi"
admin_action: "Yönetici işlemi"
commands:
player_only: "&cBu komutu sadece oyuncular kullanabilir."
help: "&bNexDiscordLink &7v{version} - Yapılandırmayı yenilemek için &b/nexdiscord reload &7kullanın."
link_usage: "Kullanım: /link"
link_already_linked: "&cZaten hesabınız bağlı!"
link_code_failed: "&cEşleme kodu oluşturulamadı. Lütfen tekrar deneyin."
link_code_generated_dm: "&aBağlantı kodunuz: &b{code}&a. Bu kodu bota DM üzerinden gönderin."
link_code_generated_modal: "&aBağlantı kodunuz: &b{code}&a. Kodu Discord bağlantı penceresine girin."
link_code_generated_both: "&aBağlantı kodunuz: &b{code}&a. Kodu bota DM üzerinden gönderin veya Discord bağlantı penceresine girin."
unlink_success: "&aHesap bağlantısı başarıyla kaldırıldı."
unlink_failed: "&cHesap bağlantısı kaldırılamadı. Lütfen tekrar deneyin."
unlink_2fa_required: "&eEşlemeyi kaldırmak için &b/eşlemesil <2FA kodu> &ekomutunu kullanın."
unlink_confirmation_sent: "&eEşleme kaldırma onayı bağlı Discord hesabınıza gönderildi."
unlink_not_linked: "&cHesabınız bağlı değil!"
reload_success: "&aYapılandırma yeniden yüklendi."
reload_started: "&eYapılandırma, veritabanı, ödül zamanlayıcısı ve Discord botu yeniden yükleniyor..."
reload_failed: "&cYeniden yükleme başarısız oldu. Tutarsız durumu önlemek için NexDiscordLink devre dışı bırakıldı."
no_permission: "&cBuna yetkiniz yok."
link_success_player: "&aDiscord hesabına başarıyla bağlandınız: &b{discord}"
2fa_usage: "&cKullanım: /2fa <kur|giris|kapat> veya <setup|login|disable>"
reset_reward_success: "&b{player} &aadlı oyuncunun ödül hakkı sıfırlandı."
reset_reward_usage: "&cKullanım: /nexdiscord resetreward <oyuncu|all>"
reset_reward_all_success: "&aTüm oyuncuların ödül hakları sıfırlandı."
player_not_found: "&cOyuncu bulunamadı."
role_sync_all: "&a{count} çevrimiçi oyuncu için rol senkronizasyonu başlatıldı."
role_sync_player: "&a{player} için rol senkronizasyonu başlatıldı."
reward_preview_header: "&bEşleme ödülü durumu: &7Alınan &f{claimed}&7, kalan &f{remaining}"
status_unknown: "Bilinmiyor"
status_enabled: "&aEtkin"
status_disabled: "&cKapalı"
status_ok: "&aHazır"
status_unavailable: "&cKullanılamıyor"
status_standalone: "Tek sunucu"
account_status:
- "&8&m--------------------------------"
- "&b&lDiscord Hesap Durumu"
- "&7Discord: &f{discord}"
- "&7Eşleme tarihi: &f{linked_at}"
- "&72FA: {two_factor}"
- "&8&m--------------------------------"
admin_status:
- "&8&m--------------------------------"
- "&b&lNexDiscordLink Sistem Durumu"
- "&7Sürüm: &f{version}"
- "&7Veritabanı: &f{database_type} &8- {database_status}"
- "&7Discord botu: {bot_status} &8(&f{guild_count} sunucu&8)"
- "&7Güvenli veri koruması: {security_status}"
- "&7Çalışma modu: &f{proxy_mode}"
- "&8&m--------------------------------"
update:
notification:
- "&8&m--------------------------------------------------"
- "&bNexDiscordLink &7güncellemesi mevcut!"
- "&7Mevcut Sürüm: &c{current_version}"
- "&7Yeni Sürüm: &a{new_version}"
- "&7İndir: &b{link}"
- "&8&m--------------------------------------------------"
link:
success: "**{player}** hesabına başarıyla bağlandınız!"
invalid_code: "Geçersiz veya süresi dolmuş kod."
already_linked: "Zaten bir Minecraft hesabına bağlısınız."
minecraft_already_linked: "Bu Minecraft hesabı zaten bağlı. Gerekirse yeni bir kod oluşturun."
failed: "Hesap bağlantısı kaydedilemedi. Lütfen tekrar deneyin."
code_in_use: "Bu kod şu anda doğrulanıyor. Lütfen kısa bir süre bekleyin."
rate_limited: "Çok fazla hatalı deneme yaptınız. Bir dakika bekleyip tekrar deneyin."
discord:
modal:
disabled: "Modal ile hesap eşleme bu sunucuda devre dışı."
embed:
title: "Hesabını Bağla"
description: "Minecraft hesabını Discord ile eşleştirmek için aşağıdaki butona tıkla."
footer: "NexDiscordLink Sistemi"
setup_sent: "Bağlantı mesajı gönderildi!"
success: "Başarıyla eşleşti!"
fail: "Eşleşme başarısız."
command:
no_dm: "Bu komut DM üzerinden kullanılamaz."
link:
description: "Minecraft hesabını bir kodla eşleştir"
option: "Minecraft sunucusunda oluşturduğun eşleme kodu"
missing_code: "Bir eşleme kodu girmelisin."
unlink:
description: "Minecraft hesap eşlemesini kaldır"
success: "Minecraft hesap eşlemen kaldırıldı."
failed: "Minecraft hesap eşlemesi kaldırılamadı. Lütfen tekrar deneyin."
help:
description: "NexDiscordLink komutlarını göster"
content: "**NexDiscordLink**\n`/eşle kod:<kod>` — hesabını eşleştir\n`/hesap` — eşlenen profili göster\n`/eşlemeyi-kaldır` — eşlemeyi kaldır\n`/yardım` — bu mesajı göster"
console:
disabled: "Konsol komutu yapılandırmada devre dışı."
invalid: "Bu komut geçerli değil."
not_allowed: "Bu komut yapılandırılmış izin listesinde değil."
success: "Komut yürütüldü: `/{command}`"
fail: "Komut yürütülemedi: `/{command}`"
profile:
description: "Bağlı profilinizi görüntüleyin"
not_linked: "Herhangi bir Minecraft hesabına bağlı değilsiniz!"
embed:
title: "Oyuncu Profili"
field_player: "Oyuncu"
field_uuid: "UUID"
field_status: "Durum"
status_online: "Çevrimiçi"
status_offline: "Çevrimdışı"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Open source under the MIT License
GitHub • Issue tracker • Support Discord
Made with care by Nexuby
GitHub • Issue tracker • Support Discord
Made with care by Nexuby
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.17, 1.18
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
NexDiscordLink - Advanced Discord Link Plugin is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.18, 1.19 and newer. Downloaded 488 times (via Spigot). Download it and open it directly in the game.