DiscordSRV icon

DiscordSRV -----

A Minecraft to Discord and back linkage plugin.




Additions
  • Chatty v3 support (Thanks, sub-kek)
  • Discord -> Minecraft message format options now support a %userid% placeholder (Thanks, fres621)
Fixes
  • Edge case with custom hidden advancements throwing an error
  • [Paper and forks only] output from chat channel console command commands not being captured when the plugin implementing the command uses Adventure (Thanks, sub-kek)
  • Discord messages from hooked chat plugins that were broadcasted to console no longer show an unparsed %chatcolor%placeholder
  • Alerts used to not work for events that shared their HandlerList (Thanks, tangjin0418)
  • "Message blocked by harmful links filter" error spam when a user sends a harmful link through minecraft chat that is blocked by discord
  • Fix issues with 1.21.3+ sound changes (#1773)
Changes
  • Web proxy options now apply to websocket proxy settings
  • Changed the default ProxyHost value to not include a scheme in the url. This option only works when using just the domain name (example.com) or just an ip address (127.0.0.1)
We recently created a form for appealing a ban from our Discord support server. If you’ve been banned (and especially if your account was hacked) you can request an unban here: https://discordsrv.com/discord/ban-appeal
----------, Jan 3, 2025

Additions
  • Web proxy support (Thanks, ItzMiracleOwO)
  • Norwegian translation (Thanks, RemixedX)
  • %discordsrv_user_boost_status% PlaceholderAPI placeholder for user boost status (Thanks, thewilloftheshadow)
  • PAPI placeholders for filtered top Role
  • Support for competing and custom bot statuses (Thanks, PadowYT2)
Fixes
  • Discord regexes not being applied to attachment URLs
  • NullPointerException when getting console channel ID
  • Advancements not being displayed in chat with their proper names
  • Formatting issue with reply messages
  • Linked accounts not being migrated to the new format on first restart
  • Advancement messages not sending on some 1.17.x-1.18.x paper versions
  • MySQL driver deprecation error on Paper
  • Potential data loss when using file for linked accounts
  • "Unknown Message" errors after deleting a message in the console channel
  • Grammatical error in French translation (Thanks, PtitLegume)
  • Errors in console on join, leave, death and advancement on 1.20.6 Minecraft
  • Issues with hover and click components
  • Fixed category option blank check in voice module (Thanks, Bermiin)
  • Fixed false error message for AvatarUrls using {texture} placeholder on offline servers
  • I/O error that would appear when shutting down the server
  • New linked accounts file format not saving correctly
  • Errors when message in link channel is deleted
  • Linked accounts not being properly removed if player's UUID started with a digit
  • Corrected a few Japanese translations (Thanks, renorari)
Changes
  • All legacy color codes are now stripped from PlaceholderAPI placeholder values
  • Improved Chinese translation (Thanks, SamLam140330)
  • Switched default avatar image provider to crafthead.net due to issues with Crafatar
  • AvatarUrl values using Crafatar will be automatically reset to defaults during config migration as Crafatar doesn't allow usage with Discord anymore
  • Improved French translation (Thanks, PtitLegume)
Removals
  • Comments with usernames in account links file
  • Removed DebugLevel option & /discord debug in favor of newer /discord debugger command
Developers
  • Stopped shading in old JetBrains annotations
  • Lombok has been removed from all API classes
----------, Aug 3, 2024

Developers: the AccountLinkManager class was converted to an interface from a class. Plugins will need to be recompiled as Java will complain about the change when trying to access DiscordSRV's AccountLinkManager instance.

Additions
  • Switched to "append only" file for storing linked accounts
  • Folia support (Thanks, kugge)
  • nChat support (Thanks, nickuc)
  • Danish translation (Thanks, Tauses)
  • Ukrainian translation (Thanks, FenixInc330)
Fixes
  • Global display names not showing up in Discord -> Minecraft chat
  • Experiment_WebhookChatMessageDelivery not being processed by GameChatMessagePostProcessEvent (Thanks, Gabo6480)
  • Linked discord role config option not working with role IDs (Thanks, burturt)
  • Advancements with "announce-to-chat: false" showing up in chat
  • DiscordSRV picking up changes in events after DiscordSRV's listener is called
  • Linked accounts not always being saved at shutdown
  • Now parsing the discriminator as a string, not a number
  • Console stripping
  • Sanitizing ANSI codes from Discord messages
  • Ban sync overwriting ban messages
  • Backslashes are now escaped in Discord markdown to prevent bypassing
  • The ability to bypass colour code filtering when you don't have a role in DiscordChatChannelRolesAllowedToUseColorCodesInChat
  • Texture string extraction
  • Hidden advancements being shown on newer Minecraft versions
  • Click events not working in components via Adventure version upgrade
  • Whitespace in configs
  • All messages in the chat channel being processed as commands if DiscordChatChannelConsoleCommandPrefix was empty
Changes
  • Changed some words in the Polish translation (Thanks, Chubercik)
  • Updated Japanese config.yml translation (Thanks, Takeno-hito and siyukatu)
  • Bots are now blocked in the console channel by default
  • Make the JDBC port number optional (Thanks, PeyaPeyaPeyang)
Removals
  • JSON storage for linked accounts
Developers
  • Converted AccountLinkManager into an interface to alleviate confusing naming conflict with AbstractAccountLinkManager
  • Fixed not being able to use JDA with jar from the repository
  • Changed quit listener priority from LOWEST to LOW
  • Plugin integrations can now register global slash commands through DiscordSRV's API
----------, Jan 5, 2024

Fixes
  • Advancements for unlocking recipes causing an advancement message in Discord on 1.19.4
  • Advancements which aren't marked as sending to chat causing an advancement message in Discord on 1.19.4
  • System.out debug log message when using chat channel console executor
  • Encoding of config files (caused some languages files to be garbled)
  • Default player command response regex filter
  • Fix DiscordConsoleChannelLevels being broken with some locales
  • Fix using "link" channel causing "you must be linked" message
Changes
  • Bots are now ignored in the account linking channel
Developers
----------, Mar 20, 2023

Additions
  • Add the SuperVanish fake join/leave messages back after being removed accidentally (Thanks, thewilloftheshadow)
  • Allow voice network channels to be visible
Fixes
  • Paper crashing when DiscordSRV is incorrectly configured (due to the "Paper Plugins" update)
  • Concurrency issue with getting the total player count
  • Hide potential JDBC warning on startup
  • Attachment messages not having PlaceholderAPI placeholders replaced (Thanks, sudura)
  • Config migration when ConfigVersion is the default placeholder
  • ChannelUpdater only applying the shutdown format to text channels
  • Corrected softdepends
  • Only ackCheck slash commands if an API provider handled it
Changes
  • Slightly tweaked slash command logging (Thanks, LOOHP)
Removals
  • Plugin upload feature (due to numerous issues)
  • Voice activation permission setting (can be specified on the voice category's permissions instead)
Developers
  • Updated JDA to JDA 4.4.0_352.fix-3
----------, Feb 20, 2023

A special thank you to everyone who contributed to this update, names are featured below

Additions
  • Account linking via text channels (Thanks, Kamesuta)
  • DiscordChatChannelBlockWebhooks config option to allow forwarding webhook message into Minecraft (Thanks, ANutley)
  • Show stickers in minecraft chat the same way attachments are shown
  • Stats channels (Thanks, Dinty1)
  • Mention placeholder to link message (Thanks, Kamesuta)
Fixes
  • Webhook creation failing with USERNAME_INVALID_CONTAINS, usernames with Discord not having their messages forwarded to Discord
  • Don't log InterruptedIOExceptions during shutdown
  • Required link module "in any guild" check only checking the main guild (Thanks, ANutley)
  • Memory leak when the console channel isn't configured
  • Removed the hidden respect chat plugins option from the Chinese configuration (Thanks, BoredManPlays)
  • Error when a linked user joins a server different than the one that contains the Linked role
  • NPE in the help command when attempting to look up descriptions for commands that don't exist
  • ERROR IN Protocol1_19To1_18_2 IN REMAP OF CHAT_MESSAGE (0x0F) with ViaVersion
  • Concurrency issue in console appender
  • Linked command now prioritises Discord tag over player name
Changes
  • Bumped Adventure/MiniMessage versions (Thanks, Draycia)
  • The LunarClient legacifying feature has been removed as the underlying issue was fixed
  • Set a limit of 20 concurrent requests to the http client used for Discord connections
  • Debug reports include more information about threads and scheduler tasks
  • PlaceholderAPI support for CodeGenerated and DiscordCommandFormat
Developers
  • VanishHook is now deprecated please use the "vanished" metadata key instead
  • Expanded WebhookUtil functionality to allow easier integration of interactions (Thanks, LOOHP)
  • Slash Command API (Inspiration, BlueTree242. Improvements, LOOHP)
  • Added event for player list command (Thanks, LOOHP)
  • All game events now include the Bukkit event that triggered them (Thanks, LOOHP)
----------, Sep 20, 2022

Minor update with fixes for v1.25.0; be sure to read the v1.25.0 changelog if you haven't already because it was a large update

Additions
  • DiscordConsoleChannelUseCodeBlocks config option to disable the use of code blocks in the console
Fixes
  • Lag spike when running commands in the console channel
  • Fixed a number of issues with the new logging system
  • Website links from Discord not being clickable
  • Catch errors in DiscordConsoleChannelLevels input
  • Allow having a empty list of log levels in DiscordConsoleChannelLevels
  • Disabled the JDA shutdown hook
  • Stopped using startsWith to check if plugins are installed
  • Fix color formatting codes not always being stripped in log output
Changes
  • Remove client detection via plugin message channel registering, due to false positives
  • The intent disconnect message now also includes the server messages intent
----------, Mar 16, 2022

Additions
  • LunarClient users will now receive a notice (i.imgur.com/zuL1Q8r.png) telling them their user experience is being degraded and command responses sent to them will not have hover/click features at all. The notice can be disabled with the EnableIncompatibleClientAlert config option. Please see #1294 for more details
  • Fancy new console logging with logger name and color support
  • Hex support to the %discordsrv_user_top_role_color_code% placeholder
  • The online status of the bot is now configurable
  • %discordname% and %discordusername% placeholders to the Experiment_WebhookChatMessageUsernameFormat option
  • Console-specific timestamp format
  • The MinecraftMentionSound config option to disable hearing a sound when somebody "@mentions" your name from Discord
  • Documentation about ids to DiscordRoleNameToAddToUser
  • Unix timestamps placeholders for startup, shutdown, console messages and the topic updater
  • Config option to block bots in the console channel
  • %deathmessagenoescapes% placeholder
  • Blacklist option for DiscordChatChannelPrefixRequiredToProcessMessage
Fixes
  • DiscordLinkedAccountRequired message not sending when the original message is longer than can fit in the format
  • Compatibility with headless java installations
  • Comment on Channels option regarding reloadability
  • Users being able to use %toprolecolor% in their Discord messages and having it parsed in-game
  • Alerts not working whilst on a very old Minecraft version
  • Advancements throwing a error on servers with unexpected nms mappings/no nms at all
  • Error with some users with clyde in their username
  • DiscordChatChannelEmojiBehavior not working as intended
  • The CancellationDetector was rewritten to fix issues with some plugins when debugging
Changes
  • Replaced the default watchdog message with a clearer one
  • Advancement messages will not be sent if they were acquired in a world where the "announceAdvancements" gamerule is disabled
  • DiscordChatChannelGameFilters are now applied to message content when using Experiment_WebhookChatMessageDelivery
  • The Enable option under Webhook in the messages.yml MessageFormat options has been renamed to Enabled for consistency
  • Discord to Minecraft messages can now use placeholders that only need a offlineplayer when the user is linked
  • Updated Japanese translation for linking.yml
  • Regex filters are applied to webhook username & content now
  • Player unban check now runs asynchronously
Developers
  • Updated JDA 4.3.0_349. We do not currently intend to update to JDA5, however if we decide to do so we'll give plenty of notice so plugin developers will have time to prepare
  • Added VentureChatMessagePreProcessEvent and VentureChatMessagePostProcessEvent
----------, Mar 8, 2022

Additions
  • Support for role IDs and @everyone in role-related config options
  • Support for Discord replies (through a new placeholder in the DiscordToMinecraftChatMessageFormat)
  • A discordsrv:server_id LuckPerms context
  • Support for newlines (\n) in /discord broadcast
  • PlaceholderAPI placeholder support for playerlist command formats
Fixes
  • Default Polish translation being broken
  • Other inconsistencies in translated config files
  • Issues with some linking rewards
  • Usernames being escaped for avatar urls when using VentureChatBungee
  • VentureChatBungee avatars converting color codes
  • Nickname sync being executed on players when they join regardless of whether they have permission
  • RGB colors not working with most chat hooks
  • DiscordChatChannelAllowedMentions not being reloaded when /discord reload is used
  • Users' nicknames being removed on unlink even if nickname sync is disabled
  • Group synchronization looking up players that might not have associated player data
  • Blocked players from being able to hide urls in webhook messages
Changes
  • Non-authoritative groups/roles are now removed on unlink
  • Let alerts listen to DiscordSRV's own events
  • The console channel's log appender is not fully asynchronous
  • Split debug options into categories
Removals
  • Drop UltimateChat support (outdated plugin, caused build issues)
Developers
  • Updated JDA to 4.3.0_310
  • Added a DiscordConsoleCommandPreProcessEvent and DiscordConsoleCommandPostProcessEvent
----------, Sep 9, 2021

Additions
  • Multiline config migration
  • Add Estonian translations back
  • Added %online% to DiscordGameStatus
  • Show/hide/:name: options for emojis, :name:/hide for emotes
  • Added %displayname% and %username% to Experiment_WebhookChatMessageFormat
  • Added discord name & discriminator for nickname synchronization
  • Added permission (discordsrv.nicknamesync) for nickname synchronization (granted by default)
  • Polish translation
  • A new LuckPerms context: discordsrv:role_id
Fixes
  • Error with avatar url generation on 1.17
  • Error with ViaVersion (due to api changes)
  • Fix "global" case sensitivity issue with Discord -> MC chat
  • Fix watchdog messages not finding the proper channel
  • Markdown gets escaped on chat channel console command responses now
  • Spoilers, quotes & code blocks are escaped now
  • %online% in the game status including vanished players
  • Some messages relating to the plugin being disabled have been improved/fixed
  • Timed group synchronizations being forced to be Minecraft -> Discord
  • %primarygroup% %world% and %worldalias% placeholders not working in playerlist command
  • DiscordCommandFormat not being clickable/having the wrong link by default
  • Spanish messages.yml not including LinkingError
  • Players remaining on the server after being banned on Discord when ban synchronization is on
  • Fix VentureChat %channelcolor% placeholder being blank in ChatChannelHookMessageFormat
  • All mentions of the same type having the same subject rendered when using reserializer
Changes
  • The message stating Vault is missing won't be printed if group synchronization isn't configured anymore
  • Made the JDBC value invalid message not print with the default value
  • Reduced the amount of voice missing permission messages
  • Chat channel command responses now group responses sent within 3 ticks
  • LuckPerms context data will only be provided from caches now
  • Updated some bStats statistics
  • RGB colors are automatically downscaled on servers that aren't compatible with RGB clients when converting to legacy text
  • Added Essentials' /list command to the default console filter (due to Multicraft's crash detection spam)
  • Webhooks per channel reduced to just one because of Discord design decisions
Developers
  • Death and achievement events now include the Bukkit event that triggered the event to occur
  • Added DiscordGuildMessagePreBroadcastEvent
----------, Jun 15, 2021

Additions
  • RGB & JSON text
  • Added support for Paper's (modern) PaperChatEvent with config option UseModernPaperChatEvent
  • Role aliases
  • Fake join/leave functionality for SuperVanish
  • The webhook message format can be modified now
  • Date & time formats + timezone now customizable in config
  • Added %online% placeholder in DiscordGameStatus for people without PlaceholderAPI
  • Added ability to set Discord -> MC format per channel by adding "_channelname" suffix to DiscordToMinecraftChatMessageFormat
  • Allow setting "status" channel for server start/stop messages
Fixes
  • TownyChat channels not working when adding a new channel name and /discord reloading
  • Various fixes related to the voice module's automatic permission setting
  • Errors with advancements
  • Users not getting kicked for unlinking when require link module is enabled
  • UUID being included in account link messages twice
  • Nag for requesting linked account information with the LuckPermsHook
  • Textures not working for avatar urls on non-slim skins
  • Usernames with spaces have their avatar url encoded now
  • Linked accounts file backend now more fault tolerant
  • Fix not being able to properly specify Dynmap target channel
Changes
  • Removed Estonian translations because identical to English
  • Korean translation corrections
  • Server start and stop messages can now always mention roles and everyone or here
  • Bot token stripping from debug reports now covers newer tokens better
  • RespectChat has been removed from the default config and using it will result in a big error
  • /discord broadcast allows pinging everything again
  • The player quit listener is now at lowest priority, allowing VanishNoPacket vanish status to be used for deciding if the message will be hidden
  • Players are removed from groups instead of roles if synchronization is one way from Discord to Minecraft
----------, Apr 8, 2021

Fixes
  • bStats causing MySQL queries (when MySQL is enabled) on the main thread when collecting data
  • Avatar URLs being invalid because of PlaceholderAPI
  • Performance issues while using alerts
  • Fix rare issue with console channel messages going over character limit
  • Various other fixes
Changes
  • Blacklisted BlockPhysicsEvent for alerts (reduces alerts lag)
  • Voice module error messages for lacking permissions updated
  • Retrieve {texture} placeholder for avatar URLs from NMS instead of API
Developers
  • Add AccountLinkManager#getLinkedAccountCount
----------, Jan 21, 2021

Additions
  • The voice module forces the lobby to not allow speaking again
  • "playerlist" command now orders players alphabetically
  • Added {avatar} placeholder for avatar urls, remove {timestamp}
  • Allow alerts to be ran synchronously if required
Fixes
  • Duplicate chat messages after disabling DebugMode
  • A plus being in the wrong place in the Chinese configuration
  • Enforce allowed mention types on webhook messages
  • Various JDBC/main thread issues, nag in the future
  • Fix manual /discord link command not being usable from console
  • Search for & attempt "event.getPlayer()" on non-PlayerEvent events going to alerts
Changes
  • Relocate Gson because of JSON conflicts
  • Switched avatar service back to Crafatar because of Minotar unreliability
Developers
  • Queries for linked accounts on the main thread will lead to a nag (and exception in the future), either use another thread or use getDiscordIdBypassCache/getUuidBypassCache
----------, Jan 9, 2021

Additions
  • Filter for the list command by default
  • The linked role is now given on player join, if they don't they lose the role
  • GroupRoleSynchronizationCycleCompletely option to change whether group synchronization cycles sync the full member list (default false)
  • Add discordsrv.link.others permission check to manual link command
  • Add detailed errors for invalid regex patterns
  • Add DiscordChatChannelAllowedMentions option to customize which types of @mentions are allowed in Minecraft to Discord messages
Fixes
  • Regexes not working properly
  • Fix wrong placeholder delimiters in JDBC account link message
  • Fix falloff option for voice module
  • Fix IgnoreCancelled in alerts
  • Various other small fixes
----------, Dec 24, 2020

Additions
  • Added API methods for sending fake join/leave messages
  • Added multi regex pattern-replacement options for Discord <-> Minecraft and console messages (previous filtering options are now gone)
  • Group synchronization can be one way
  • Added a config option for uploading plugins into the console channel and them being added to the server automatically (disabled by default)
  • Add message prompting the user to check if they copied the client secret instead of bot token when the token in the config is 32 characters long
  • Add support for target selectors in the broadcast command
  • Add linked nickname back to people when they rejoin the server
  • Added the EnablePresenceInformation config option for keeping presence data for some of our PlaceholderAPI placeholders
  • Accounts can now be linked together manually, /discord link <minecraft username/uuid> <Discord user id/username#discriminator>
  • discordsrv.resync is now included in discordsrv.admin
  • Added debug messages for invalid bot token and disallowed intents
  • Alerts now accept channel ids in the Channel option
  • Added a options to block or bypass banned players in the require linked account module
  • Added PlaceholderAPI compatability to DiscordConsoleChannelFormat
Fixes
  • Fix for usernames containing "Clyde" not sending as a webhook message
  • Fixed a error when the plugin is disabled on the wrong thread
  • Fixed fields not being registered for embed messages
  • Fixed a error when Fields aren't defined for a alert
  • Fixed BungeeCord's chat api being included in the jar
  • Fixed ForcedLanguage not being loaded in properly
  • Fixed the chatting prefix option name in the bstats features pie
  • Fixed some issues with a incompatible Chatty version
  • Fixed color code stripping not happening before DiscordConsoleChannelDoNotSendPhrases is processed
  • Fixed lag with LuckPerms contexts & the MySQL linked accounts backend
  • Fix a NPE in Debug generation
  • Fixed group synchronization with managed roles not working (always Discord -> Minecraft)
  • Fixed the bot not giving it's self permission to move members in voice channels
  • Fixed Mute users who bypass speak permissions in the lobby config option not being checked
  • Advancement names should now match the ones that are displayed ingame
  • Fixed role pings in the server watchdog
  • Fixed the cancellation detector not detecting chat listeners registered before it is enabled
Changes
  • Made more messages translatable in the messages.yml
  • The voice module has been partially rewritten, and should now work faster than before
  • The voice module's strengths are now split into horizontal and vertical
  • Changed member caching to keep all members in cache, also fixed some things that report how many members are online in the main Discord server
  • Updated to LunaChat's API to 3.x
  • Changed the internal linked account map to be more efficient with looking up by player
  • Moved alerts to be fully asynchronous, reducing lag
  • The plugin now disables itself if the token isn't valid (not set or too short)
  • Only log vault groups once, log both permission grants & denies in-line in group sync
  • Make zPermissions group sync command triggers case insensitive
  • The console channel id is now reloadable
  • The PlaceholderAPI expansion now allows lookups via OfflinePlayer
  • Vanished players will no longer be nickname synchronized to keep them hidden
  • Stacktraces are now visible in debug reports
  • The bot now forces the Speak permission to be denied to the default role in voice lobbies
----------, Dec 11, 2020

Discord is going to require users to specify if the bots require advanced information about server members on October 7th. DiscordSRV requires one of these options to be enabled for it to function properly. You will need to enable this for your bot(s) and update DiscordSRV before October 7th.

Note that we updated the Installation instructions on the wiki to already enable this on the 27th of May, so if you've installed DiscordSRV using those instructions you likely already have this option checked. All that's left is updating the plugin to 1.20.0

If you haven't, you can enable it for each bot by doing the following:
  1. Go to https://discord.com/developers/applications & click on your DiscordSRV bot.
  2. Click on the "Bot" tab at the left.
  3. Enable the "SERVER MEMBERS INTENT" option under "Privileged Gateway Intents" and click "Save Changes".
Additions
  • Added the NoopHostnameVerifier debug option
  • Added support for Chatty chat plugin API when it's released
  • Added support for pre/suffixing console messages
  • You can now separate awards/broadcasts/deaths/dynmap/join/leave/watchdog into their own channels in the config as opposed to everything being sent to the main channel
  • Warning for having the PlaceholderAPI expansion installed (it’s now integrated!)
  • Added JDA events to alerts
  • Added logging for scheduler tasks that still run during onDisable & make MCStats use a different thread (to get Paper to hopefully not yell at us (hopefully))
  • Added DiscordSRV to list of PlugMan ignored plugins
  • Added %usernamenoescapes% and %displaynamenoescapes% #825
Changes
  • The broadcast command now accepts legacy (&3, &4, etc.) color codes if the broadcast reserializer is enabled
  • Group synchronization debug messages now contain a lot more information about why the bot can't interact with users
  • Blacklisted PlayerHandshakeEvent and PlayerChatEvent* events from alerts
  • Made events in alerts register only the ones being used
* AsyncPlayerChatEvent is recommended instead. The normal (sync) PlayerChatEvent was causing Paper to switch the entire chat to sync mode which broke a lot of things, one of them being team colors.

Fixes
  • Cleaned up the Russian translation files (Thanks, DelfikPro!)
  • The UltimateChat hook now works :)
  • Lots of fixes to alerts (including command alerts not triggering, most event alerts not triggering, team colors breaking & getting disconnected with an invalid packet error)
  • Fix NPE with reload command & alert listener
  • discordsrv.sync.deny. should be discordsrv.sync.deny. in the comments
  • Fixed rgb colors not being removed from console messages sent to Discord
