# ============================================================ # MailboxGUI-DiscBridge Configuration # ============================================================ # # This plugin connects MailboxGUI delivery events to DiscordSRV notifications. # # Premium setup: # - Install DiscBridge Premium on exactly ONE backend with DiscordSRV and linked accounts. # - All backends use MailboxGUI Premium; remote Discord commands use its network API. # - Network mode and backend identity are inherited automatically from MailboxGUI. # - Save edits, then run /mba discord reload to reload settings and templates. # MailboxGUI owns /mb settings discord and /mba discord, including localized roots. # DiscBridge registers a local command service; it does not register separate roots. # Synchronization adds missing settings and keeps owner values, unknown keys and comments. # Changed configuration files are backed up under backups/config before synchronization. # # ============================================================ # Configuration file version. # Do not change this unless a future update specifically tells you to. config-version: 4 # Integrated player commands are disabled for new and upgraded installations. # Enabling requires a connected DiscordSRV bot and an available account link manager. player-commands: enabled: false # Languages and command syntax are inherited from MailboxGUI config.yml. # In-game notices follow locale.default and locale.auto-detect-player-locale. # Command syntax follows MailboxGUI's locale.command-syntax settings. # Discord templates remain customizable in disclanguage/messages_.yml. # DMs use the player's saved /mb settings discord language choice, otherwise # MailboxGUI locale.default. Minecraft client language NEVER selects a Discord DM, # including when the recipient is online. Channel notices use locale.default. # Old independent locale defaults are backed up and retired during synchronization. # Saved player languages and notification preferences are preserved. # Server display name used in Discord messages. # Placeholder: {server} # # Text supports legacy & codes, compact HEX (ᆒDB), and visual MiniMessage # tags such as Server. # In-game messages render colors. Discord receives readable plain text without # Minecraft colors/tags; Discord template Markdown remains supported. # Interactive click/hover tags and custom font tags are not supported. # # Generic default to avoid branding a specific server into the plugin. # Server owners can customize this. server-name: "Minecraft Server" # Individual Discord direct-message notifications. # # These are used for one-recipient mail deliveries. # # DMs use local and remote MailboxGUI network delivery events on the designated notifier. direct-messages: # If true, DiscBridge may send Discord DMs for individual mail. # If false, individual Discord DMs are disabled globally. enabled: true # If false, online players will not receive Discord DMs unless they personally enable: # /mb settings discord online on # # Recommended default: false # Reason: online players already receive in-game MailboxGUI notifications. send-to-online-players-by-default: false # Duplicate protection. # # DiscBridge remembers recent MailboxGUI event IDs so the same Discord # notification can be suppressed when the same event is observed again. # Discord may accept a send before its result can be saved; retries can duplicate # that external send. Duplicate protection is not an exactly-once guarantee. # # This event-ID cache supplements the durable network dispatch journal. duplicate-protection: # If true, DiscBridge remembers recent MailboxGUI delivery event IDs. # # Recommended: true enabled: true # How long event IDs are remembered. # # This prevents duplicate Discord notifications if the same event is observed twice. remember-event-ids-minutes: 30 # Discord channel notification for admin/API mail sent to multiple recipients. # # Mass mail means 2 or more recipients. # # Recommended behavior: # - Send one channel message for mass mail. # - Do not send one immediate DM per recipient. # # In NETWORK_NODE mode, only the designated ready notifier posts these messages. admin-mass-mail-channel: # If true, DiscBridge may post one Discord channel message for mass mail. enabled: true # Discord channel ID where mass mail notices should be posted. # To get a channel ID: # 1. Enable Discord Developer Mode. # 2. Right-click the Discord channel. # 3. Click "Copy Channel ID". channel-id: "" # If true, {mention} becomes @everyone in the mass mail channel message. # If false, {mention} becomes blank. # # Your Discord bot role must have permission to mention everyone if this is true. mention-everyone: false # Optional Discord direct-message notifications for admin/API mass mail. # # Default: disabled. # # Reason: # Mass mail can target many players. The safer default is one Discord channel # post only. # # If enabled: # - DiscBridge checks actual DM eligibility before counting a recipient. # - Unlinked players do not count. # - Players who disabled DMs do not count. # - Players ignoring admin mail do not count. # - Online players do not count unless online DMs are allowed. # # DMs are queued and delayed to avoid sending too many Discord messages at once. admin-mass-mail-direct-messages: # If true, eligible recipients may receive individual Discord DMs # for admin/API mass mail. # Checked again before dispatch and retries; disabling this blocks pending mass DMs. # Channel jobs older than 24 hours do not stage new mass DMs. enabled: false # Maximum number of eligible DM recipients for one mass mail event. # # This counts only players who passed all DM eligibility checks. max-eligible-recipients: 10 # What happens when eligible recipients exceed max-eligible-recipients. # # channel_only: # - Send no mass DMs. # - Rely on the admin mass mail channel post. # # send_first_max: # - Send DMs only to the first max-eligible-recipients eligible players. over-limit-behavior: channel_only queue: # If true, DMs are spaced out instead of sent all at once. enabled: true # Minimum delay between queued DMs. The network journal polls every 5 seconds, # so actual spacing may be longer. Durable retries may repeat an external send # if Discord accepted it before its result could be saved. delay-between-dms-seconds: 3 # Additional attempts after a failed mass DM (0 means no transport retries). max-retries: 1 # Delay before retrying a failed mass DM; minimum 1 second. # Temporarily unavailable recipient policy is retried separately, without sending. retry-delay-seconds: 30 # Update checker. # # The website update endpoint is built into the plugin and is not shown here. # Settings below control the channel, automatic checks and administrator notices. # Protected Premium downloads require the website credentials configured below. # # This prevents server configs from depending on public URLs while still letting # admins choose release, beta, or alpha update channels. updates: # Enables or disables update checks. enabled: true # Release channel to check. # # Common values: # - release # - beta # - alpha channel: release # If true, checks for updates when the plugin starts. check-on-startup: true # If true, admins are notified when they join and an update is available. notify-admins-on-join: true # Permission required to receive join update notices. notify-permission: "mailboxguidiscbridge.admin" # Website purchase credentials. Set or clear from the server console only. # Protect this file and its backups; passwords are stored in plain text. auth: username: "" password: "" # Premium networking is inherited from MailboxGUI network/config.yml. # Network disabled: LOCAL mode. Network enabled: NETWORK_NODE mode. # After changing MailboxGUI networking, reload MailboxGUI and then /mba discord reload. # Install DiscBridge and DiscordSRV on ONE backend only. The notifier automatically # uses that MailboxGUI backend's server-id; no duplicate identity setting is needed. # Network sends wait for the MailboxGUI API, storage and presence to become ready. # Multiple fresh DiscBridge hosts pause dispatch and produce a console warning. # Remove the extra installation; stale host registrations expire after 45 seconds. # A shared renewable lease also guards overlapping instances during restarts. # Keep backend clocks synchronized, for example with NTP. # Shared player preferences are preserved. Unknown presence or unavailable preferences # pause affected sends rather than bypassing player notification choices. # Protect data/network-dispatch-staging.yml and the Discord outbox as private mail; # keep them during upgrades and reloads. Unreadable staging pauses new admissions. # Admitted notifications have durable retries. An external Discord send may succeed # before its result is saved, so retries are not an exactly-once delivery guarantee. # Use /mba discord networkstatus for state and /mba discord networksupport for a # sanitized report. Reports exclude credentials, tokens, mail bodies and items. # Pending retries counts this instance's work, not a network-wide total.