Austin Shapiro edited this page Sep 15, 2017 · 35 revisions



The most powerful, configurable, open-source Discord bridge plugin out there.

Discord-icon DiscordSRV on Discord - come here for quick support and to tell us feature requests
SpigotMC-icon DiscordSRV on SpigotMC - project page on
BukkitDev-icon DiscordSRV on BukkitDev - project page on
Jenkins-icon DiscordSRV's build server - get the absolute latest builds (or old ones) here

All versions of DiscordSRV support Craftbukkit/Spigot up from Minecraft 1.7.9


  • Bridge Minecraft and Discord chats
  • Console-channel - manage your server from everywhere
  • Highly customize-able
  • Support for popular chat-plugins (EssentialsChat, HeroChat, LegendChat, LunaChat, MChat, TownyChat, UltimateChat, VentureChat, ...)

Intended usage

Using this plugin, you are able to give players the ability to chat in-game with players on your Discord server as well as having people on the Discord server be able to chat with people in the server - this is useful for the situation of someone not being at their computer and being able to talk in-game.

As well as that, this plugin also has a remote console feature. You can designate a text channel for the plugin to listen on where messages sent to that channel are run as commands by the server console. You should restrict sending this channel to a developer or high ranking role only. Due to how Discord's permissions work, though, you can have some server roles being able to see the console, yet not being able to send messages in that channel, thus creating a read-only console for trusted staff members.

Both the chat and console link are togglable through the configuration file. Some, but not all, options can be refreshed with /discord reload, by an OP.


If you wish for more detailed instructions visit the Installation-page!

  • Create a new application at
  • On the application's page, click "Create a Bot User" and confirm
  • Install the plugin, run & stop the server, then open the configuration file
  • Paste in the token from the application page to the config
  • Go to, replacing the client_id value with your application's client ID and authorize the bot to your server
  • In the channels.json file, input your global chat channel's ID under "global"
    If you use a chat-plugin with channel-support like HeroChat, LegendChat, LunaChat, TownyChat or VentureChat you can set up more channels here with their linked Discord-channels.
    For reference, to obtain a channel ID, go to the cog on the bottom left of Discord, go to the appearances tab, enable developer mode. From there you can right click a guild, channel, user or role and there will be a "Copy ID" option
  • Optionally add a console channel's ID in the main config.yml
  • Give your bot rights to read/write and manage channels
  • Run through all the config's options, you'll be surprised with how many features this plugin has
  • Have fun!


First off, thank you from the bottom of my heart for the pizza. If you would like to donate, please send it as friends/family through PayPal to - in the note put your Discord username and if you're in DiscordSRV's channel you'll be set as a donator and you'll receive some neat perks in the future. If you donated without the note, send me a PM on Discord and I'll manually check it.


If you want to interface DiscordSRV with your plugin, you can do so by adding the Maven dependency or adding the plugin jar (DiscordSRV version 11.0+) to your project, extending DiscordSRVListener, then overriding the methods in it. For an example of this, see Be sure to add "DiscordSRV" to your plugin's plugin.yml depends or softdepends list.




Data usage

Data collection

Anything and everything shown at will be visible to the public with your server included in the statistics. This is only for statistics, no private information of your server is sent. If you don't want your server included in this, specify the config option MetricsDisabled and set it to true in the config.yml file.

Update checking

I have absolutely no clue why you would want to disable this, but if you do, specify the config option UpdateCheckDisabled and set it to true in the config.yml file.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.