Developers
If you need any of the following information:
  • Discord server invites
  • Discord server presences**
  • Discord server message reactions
  • Discord server message typing
  • Direct message reactions
  • Direct message typing
You will need to indicate that to DiscordSRV with DiscordSRV.api.requireIntent(intent)

If you run into an issue with the API and can’t figure out what to do, feel free to hop into our #coding channel and we will help you sort it out.

** This intent is privileged, Discord requires that the user enables the intent on the Discord developer portal. This requires the CLIENT_STATUS and/or ACTIVITY cache flag(s), which can be indicated with DiscordSRV.api.requireCacheFlag(cacheFlag)
----------, Sep 28, 2020

Now built for 1.16.1 though 1.19.0 worked mostly fine on 1.16 already.
RGB coloring options will come at a later date when libraries have stable support for it.

Additions
  • Alerts. This is a very advanced feature of DiscordSRV that I expect most people to never touch.
    It allows you to send messages to a Discord channel whenever a given event is called or command executed.
  • Message embed formats now have an (optional) "Embed.Enabled" property
  • Now able to force linked Discord accounts to be present in given Discord server(s) to play
  • The VentureChat hook's BungeeCord functionality is now disabled by default (can be re-enabled by setting VentureChatBungee to true in the config.yml)
  • Vanish checks for joining & leaving players
  • Allow '\n' in DiscordCommandFormat
