-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
uxmDiscordSync uses multiple configuration files, each responsible for a specific system. All files live under plugins/uxmDiscordSync/.
This is the primary file. It controls the Discord bot connection, database, core features, and the linking system.
discord:
token: "YOUR_BOT_TOKEN_HERE" # Bot token from Discord Developer Portal
guild-id: "YOUR_GUILD_ID_HERE" # Your Discord server (guild) ID
presence:
enabled: true
update-interval: 60 # Seconds between status message rotations
messages:
- type: "PLAYING"
text: "with %online_players% players"
- type: "WATCHING"
text: "%linked_accounts% linked accounts"
- type: "LISTENING"
text: "commands on %server_name%"
linking:
channel-id: "CHANNEL_ID" # Channel where the link embed is posted
linked-role-ids: # Roles given to all linked players
- "ROLE_ID_1"
code-expiration: 300 # Seconds before the linking code expires
embed: # Customise the link embed appearance
title: "Link Your Account"
description: "..."
color: "#5865F2"
button:
label: "Link Account"
emoji: "🔗"
modal:
title: "Enter Verification Code"
input-label: "6-Digit Code"See Database Setup for the full breakdown.
Each feature has an enabled flag:
chat-bridge:
enabled: false
server-stats:
enabled: false
discord-broadcast:
enabled: false
authorized-users:
- "DISCORD_USER_ID"
discord-server-command:
enabled: false
authorized-users:
- "DISCORD_USER_ID"
level-system:
enabled: false
two-factor:
enabled: false
punishment-sync:
enabled: falseControls aliases and permission nodes for every Minecraft command.
link:
aliases:
- link
- linkaccount
permission: ""
unlink:
aliases:
- unlink
permission: ""
linkstatus:
aliases:
- linkstatus
permission: ""
boost-reward:
aliases:
- boostprize
permission: "uxmdiscordsync.boostreward"
discord-reward:
aliases:
- discordreward
- dcreward
permission: ""
twofactor:
aliases:
- 2fa
permission: "uxmdiscordsync.2fa"
admin:
aliases:
- uxmdiscordsync
- uxmds
permission: "uxmdiscordsync.admin"cache:
enabled: true
ttl: 600 # Seconds to cache linked account data
max-size: 1000 # Maximum cache entries
async:
pool-size: 4 # Thread pool size for async operations
security:
rate-limit:
code-generation: 3 # Max code requests per minute per player
webhook-delay: 1000 # Milliseconds between webhook calls
debug: false # Enable verbose loggingSee Rank Synchronization for full details.
rank-sync:
enabled: true
sync-on-join: true
sync-on-link: true
sync-interval: 300 # Seconds between automatic syncs
remove-old-roles: true # Remove unmapped roles before adding new ones
nickname-sync:
enabled: true
format: "%player_name% (@%server_name%)"
rank-mappings:
- minecraft-group: "admin"
discord-role-id: "DISCORD_ROLE_ID"
priority: 100
post-link-commands:
- "say %player_name% has the admin rank"
- minecraft-group: "member"
discord-role-id: "DISCORD_ROLE_ID"
priority: 1See Boost Rewards for full details.
enabled: true
cooldown: 86400 # Seconds between claims (86400 = 24 hours)
cooldown-mode: "per-server" # "per-server" or "global"
rewards:
- "give %player% diamond 5"
- "eco give %player% 1000"
send-discord-message: true
notification-channel-id: "CHANNEL_ID"See Level System for full details.
level-system:
text:
enabled: true
xp-per-message: 5
cooldown: 60 # Seconds between XP awards per user
channels:
- "CHANNEL_ID" # Leave empty to allow all channels
voice:
enabled: true
xp-per-interval: 10
interval: 300 # Seconds between voice XP awards
levels:
- level: 5
required-xp: 500
commands:
- "give %player_name% emerald 1"
- level: 10
required-xp: 1500
commands:
- "give %player_name% emerald 5"See Two-Factor Authentication for full details.
two-factor:
enabled: false
timeout: 120 # Seconds player has to approve
ip-whitelist:
enabled: false
ips: []
geoip:
enabled: false
database-path: "GeoLite2-City.mmdb"
on-deny:
action: kick # "kick" or "ban"
message: "2FA denied."
freeze-player: true
embed:
title: "Login Verification"
color: "#FF9900"See Punishment Sync for full details.
See Logging for full details.
audit-log:
enabled: true
webhook-url: "https://discord.com/api/webhooks/..."
chat-log:
enabled: false
webhook-url: "https://discord.com/api/webhooks/..."
max-messages-per-minute: 30
ignore-prefixes:
- "/"
- "!"
join-leave-log:
minecraft:
enabled: true
webhook-url: "https://discord.com/api/webhooks/..."
discord:
enabled: true
webhook-url: "https://discord.com/api/webhooks/..."Master switch for the custom Discord commands system.
custom-commands:
enabled: trueIndividual custom commands live in the discord-commands/ folder. See Custom Commands.
| Change | Reload (/uxmdiscordsync reload) |
Restart Required |
|---|---|---|
| Message text | Yes | No |
| Feature enable/disable | Yes | No |
| Rank mappings | Yes | No |
| Bot token | No | Yes |
| Database type | No | Yes |
| Java pool size | No | Yes |
⚙️ Setup
🔗 Core Systems
✨ Features
📋 Logging
💬 Commands
🔧 Advanced