DiscordSRV
DiscordSRV
The most powerful, configurable, widely loved, open-source Discord bridge plugin out there.
Build server - get the absolute latest builds (or old ones) here
Competition - See why you should be using DiscordSRV over the competitors
DiscordSRV's Discord server - come here for quick support and to tell us feature requests
Source at GitHub
Wiki on GitHub
Intended usage
Using this plugin, you are able to give players the ability to chat in-game to chat with players on your Discord server as well as having people on the Discord server be able to chat with people on 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 toggleable through the configuration file. Some, but not all, options can be refreshed with /discord reload, by an op. VanishNoPacket permissions like silent join/quit, fake join/quit and join without announcing are checked when sending player join messages in the chat channel.
Install
Java 8+ is required. It's recommended to go to DiscordSRV's wiki at https://github.com/Scarsz/DiscordSRV/wiki/Installation for picture instructions or watch one of the vidoes below to walk you through the installation.
If you want a straight-forward install, though, you can just follow these steps:
- Create a new application at https://discordapp.com/developers/applications/me/create
- 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 https://scarsz.me/authorize/ & paste your application's Client ID value to the page
- In the config option labeled Channels, input your global chat channel's ID under "global"- you can set more channels up here and their linked channels.
- For reference, to obtain a channel ID, go to the cog on the bottom left of Discord, go to the appearance 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 config
- Run through all of the config options, you'll be surprised with how many features this plugin has
- Profit
Supported plugins
DiscordSRV implements with a fair amount of plugins for chat and vanish functionality. We recommend VentureChat by Aust1n46 but plugins such as Herochat, VentureChat, Essentials, Premium/Super vanish, VanishNoPacket, and Multiverse all have functionality in DiscordSRV.
Commands/permissions
/discord
All of DiscordSRV's commands can be exposed from /discord. This includes but isn't limited to /discord toggle which toggles sending Discord messages back/forth for you- tell your players about this command!
discordsrv.chat
Allows people to have their chat sent to Discord. Go figure. Given by default, only exists so you can negate this permission from people/groups.
OP
All the admin commands for DiscordSRV require you to be an OP. To see the help, run /discordsrv in-game.
FAQ
How do I fix the error "Unsupported major.minor version 52.0?"
Update the server's Java JRE version to Java 8. <1.8 is unsupported.
I reloaded the plugin/server and now it won't work
DON'T RELOAD THE PLUGIN
When I join/quit my server, a message isn't sent in the chat channel for me. What gives?
You have one of VanishNoPacket's/Essentials' permissions to join/quit silently. To disallow this, give yourself or the group one of the following depending on what you want to allow.
-discordsrv.silentjoin -discordsrv.silentquit
Donations
First off, thank you from the bottom of my heart for the pizza. If you would like to donate, go to https://www.paypal.me/Scarsz/10. $10 is the suggested amount but you can donate however much you would like- anything is a massive thank you from me. In the note put your Discord username and if you're in DiscordSRV's server 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.
Developers
If you want to interface DiscordSRV with your plugin, you can do so by adding the Maven dependency or adding the plugin jar to your project. For an example of this, see https://github.com/Scarsz/DiscordSRV-ApiTest. Be sure to add "DiscordSRV" to your plugin's plugin.yml depends/softdepends list.
Data usage
Data collection
Anything and everything shown at https://bstats.org/plugin/bukkit/DiscordSRV 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.
Update checking
I have absolutely no clue why you would want to disable this, but if you do, set the "UpdateCheckDisabled" config option to "true".
@Dysthymical
Unfortunately a lot harder than it sounds because Discord doesn't actually go by @[name], it uses @<user id>- that's what makes spaces in names possible with mentions. It's something that I want to add but I honestly don't see it being done soon, maybe in the future, though.
In the server, if I type @everyone then all Discord members are notified. However, you can't mention specific Discord members like @Dysthymic but you can in Discord. It's very weird, but could you make it so you can call out individual members from in-game?
This plugin is amazing, my staff absolutely love it!
@ScarszRawr
Thx :)
Edit: Adding minecraft-colors to discord-roles via config for Minecraft-Chat would be useful.
@Androkai
Fixed in build 6, expect release today/tomorrow, join the Discord server in the description for a notification when it's out
@pyriigoeth
Join DiscordSRV's server in the description and we can get that fixed
Nice plugin, sort of works on 1.7.10, there's not join/quit messages being forwarded, but other chat is fine. And no I'm not using vanishnopacket.
Very nice plugin and the best: it works! ^^
The playerlist-command shows vanished players. I use VanishNoPacket for this. Can you fix this?
Will this support chat plugins like Venture Chat (Mineverse Chat) where you could say define the channel the Discord text goes to? how does that work when you have multiple channels?
@shades161
Join the Discord channel in the plugin description if you want to get your hands on the update before it's approved, and to come hang out with us :P
@ScarszRawr
Thank you!
@shades161
It shouldn't be hanging, will take a look at it
edit: fixed
Love the plugin. Had one issue that after configuring the plugin, it made my server hang for a couple minutes on startup, but after restarting the server it worked. Other than that, great plugin and good job on it.
@Grimmy423
Join the Discord server in the description and we can get that fixed
Loving this so far, but sadly, Messaged from Minecraft don't get sent to Discord, but Messages from Discord get sent to Minecraft.
Hey, this plugin is awesome! I love discord and it's been great for my server. There's just one thing keeping me from using this plugin atm though, and it's that it broadcasts factionchat messages to discord, which I don't want. I know some people out there use older versions of factions or factionsUUID just to keep the old faction chat, but personally I use this factionchat plugin which works great. But you should probably look into supporting factionsUUID as well if you want to please the masses. Keep up the great work!
@xDeeKay
Yeah, kind of lazy to do it though because if I send everything to GitHub I want to configure Travis CI to do builds for it, but have no clue how to set it up for Java projects. Join the Discord server to send feature requests to me directly, though.
Do you plan on releasing the source for this? I checked out the GitHub page but there's no actual code. There's a few modifications I'd like to add.
Excellent to see something updating so quickly. Discord is perfect for a public Minecraft server as a user only needs to click a link in game to instantly be able to start voice chatting with everyone, no set up required at all on their end. With this plugin, you don't need to worry about splitting the conversation - players can keep chatting with everyone in-game even when they're not. Even when they're on their phone, they can chat with the friends they've met on your server.
@BloodyChucklz
Never used that plugin, PM me on Discord (go to the DiscordSRV server and I'm the only developer) and we can talk about specifics
Works very nice thanks! Could you make your plugin pick up messages from the PurpleiRC plugin? I use it for my radio station chat, and I really need the two plugins to communicate with each other.