Changes
  • The JDBC account link manager now caches single queries for 45 seconds
Fixes
  • Odd issue with Paper and invalid packets during login
  • Issue with config migration in ConfigVersions with hashes
  • Fixed warnings about missing config entries for Maps' default values
  • VentureChat hook now processes fully when possible (BungeeCord functionality doesn't allow this)
  • The successfully migrated config debug message now says the new instead of the old version
  • NPE when determining the user's effective name from the main guild when they're not in the main guild when running linked/unlinked commands
  • Group changes are now async when LuckPerms is installed
  • DiscordConsoleChannelDoNotSendPhrases logic fixed
  • Cancel RestActions when plugin shuts down
  • Various other fixes
----------, Jul 9, 2020

Additions
  • LuckPerms context support (account linked, boosting server, has role)
  • Environment variables for limiting uploading plugins via the console channel and disabling update checks
  • Join, leave & death messages are now embeds & can be sent over webhooks (what you have set for these will be overridden with the default)
  • New VentureChat hook that supports BungeeCord channels
  • Dynmap web chat support
  • /discord language command to change plugin's language more easily
  • Added other plugin listeners to debug reports for common events
  • Automatic top role color translation experiment
  • Automatic nickname updater, and customizable nickname format
  • Debugs now fall back to saving to a zip if an exception occurs or uploading takes more than 20 seconds
  • Webhooks now support phrases from DiscordChatChannelCutPhrases
  • Webhook avatar & name can now be set to the player's linked Discord account's info
  • Death Message events were added to the API
  • Added a error when deleting voice channels fails (voice module)
  • Added some debug messages for linked commands
  • Added a default rest action failure handler
  • Some common issue detections are now included at the beginning of debug reports
  • The token can now be put into a seperate file (.token) or an environment variable (DISCORDSRV_TOKEN)
  • The link code in /discord link can now be copied by clicking on the message on 1.15+ clients
  • /discord broadcast can contain PlaceholderAPI placeholders now
  • Username placeholder for Discord -> Minecraft messages
  • %displayname% placeholder to DiscordAccountLinked
  • Webhook username configurability with Experiment_WebhookChatMessageUsernameFormat
Changes
  • Completely revamped the group synchronization system to work both ways (Discord <-> Minecraft) using Vault and while players are offline
  • The topic updater’s default of 5 minutes changed to 10 minutes to comply with Discord's recent rate limit change. Minimum allowed time has been changed from 5 minutes to 10 minutes.
  • The DiscordChatChannelPrefix option was renamed to DiscordChatChannelPrefixRequiredToProcessMessage because people didn't know what it's purpose was, and didn't read the comment
  • Changed all "sleep interrupted" log messages to debug instead of debug/warning
  • Couple privacy oriented changes for debug reports
  • DiscordChatChannelConsoleCommandPrefix no longer requires a space after the prefix
  • The MCDiscordReserializer config option was split into 3 (Broadcast, Minecraft -> Discord, Discord -> Minecraft)
  • The permissions.txt file of debug reports has more permission info as well as console, guild and voice permissions
  • Removed the dot at the end of the /discordsrv debug response (some users have had trouble with the dot)
  • The voice lobby's permissions aren't forced to allow everyone to join the channel
  • Improved the error for illegal key size in debug reports
  • Many improvements to the reloadability of DiscordSRV; it is still advised to restart the server due to plugin integrations and other reload sensitive plugins
  • The update check now runs every 6 hours
  • Changed the default webhook/embed avatar url to minotar.net due to unreliability with default skins on the previous api
  • JDA threads are named to indicate that they’re DiscordSRV’s JDA’s threads
  • The /discord command now has a permission attached to it (discordsrv.discord)
  • /discord broadcast now translates mentions
  • System DNS has a chance to fix itself before switching to fallback dns, configurable with: MaximumAttemptsForSystemDNSBeforeUsingFallbackDNS
  • JDBC start errors are more informative now
Fixes
  • Adjusted "not linked" message to say linking.yml instead of config.yml
  • Changed no-break's to regular spaces in some voice.yml files to fix parsing
  • PlaceholderAPI replacements no longer cause role mentions to break
  • Fixed NPE after unlinking account when the user left all Discord servers the bot is in
  • Properly shut down the console appender, server watchdog and remove JDA listeners on shutdown
  • Added check to see if the shutdown message format contains placeholders; to skip placeholder replacement if there are no placeholders (replacement takes ages during shut down)
  • Fixed not being able to have a number at the beginning of database name (now encased in backticks)
  • Added Class#forName for the MySQL driver (sometimes required for the class to get loaded)
  • Made the voice module thread safe
  • Connections & PreparedStatements are closed properly now
  • Using JDA's default OkHttp settings to fix some issues with connections
  • Fixed MinecraftDiscordAccountLinkedRoleNameToAddUserTo being in a different Discord server
  • Fixed a NPE with Multiverse-Core with worlds that aren’t managed by it
  • Support for UltimateChat 1.9.0
The PebbleHost startup message has been removed. Pebble has mostly dissolved their partnership system. They're still a good budget-oriented host, though. Maybe check 'em out.
----------, May 30, 2020

Just some bug fixes for the status cycling.

v1.18.3 Changes

Additions

  • Cyclable bot statuses; you can now have the bot cycle through a set of statuses
  • PlaceholderAPI support for status. Neato.
  • MC -> Discord nickname synchronization now uses the player's display name instead of just the raw username
Fixes
  • 1.15 compatibility
  • Voice module no longer moves people from categories to be into the voice category
  • Misc. other errors
----------, Dec 11, 2019

Additions
  • Cyclable bot statuses; you can now have the bot cycle through a set of statuses
  • PlaceholderAPI support for status. Neato.
  • MC -> Discord nickname synchronization now uses the player's display name instead of just the raw username
Fixes
  • 1.15 compatibility
  • Voice module no longer moves people from categories to be into the voice category
  • Misc. other errors
----------, Dec 11, 2019

More bug fixes.

Additions
  • PlayerLoginEvent can be used for the link module now
Changes
  • Config loads much sooner now (allows for plugins to hook to the API as soon as DiscordSRV gets constructed)
  • McMMO checks if the player is loaded instead of catching exceptions (and potentially disabling)
Fixes
  • DiscordSRV failing to load due to BStats trying to register it's service async (only happens if DiscordSRV is the first plugin to load BStats)
  • Topic updater should no longer randomly stop working for unknown reasons

Major v1.18.x changes:
Additions
  • Added ability to specify a target channel broadcasts. If you don't specify a channel (including the # prefix, you can also use IDs), it will default to the main chat channel. Example: "/discord bcast #some-channel Hello!"
  • Completely reimplemented "/discord linked/unlink" commands, much easier to use now
  • DebugJDARestActionStacks debug option to help with debugging JDA issues
  • Fallback DNS client implementation for when system's DNS starts to fail to resolve hostnames
  • "Features" bStats statistic, gives some insights to how many people use some features of DiscordSRV
  • Info on what plugin is the executor for /discord, helps to find conflicting plugin commands
  • PlaceholderAPI support for linked/unlinked commands
  • New configuration library behind the scenes. The config file structure is going to be a major, major change in DiscordSRV 2.x; this new library will help with that transition.
  • Proximity voice chat module! This is very experimental and will not work perfectly. Please send feedback about it to scarsz.me/discord.
  • Some more debug messages for helping track down issues easier
  • You can now set the webhook avatar provider with Experiment_WebhookChatMessageAvatarUrl
Developers
  • DiscordSRV now has a proper build system set up for automatic release and snapshot versions
  • Source jars are now available in Maven as well
----------, Nov 20, 2019

More bug fixes.

Fixes
  • Added autoReconnect=true to default JDBC URL
  • Fixed class initialization issue with MiniDNS trying to load /etc/resolv.conf when not readable
  • Fixed config migration running every time when "-SNAPSHOT" was in ConfigVersion
  • Fixed falling back to English when requested language doesn't exist
  • Fixed metrics enable check not being flipped (no wonder bStats said nobody was using 1.18.0)
  • Relocate Jackson due to dependency conflict

Major v1.18.x changes:
Additions
  • Added ability to specify a target channel broadcasts. If you don't specify a channel (including the # prefix, you can also use IDs), it will default to the main chat channel. Example: "/discord bcast #some-channel Hello!"
  • Completely reimplemented "/discord linked/unlink" commands, much easier to use now
  • DebugJDARestActionStacks debug option to help with debugging JDA issues
  • Fallback DNS client implementation for when system's DNS starts to fail to resolve hostnames
  • "Features" bStats statistic, gives some insights to how many people use some features of DiscordSRV
  • Info on what plugin is the executor for /discord, helps to find conflicting plugin commands
  • PlaceholderAPI support for linked/unlinked commands
  • New configuration library behind the scenes. The config file structure is going to be a major, major change in DiscordSRV 2.x; this new library will help with that transition.
  • Proximity voice chat module! This is very experimental and will not work perfectly. Please send feedback about it to scarsz.me/discord.
  • Some more debug messages for helping track down issues easier
  • You can now set the webhook avatar provider with Experiment_WebhookChatMessageAvatarUrl
Developers
  • DiscordSRV now has a proper build system set up for automatic release and snapshot versions
  • Source jars are now available in Maven as well
----------, Nov 13, 2019

Additions
  • Added ability to specify a target channel broadcasts. If you don't specify a channel (including the # prefix, you can also use IDs), it will default to the main chat channel. Example: "/discord bcast #some-channel Hello!"
  • Completely reimplemented "/discord linked/unlink" commands, much easier to use now
  • DebugJDARestActionStacks debug option to help with debugging JDA issues
  • Fallback DNS client implementation for when system's DNS starts to fail to resolve hostnames
  • "Features" bStats statistic, gives some insights to how many people use some features of DiscordSRV
  • Info on what plugin is the executor for /discord, helps to find conflicting plugin commands
  • PlaceholderAPI support for linked/unlinked commands
  • New configuration library behind the scenes. The config file structure is going to be a major, major change in DiscordSRV 2.x; this new library will help with that transition.
  • Proximity voice chat module! This is very experimental and will not work perfectly. Please send feedback about it to scarsz.me/discord.
  • Some more debug messages for helping track down issues easier
  • You can now set the webhook avatar provider with Experiment_WebhookChatMessageAvatarUrl
Fixes
  • Achieve/advancement messages no longer send if the player is vanished
  • Added "@ here" to default DiscordChatChannelCutPhrases
  • Linked accounts will /always/ save to fix an issue with saving links if only one person had their account link and they unlinked, thus making there be no links and the save was being skipped
  • Misc errors
  • OkHTTP connection timeouts are a little more lenient now
Developers
  • DiscordSRV now has a proper build system set up for automatic release and snapshot versions
  • Source jars are now available in Maven as well
----------, Nov 10, 2019

There was an issue with 1.17.0 that when performing a debug report, the JDBC username and password config options weren't redacted. This is more/less the only change between 1.17.1 and 1.17.0. The options were added in last-minute and it skipped my mind to make them censored in the debug reports, my bad. People who have made debug reports with those options configured are fine, no need to change users/passwords. The Bin server that the debug reports use stores all of it's information encrypted with a key that the server itself doesn't even know. Be aware that if you've sent a debug link to anyone on 1.17.0, they might've seen the credentials.

1.17.0 changelog:
Additions

  • MySQL support for linked accounts!!!1!1!! Look for it in the config under Experiment_JdbcAccountLinkBackend
  • MCDiscordReserializer experiment, converts text between Minecraft (&l, &o, &n, &m) and Discord (**, *, __, ~~) formatting
  • Webhook avatars can now be 3d renders instead of 2d, toggleable with WebhookAvatarsAre3d
Changes
  • Fall back to first channel in the case of only one when no chat hooks enabled because people don't know how to configure the channels correctly
  • Heads for webhook messages now use Crafatar instead of Minotar
Fixes
  • /discord reload now reloads channels & colors
  • Group synchronization now skips the owner of the guild
  • Issue with people not having a role not having their chat sent to Minecraft
  • Issue with console DoNotSendPhrases
  • Issue with DiscordChatChannelCutPhrases not cutting properly
  • McMMO plugin hook enabling when it shouldn't
  • Rare issue with mismatched okio classes
  • Rare issue with JDA not properly recognizing newer channel types
  • Rare issue with JDA not properly shutting down, stalling server for up to 30 seconds at shutdown
  • Rare issue with some JVMs not supporting 256-bit AES, use /discord debug 128 in that case
  • Text is stripped in more logical places
----------, Jul 10, 2019

It's a big one.

Additions
  • MySQL support for linked accounts!!!1!1!! Look for it in the config under Experiment_JdbcAccountLinkBackend
  • MCDiscordReserializer experiment, converts text between Minecraft (&l, &o, &n, &m) and Discord (**, *, __, ~~) formatting
  • Webhook avatars can now be 3d renders instead of 2d, toggleable with WebhookAvatarsAre3d
Changes
  • Fall back to first channel in the case of only one when no chat hooks enabled because people don't know how to configure the channels correctly
  • Heads for webhook messages now use Crafatar instead of Minotar
Fixes
  • /discord reload now reloads channels & colors
  • Group synchronization now skips the owner of the guild
  • Issue with people not having a role not having their chat sent to Minecraft
  • Issue with console DoNotSendPhrases
  • Issue with DiscordChatChannelCutPhrases not cutting properly
  • McMMO plugin hook enabling when it shouldn't
  • Rare issue with mismatched okio classes
  • Rare issue with JDA not properly recognizing newer channel types
  • Rare issue with JDA not properly shutting down, stalling server for up to 30 seconds at shutdown
  • Rare issue with some JVMs not supporting 256-bit AES, use /discord debug 128 in that case
  • Text is stripped in more logical places
----------, Jul 10, 2019

Fixes
  • Better null checks for files before debug report upload
  • Fix NPE with console channel not being defined
  • Server shutdown routine now has a 30 second timeout to prevent stalling
  • SingleCommandSender sleep now happens async because it wasn't already for some reason
----------, May 13, 2019

Additions
  • Full 1.14 support
  • Added disable for PebbleHost partner message (note: I make literally no money off of the code- they're just a really good host)
  • Debug reports are now fully end-to-end AES256 encrypted
  • DiscordChatChannelRolesSelection to filter which roles should/shouldn't appear in Discord -> MC message prefixes
  • %toproleinitial% placeholder for Discord -> MC messages
Fixes
  • Made DiscordChatChannelCutPhrases and DiscordConsoleChannelDoNotSendPhrases case insensitive
  • JDA version is now at v3 LTS
  • Not storing JDA entities anymore so things won't break when Discord does cache clears
  • Prevent crafty messages getting past DiscordChatChannelCutPhrases
  • UltimateChatHook no longer uses fuzzy plugin checking because of conflicting plugins
  • Vanilla chat listener uses the global channel instead of the first defined
----------, May 13, 2019

Final ^8 build of v1. This legitimately might be the last one. Might.

Additions
  • Estonian translation
Fixes
  • DiscordChatChannelTranslateMentions inserts a zero-width space before @'s to hopefully prevent pinging 100% of the time
  • Discord names are now stripped of formatting characters when being sent to MC
  • Fixed a small logic issue with DiscordChatChannelBlockedPhrases
  • Trim BotToken
  • Various grammar errors for multiple translations
Removals
  • Nashorn debugging
  • Reflections library
----------, Mar 14, 2019

final^7 build of DiscordSRV v1, you know the drill by now

Fixes
  • I goofed with the update check logic, oopsies
  • additional NPE check for VentureChat users
----------, Dec 25, 2018

Aka "the final^6 build of DiscordSRV v1." Minor changes since 1.16.4. Progress for v2 of DiscordSRV is starting to pick up. Join the Discord at scarsz.me/discord if you have any questions.

Additions
  • FancyChat support
  • Russian translation
Fixes
  • AsyncPlayerChatEvent isn't always async. Thanks to the genius that thought of that one.
  • DiscordConsoleChannelDoNotSendPhrases & whitelist mode was slightly broken
  • Plugin enable checks for mcMMO
  • Tidied up README.md
  • UltimateChat support
----------, Dec 16, 2018

aka "the final final final final final build" of DiscordSRV v1. No, seriously, this should be the last version of DiscordSRV1. Development focus is going to be put completely towards DiscordSRV2, "yet another rewrite™" of DiscordSRV. I think we're on rewrite four now? When will it end? Nobody knows.

Additions
  • API version 1.13 compatible "officially"
  • Spanish translation - ¡Hurra! (thanks ZxFrankxZ)
  • MinecraftDiscordAccountLinkedRoleNameToAddUserTo now removes the role from the user when they unlink their account instead of just aimlessly keeping it there. Who would've thought it would take this long to do that.
  • PlaceholderAPI support for DiscordChatChannelListCommandPlayerFormat
  • PrintGuildsAndChannels for you weirdos who complain about a plugin printing too much stuff when the server starts
  • Warning when /discord is claimed by another plugin
  • %worldalias% placeholder is now available on achievement messages
Fixes
  • Link code generation is a whole lot less willy nilly now
  • Empty death messages are for sure ignored now
  • MultiVerse hook uses the proper method now, causes failures when MV isn't installed 100% less
----------, Aug 13, 2018

Fixes
  • StaticLogger error that some people had
----------, May 24, 2018

Additions
  • Server language metric
Fixes
  • Group synchronization taking multiple passes when roles needed to be added and removed
  • Issue with webhook experiment not properly finding existing webhooks after previous change (thanks @LemmoTresto)
  • Millionth pass of trying to clean up JDA messages
  • Tidying up redundant stream calls
Removals
  • Commands processed metric (extremely inaccurate)
----------, May 16, 2018

Additions
  • Add config option to disable translation of @mentions for MC -> Discord
  • Dutch translation
  • Notify users when their messages get truncated due to length (reacting with "❗")
  • playerlist command is now more configurable and customizable for each player in the list, showing things like groups & world
Changes
  • Debug reports go to https://debug.scarsz.me instead of https://gist.github.com now because GitHub disabled anonymous Gist creation
  • Update JDA back to latest version
  • Set default truncation length to 256 to match Minecraft's limit
Fixes
  • Don't cancel message being sent for Discord -> MC when text is blank but attachments exist
  • Exception thrown on first shutdown when bot token was invalid
  • Prevent people from generating multiple link codes then redeeming them all at once to exploit link rewards
  • Security issue with PlaceholderAPI integration
  • Strip console channel messages in a logically better spot
  • VentureChat issue with conversations being sent
  • Webhook names better conform with name length limits
----------, Mar 20, 2018

Final minor update for major version one of DiscordSRV; Bungeecord/Forge/Sponge developers wanted to help with major version 2. Join the Discord at https://scarsz.me/discord for more info.

Additions
  • Korean message translations
  • MC -> Discord @mentioning is as close to perfection as possible
Fixes
  • Processed message now correctly obtained from DiscordGuildMessagePostProcessEvent
  • DiscordSRV no longer attempts to PM other bots
  • Channel topic updater no longer dies from blank MOTDs
  • Colors are stripped for MC -> Discord messages in check for DiscordChatChannelPrefix
  • /discord linked can now be ran by console
  • Calls for Experiment_WebhookChatMessageDelivery are now asynchronous and don't add delay to chat
  • Updated UltimateChat API usage
----------, Dec 31, 2017

This is a minor update. Please see v15.0's change log for the full list of changes since 14.x.

Fixes
  • Chat channel console command bypass roles now silenty included in roles allowed to use console commands to fix logic issue
  • Logic issue causing console to not be forwarded to console channel
Removals
  • Colors readout on plugin startup
----------, Sep 24, 2017

This is a minor update. Please see v15.0's change log for the full list of changes since 14.x.

Additions
  • %time%/%date% placeholder for join/leave/death/achievement/advancement messages
  • %message% placeholder in join/leave messages to get vanilla message
Fixes
  • Color/formatting stripping corrected in some areas and is more lax in places where strictness is not needed
  • Support for Discord's new channel category system
Removals
  • Subscription system (literally nobody used it)
----------, Sep 23, 2017

This is a minor update. Please see v15.0's change log for the full list of changes since 14.x.

Changes

  • Automatic channel topic updating is now limited to at minimum every 5 minutes
Fixes
  • Yet another NPE check for sending messages
----------, Sep 4, 2017

This is a minor update. Please see v15.0's change log for the full list of changes since 14.x.

Fixes
  • Wrong CodeGenerated default message for Japanese messages.yml
----------, Sep 3, 2017

Additions
  • %channelname% placeholder for MinecraftChatToDiscordMessageFormat
  • DiscordChatChannelBlockBots to prevent bots from having their messages sent from Discord -> MC
  • ForcedLanguage config option to force DiscordSRV's internal messaging
  • French translation (bonjour)
  • MinecraftDiscordAccountUnlinkedConsoleCommands to undo commands done when an account is linked to prevent abuse
  • Support for PhantomAdmin vanish
  • Text sent to a player after a link request is now customizable with CodeGenerated
Fixes
  • Add "diverged" to OK update statuses as they're normal too
  • Don't send death messages when they're blank
  • Cleaned up some internal things
  • Fix advancement completions not being detected
  • Fix plugin failing to load on Glowstone
  • More NPE checks for DebugUtil
  • Relocate OkHTTP to prevent class mismatching
  • Webhooks looking like the same person said something they didn't on Android
----------, Sep 3, 2017

This is a minor update. Please see v14.0's change log for the full list of changes since 13.x.
Ignore 14.7. That never happened.

Additions
  • Add time zone to timestamps
  • Support for 1.12 advancement messages
Fixes
  • AccountLinkManager NPE when players join too early
  • API cancellation checks
  • Attachment URLs not properly being sent
  • JDA proxySelector issues
----------, Jul 25, 2017

This is a minor update. Please see v14.0's change log for the full list of changes since 13.x.

Fixes
  • Downgraded JDA because OkHTTP is being bad with proxy stuff making JDA not connect
----------, Jul 16, 2017

This is a minor update. Please see v14.0's change log for the full list of changes since 13.x.

Fixes
  • Ditch JDA ETF because it isn't ready just about yet
  • Revert character stripping code because it produced massive memory issues
----------, Jul 15, 2017

This is a minor update. Please see v14.0's change log for the full list of changes since 13.x.

Additions
  • Add DebugJda config option to print all JDA messages
  • Add JDA status & ping to debug report
  • Config option to remove all group sync roles when a player unlinks their account (default true, GroupRoleSynchronizationRemoveRolesOnUnlink)
Fixes
  • Better invalid character stripping for Minecraft -> Discord
  • Bot token stripped from debug report at upload, prevents it from appearing anywhere
  • Emojis are parsed from unicode when being sent to Minecraft
  • discordsrv.sync.roleid permissions no longer default for ops
  • JDA never finishing initialization for some people
  • Lots of snowflake ID errors due to default config
  • Startup message no longer has filters applied so everyone-mentions can be used
  • Typos
----------, Jul 15, 2017

Changes
  • Made a message about not being able to find a synchronizing role to be at the debug level
----------, Jun 9, 2017

This is a minor update. Please see v14.0's change log for the full list of changes since 13.x.

Fixes
  • Colors are now stripped for messages delivered via webhook
----------, Jun 9, 2017

This is a minor update. Please see v14.0's changelog for the full list of changes since 13.x.

Fixes
  • "ID may not be null" errors
  • Another bug with non-numeric snowflake IDs
----------, Jun 5, 2017

Additions
  • %channelname% placeholder for Discord -> Minecraft messages
  • Errors on startup are more detailed
  • Experiment_WebhookChatMessageDelivery config option for optionally deliving MC -> Discord messages as webhooks
  • PlaceholderAPI expansions, guild roles, thread stacks, parsed config values shown in debug reports
  • UltimateChat hook (experimental)
  • Unlink other people command for admins
Changes
  • Default join/leave messages changed slightly
  • DiscordSRV's jar is now minimized, shaves megabytes off the file size
  • Minecraft group -> Discord role synchronization now works off if the user has the permission "discordsrv.sync.[role id]". Roles will sync when the player joins the server and at an interval, default every 5 minutes.
  • %toprolecolor% behaves like Discord's coloring for when your top role doesn't have a custom color
Fixes
  • Cancelation detector (might) work again
  • ConsoleAppender works again (a Log4j update broke it)
  • Death messages no longer are attempted to be sent if less than three characters
  • JDA build errors are verbose to indicate unforseen problems
  • Link codes are always 4 digits
  • Linking now checks if you're already linked (lol)
  • Minimum build checking logic issue
  • PlaceholderAPI is utilized in more places
  • Requiring a linked account for messages has been contained to only linked channels
  • Some JDA messages are now debug level because of how spammy they are
  • Unlink command output issue
  • Various errors that I CBA to list
----------, Jun 4, 2017

Fixes
  • API not delivering events at all (exclamation marks are important...)
  • Rest of Japanese messages translated
  • Silentquit permission not working (was a timing issue)
----------, Apr 15, 2017

Fixes
  • Removed stupid message about hooked plugins
----------, Apr 7, 2017

Additions
  • channels.json will be automatically migrated from config versions <v12.4
  • DiscordChatChannelBlockedIds to block certain users from having Discord messages sent to Minecraft
  • DiscordChatChannelRequireLinkedAccount to optionally require Discord chatters to have a linked account before having messages sent to MC
Fixes
  • Check for achievement event being deprecated
  • Debug reports sometimes generating a 422 error with blank files
  • Lots of bugs/errors
  • Made JDA errors much smaller (in theory, at least)
  • Super/PremiumVanish hook not hiding vanished players
  • Translated rest of command outputs & other stuff
----------, Apr 6, 2017

Additions
  • Canned responses can be triggered from any text channel now, not just ones linked to a game channel
  • Debug messages to Vault primary group lookups
  • Save debug report to disk if Gists fails
Fixes
  • Possible NPE with Vault primary groups making them not show properly
----------, Mar 29, 2017

Fixes
  • Config migration not working properly
----------, Mar 28, 2017

Additions
  • If enabled, set Discord member's nicknames to match their IGN's when their linked account joins the game
Fixes
  • Account link manager will attempt to work with older versions of linkedaccounts.json but this isn't guaranteed
  • Fixed config migration messing up colons in config values
  • Server watchdog now waits until server completely starts before monitoring server ticks
  • Various errors
Removals
  • Removed role output from init because there's no reason for it
----------, Mar 28, 2017

Every part of DiscordSRV has been completely rewritten. v13.0 is not the same plugin as v12.4. Redo your configs. Sorry.

Additions
  • Message localization for German & Japanese (help us translate!)
  • Run command(s) when accounts are linked
  • Synchronize roles from Minecraft to Discord (needs a common permissions plugin)
  • Add Discord role when accounts are linked
  • Set Discord nickname to user's IGN when account linked
  • Synchronize bans between Minecraft/Discord for linked accounts
  • Shiny new developer API
  • PlaceholderAPI support
  • Server watchdog to yell furiously when the server crashes
  • Install a plugin by uploading the plugin.jar to the console channel
  • ASM4 incompatibility check on server start
  • Tab completion for commands
  • New design for /discord ?
  • Much better/granular permissions system
  • Move update check to build hashes
  • Translate server-specific Discord emotes
  • Add bStats integration
  • Reimplement vanished player checks
Fixes
  • Debug reports (uses GitHub Gists now; much cleaner)
  • Massive flaw with console channel
  • Game channel names are now case insensitive
  • Mentioning from Discord -> Minecraft works on all Minecraft versions
  • Slightly more bulletproof to reloads
  • Display names not being retrieved in join messages
Removals
  • channels.json & colors.json files (now built in to config)
  • DiscordMainChatChannel config option (defaults to first channel defined)
----------, Mar 28, 2017

Fixed /discord debug
----------, Jan 11, 2017

Bukkit Dev updated their link structure. This update just corrects that so the download link works again.
----------, Dec 10, 2016

Additions
  • discordsrv.admin permission as an alternative for features requiring op
  • MinecraftPlayerDeathMessagesFormat so now you can format death messages
  • Random phrase on top of debug logs, MC style
  • Thank-yous to donators on startup
Fixes
  • Markdown is escaped in more places for MC -> Discord
----------, Nov 6, 2016

Additions
  • Small message from update checker to show plugin is up-to-date
Removals
  • No more 3rd party silent join/leave support. Use permission "discordsrv.silentjoin" or "discordsrv.silentquit" for now on.
----------, Oct 7, 2016

Fixes
  • ASM 5 is now packed into the jar for people complaining about Thermos problems
  • Removed obsolete RateLimitSleepVerbose config option
----------, Oct 2, 2016

Additions
  • Channel purge command (by default "discordsrvpurgechannel") to purge the current channel's messages
  • DiscordChatChannelBroadcastDiscordMessagesToConsole config option to print Discord -> MC messages to console
  • DiscordConsoleChannelLevels config list to select which levels of messages are sent to the console channel via the console appender
  • Added a whitelist toggle for DiscordConsoleChannelDoNotSendPhrases to only send lines from the console containing a phrase; good for just wanting nothing but login messages & chat or something
  • Link your Minecraft account to your Discord account with "/discord link/linked/clearlinked", plugin developers can use this to implement Discord authentication or something
  • LunaChat integration
  • Messages sent to players when they subscribe/unsubscribe from Discord messages is now configurable
  • Optional expiration time to player list messages (DiscordChatChannelListCommandExpiration and DiscordChatChannelListCommandExpirationDeleteRequest)
  • Snapshot IDs are now injected into the plugin for determining what snapshot you're using as well as it's also in the filename again
  • So much better "/discord debug" command complete with auto upload to Hastebin with lots of server details
  • TownyChat integration
  • VentureChat filter support for Minecraft -> Discord
  • Warning for joining/leaving server with silent permissions
Fixes
  • Achievement names look a lot better now
  • Color stripping and translation has been fixed in more places than I'm able to count
  • colors.json no longer messes with capitals
  • More console color stripping
  • Got rid of small (but harmless) NPE on shutdown
  • Plugin shutdown waits for shutdown message to complete before closing Discord connection
  • Too many fixes/optimizations/improvements behind the scenes to count them all
  • Unique player counter of channel topics now only counts .dat files, fixes counting mod files like Thaumcraft
  • VentureChat hook now correctly takes channel colors
----------, Oct 1, 2016

Additions
  • API for other plugins to interface with DiscordSRV, see http://dev.bukkit.org/bukkit-plugins/discordsrv/#w-developers
  • Console line stream to Discord channel is now customizable
  • Essentials silent join/quit support
  • GB formatters for channel topics
  • New appender-powered console streaming engine enabled by default (legacy still there), fixes console channels dying at log rotation
  • ReportCanceledChatEvents will now say what plugin it was that canceled the event
  • %world% formatter for MC -> Discord chat
  • %worldalias% formatter for MC -> Discord chat (Multiverse-Core)
Fixes
  • DiscordConsoleChannelDoNotSendPhrases actually works now
  • discordsrv.chat permission is now forcefully allowed for OPs as well
  • Fix possible NPE when plugin being disabled from rate limiting
  • JDA messages no longer have their own timestamp
  • Plugin *might* be safe to reload now ¯\_(ツ)_/¯
  • Objects -> primitive types
----------, Aug 7, 2016

Additions
  • Early VentureChat support, tell me how it works
  • MinecraftChatToDiscordMessageFormatNoPrimaryGroup config option for sending messages differently if a player's primary group can't be determined
  • Small changes with debug command
Fixes
  • Config migration redacts the bot token value when printing to console
  • Versions are now properly done so migration won't occur every damn start (sorry lol)
----------, Jun 30, 2016

Fixes
  • TPS poller displays as 20 for TPS>19.5
  • SuperVanish no longer craps out over not finding the correct method
----------, Jun 24, 2016

Major internal update, I suggest *completely* redoing your config files.

I also probably left out some stuff that was changed, sorry lol

Additions
  • !c command to execute a command in non-console channels
  • /discord bcast [message] command to send a message to the main chat channel
  • Audible ding when your name is said in a Discord message
  • Channels can be on any guild that the bot has access to
  • Conversion for role colors to in-game equivalent is now fully customizable
  • Discord names being sent to game will show nicknames if one is set
  • discordsrv.chat permission; give people -discordsrv.chat to disallow them to send messages to Discord from Minecraft
  • Herochat and LegendChat support, more plugins in the future
  • Mention linking is no longer case-sensitive
  • Mention linking no longer leaves a space before the mention
Fixes
  • Config lists are now on one line by default, fixes config migration system not transfering lists
  • Fixed the TPS poller not having it
  • Guild owner can now run the debug command
  • Main command is now /discord instead of /discordsrv, more user friendly
  • Messages are sent through JDA's queue system instead of blocking on new threads, might help with stuff
  • Player list command now looks nicer
  • VanishNoPacket hook now uses better reflection, will solve some class errors
----------, Jun 21, 2016

Additions
  • Add message telling you that you need to be OP for setpicture command
  • Add support for Essentials vanish
Fixes
  • Fix possible NPE for modded achievements
  • Fix formatting getting knackered when using @mentions
----------, May 6, 2016

Additions
  • Add chat chanel prefix filter
  • Add setpicture command to set bot's avatar with a given URL
Fixes
  • "default" primary group is now given as a space instead of nothing to account for formatting around names
----------, Apr 18, 2016

Fixes
  • Fixed messages sent by users with no roles making an oopsie
  • Fixed role color grabbing erroring if user had no role
  • Fixed sending chat messages from all channels instead of just the specified chat channel
----------, Mar 13, 2016

Additions
  • Game status config option
  • DiscordChatChannelDiscordToMinecraft and DiscordChatChannelMinecraftToDiscord config options
Fixes
  • Changed update check code a bit
----------, Feb 16, 2016

Resource Information
Author:
----------
Total Downloads: 716,553
First Release: Feb 15, 2016
Last Update: Jan 3, 2025
Category: ---------------
All-Time Rating:
621 ratings
Find more info at discordsrv.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings