- Tested Minecraft Versions:
- 1.7
- 1.8
- 1.9
- 1.10
BungeeStaffChat is a plugin that allows your staff members to send messages to other online staff members in your bungeecord network. This plugin has a few upgrades so your team can enjoy extra features like toggling and more!
How to install?
- Download the jar file and copy it to your proxy's plugin folder.
- Restart your proxy server and let the bungeecord generate the configuration files
- Open the config.yml / lang.yml and edit it how you want it.
- Save the configuration and restart BungeeCord (or reload the plugin with /screload). StaffChat is now ready for use!
Note: You need to restart your bungeecord proxy to have other command names. This things requires a restart and won't work on a reload.Features:
- Talk to other staffmembers through your network.
- Toggle the chat so you don't need to use the command over again.
- Reload the configuration using our simple command.
- Change the chatlayout and/or the command names in our configuration.
- Configurate a shortcut so you don't need to write the command over again but just use a simple character before your message.
- Enable priority mode so you can only staffchat with "higher" staffmembers like admins and owners.
- See a message if there is a newer version available.
- More features coming each version. I try to keep the plugin up-to-date for each Minecraft version.
- Allow/disallow format codes in your staffchat or private message using simple permissions.
- Send private message with /scmsg <target> <message>.
- Reply fast to the latest player who sended you an private message using /screply <message>.
- Integrate this with BungeePerms to show your primary group using the placeholder %group%.
Commands & Permissions:
/sc (Permission: sc.use: You can send and receive StaffChat messages.)
/sctoggle (Permission: sc.toggle: You can toggle StaffChat automatic mode. Warning: You need the node staffchat.* or staffchat.use before it works!)
/screload (Permission: sc.reload: Reload the configuration file.)
/scdisable (Permission: sc.disable: Disable the StaffChat so you don't receive any messages until you enable it again using the same command)
/scpriority (Permission: sc.priority Disable or Enable the StaffChat Priority mode, only players with that permission can see and talk in the StaffChat if enabled)
/scinfo (See the information about the author and version)
/scmsg <target> <message> (Permission: sc.msg: Send private message to someone)
/screply <message> (Permission: sc.reply: Reply to latest player who sended you an private message)
You can also use shortcuts for your messages, please give your staff the permission sc.shortcut or sc.* before shortcuts work.
If you want staff that can only SEE staffmessages, simple give them the permission sc.receive.
Allow format codes with sc.format
There is an announcer so you will get updated if there is a newer version.
GitYou can now see my source on GitHub. Click here to see the source on my GitHub.
DonateIf you want to buy me a pizza or just thank me with a (small) donation, thank you! You can use this button to continue:
![]()
Donators:
UnlitedOwns: €15
Cosmic Craft: €15
I thank everyone who donated to me! Thanks!
Tips, ideas or bugs? Please send me an PM or reply on this resource!
Wout_

BungeeStaffChat 2.0.0
This plugin allows your staff members to send messages to other staffmembers across your servers.
-
Diclo, xXitay0808Xx, JustBeJan and 13 others like this.
Recent Updates
- 2.0.0 Release Jun 25, 2016
- Bug fix May 15, 2016
- Bugs fixed Apr 20, 2016
Recent Reviews
-
TMCThomas00
- 5/5,
Plugins still works but gives me this error on every join: 14:06:02 [SEVERE] java.net.UnknownHostException: www.woutdev.be
-
miguel456
- 5/5,
Easy to use, works great with LuckPerms.
However, I didn't see any prefix in the messages config file?
Is it possible for you to add a placeholder so that we can configure the message for the player's prefix (from the bungee perms plugin) to appear?
Other than that, it works flawlessly, this is a minor oversight. Thanks for the great plugin! -
ThatcherDog
- 5/5,
Very easy to set up with LuckPerms! I use it on my personal bungeecord server, as well as blockade-mc.xyz! Would recommend!
-
DieselJS
- 3/5,
The plugin is amazing, the fact you can change the format of the message, include the server placeholder and change the commands makes this a great plugin. However, when testing on my bungee network I noticed that only players with permission could execute the commands, the console would just return "Unknown command". I would like the console to be able to use the commands. If you could look into this or know why the console doesn't work, then I'd appreciate the response. :)
-
PhenGG
- 1/5,
i already opped my self, but it keep says you dont have permission please help me
-
OhSry
- 5/5,
Hello everyone, Check my resources, I have a updated version of this plugin. So if you need a updated version my plugin is the one.
-
NotMyFault
- 5/5,
Neat plugin, but maybe add a way to use the command to send messages from console too.
-
JasperWorld
- 2/5,
I guess the plugin its good, but in my server doesn't work, I have BungeePerms, and everytime I do /sc it spams the console with this:
java.lang.NullPointerException
at net.alpenblock.bungeeperms.PermissionsManager.getUser(PermissionsManager.java:479)
at be.woutdev.bungeestaffchat.commands.Sc.execute(Sc.java:85)
at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:169)
at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:116)
at net.md_5.bungee.connection.UpstreamBridge.handle(UpstreamBridge.java:141)
at net.md_5.bungee.protocol.packet.Chat.handle(Chat.java:50)
at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1414)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:945)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:141)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
at java.lang.Thread.run(Unknown Source)
11:25:44 [INFORMACIÓN] [BungeePerms] Deactivating BungeePerms ...
11:25:44 [INFORMACIÓN] [BungeePerms] loading permissions ...
11:25:45 [INFORMACIÓN] [BungeePerms] permissions loaded
11:25:45 [INFORMACIÓN] [BungeePerms] Activating BungeePerms ...
11:25:49 [ADVERTENCIA] Error in dispatching command
java.lang.NullPointerException
at net.alpenblock.bungeeperms.PermissionsManager.getUser(PermissionsManager.java:479)
at be.woutdev.bungeestaffchat.commands.Sc.execute(Sc.java:85)
at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:169)
at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:116)
at net.md_5.bungee.connection.UpstreamBridge.handle(UpstreamBridge.java:141)
at net.md_5.bungee.protocol.packet.Chat.handle(Chat.java:50)
at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1414)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:945)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:141)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
at java.lang.Thread.run(Unknown Source) -
DaneMc_15
- 5/5,
Thank... very nice work!!!I didn't have to make this!!! Very good for cross server chating!!
-
Doblex
- 5/5,
The best plugin. It is very convenient for admin's staff, it simplifies the shadowing of the server, thank you very much for such a plugin! Is it possible to add to the prefix, the server on which the player is located, for example% server%% frefix%:% msg%
-
Author's Response
Though not mentioned in the resource description, a %server% placeholder is present in the plugin. Just put it in the sc layout and the plugin will do the rest!