project - icon

DiscordSRV

The most powerful, configurable, open-source Discord to Minecraft bridging plugin available.

ManagementSocialUtility

112 downloads 18 followers
Created a month ago
Updated 5 days ago

External resources



Project members

profile-picture

Member

profile-picture

Member

profile-picture

Owner


Technical information

License
Project ID
UmLGoGij

DiscordSRV

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

Supports All Minecraft Versions from 1.7.9 to 1.19

We only give support for the latest release/dev builds; please update before asking for help

Features

  • Bridge between Minecraft and Discord chats
  • Forward your Minecraft Console to a Discord text channel
  • Broadcast alerts based on certain events
  • Voice Proximity through the Discord Voice Chat (voice.yml)
  • Require linking accounts (or certain role/s) to play (linking.yml)
  • Support for popular chat plugins (listed below)
  • Highly customizable

Plugins we hook into:

Plugins that use our API:

Intended usage

By 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 minecraft server - This can be useful for players that still want to communicate with players in-game, but can't access the Minecraft server for whatever reason.

This plugin has a remote console feature. You can designate a text channel for the plugin to forward console messages, which also runs all messages sent into that channel 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, you can have some server roles have access to see the console, while also not allowing them to send messages in that channel, thus creating a read-only console for trusted staff members.

Both chat and console are toggleable through the configuration file. Some options can be refreshed with /discordsrv reload by an OP or a player with the discordsrv.reload permission.

Bot Permissions

Server Permissions

Permission Features

Manage Roles

role synchronization and adding roles to linked players

Manage Channels

channel topic updater and the voice module

Ban Members

ban synchronization

Manage Nicknames

nickname synchronization

Manage Webhooks

experimental webhook usage (Server-wide permission is recommended, but can be applied on a per-channel basis)


Channel Permissions

Permission Features

Read Text Channels & See Voice Channels and Send Messages

Required for DiscordSRV's channel options (including console and voice lobby), the voice module category and any other channels you want for canned responses

Manage Messages

when messages are deleted by playerlist & chat channel commands

Embed Links

optionally for embedding ingame-posted links and required when embed messages are used death, join/Leave

Mention @everyone, @here and All Roles

for mentioning @everyone if added to allowed mentions in config.yml and mentions enabled

Add Reactions and Read Message History

for when the bot reacts with "💬" and "❗" to notify a truncated message is being sent from Discord to Minecraft

Move Members, Mute Members and Manage Permissions

required for the voice lobby and voice category

Installation

Visit the Installation page for clear and in-depth instructions on installing and setting up DiscordSRV.

Donations

First off, thank you from the bottom of my heart for the pizza. If you would like to donate, go to https://scarsz.me/donate. $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 (DiscordSRV version 1.18.0+) to your project. You also need to add the JDA repository. For an example of this, see DiscordSRV-ApiTest. Be sure to add "DiscordSRV" to your plugin's plugin.yml depends/softdepends list.

Maven

<repository>
    <id>dv8tion</id>
    <name>m2-dv8tion</name>
    <url>https://m2.dv8tion.net/releases</url>
</repository>
...
<repository>
    <id>Scarsz-Nexus</id>
    <url>https://nexus.scarsz.me/content/groups/public/</url>
</repository>  
...  
<dependency>
    <groupId>com.discordsrv</groupId>
    <artifactId>discordsrv</artifactId>
    <version>1.26.0</version>
    <scope>provided</scope>
</dependency>

Gradle

maven {
    name 'm2-dv8tion'
    url 'https://m2.dv8tion.net/releases'
}
repositories {
    maven { url 'https://nexus.scarsz.me/content/groups/public/' }
}  
dependencies {
    compileOnly 'com.discordsrv:discordsrv:1.26.0'
}

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.yml file.

Update checking

DiscordSRV checks for updates using GitHub's API, and makes sure the version is safe to use via a minimum version (security feature), you may disable update checking by setting UpdateCheckDisabled to true in the config.yml file; however this may leave your server at risk if there is a security issue/exploit and you're running a vulnerable version.