A bukkit plugin for cross server chat.
- Does not require BungeeCord
- Supports cross server private messages.
- Simple to configure.
- Supports multiple channels.
- Supports server local channels.
- Supports prefixes and suffixes.
- Supports nicknames.
Commands
/channels
Permission: duckchat.channels
List available channels.
/join <channel>
Permission: duckchat.join
Join a chat channel.
/part <channel>
Permission: duckchat.part
Leave a chat channel.
/channel <channel>
Permission: duckchat.channel
Change the channel you are currently speaking on.
/chlist [channel]
Permission: duckchat.chlist
List players currently listening to a channel.
/me <action>
Permission: duckchat.me
Perform an action on your current channel.
/tell <player> <message>
Permission: duckchat.message
Aliases:
- /whisper
- /msg
- /m
- /t
Send a message to a player.
/reply <message>
Permission: duckchat.reply
Aliases
- /r
Reply to the last player that private messaged you.
/dc say <message>
Permission: duckchat.say
The same as chatting without commands, except also usable by console, since it's occasionally useful to be able to chat on channels as console.
/broadcast [-g] <message>
Permission: duckchat.broadcast
Aliases
- /bc
Broadcast a message to the server you're on, or with -g to everyone on all of the servers in the network.
/rexec <-g|<server>> <command>
Permission: duckchat.rexec
Execute a command on the server specified as console, or if -g is specified on all servers.
Permissions
duckchat.chat.color
Allows a player to use color codes in chat with &.
duckchat.chat.format
Allows a player to use format codes in chat with &.
duckchat.msg.color
Allows a player to use color codes in private messages with &.
duckchat.msg.format
Allows a player to use format codes in private messages with &.
duckchat.broadcast.color
Allows a player to use color codes in broadcasts.
duckchat.broadcast.format
Allows a player to use format codes in broadcasts.
duckchat.spam.bypass
Allows a player to bypass channel limits on message and repetition rates.
Configuration
Code (Text):
# Name of JGroups cluster.
#
# Sets the name of the jgroups cluster to connect to, this must be the same
# on all the servers you want to be in the same cluster.
#
# clusterName: duckchat
# Name of this server, defaults to using server-name from server.properties.
# If you don't wish to set server-name in server.properties, or you wish
# to use a different value here, uncomment this.
# nodename: Unknown
# Default channel name.
defaultChannel: global
# Store players by UUID.
#
useUUIDs: true
# Use IPv4
useIPv4: true
# Address to use for multicast networking
bindAddress: 127.0.0.1
# Notify players about servers joining
notifyServerJoin: true
# Notify players about servers leaving
notifyServerLeave: true
# Notify players about players joining
notifyPlayerJoin: true
# Notify players about players leaving
notifyPlayerLeave: true
# Shortcuts for accessing channels.
# Include a space in the shortcut if you wish it to require a space.
shortcuts:
'! ': global
# Network config
# Should not be needed unless you want to try using strange configurations.
#
# network: udp.xml
# List of channels.
# format parameters.
# 1 - Channel name
# 2 - Nodename
# 3 - World name
# 4 - player name
# 5 - player prefix
# 6 - player display name
# 7 - player suffix.
# 8 - Message or action.
channels:
global:
owned: false
localAutoJoin: false
messageFormat: '[%1$s %6$s] %8$s'
actionFormat: '[%1$s] %6$s %8$s'
globalAutoJoin: true
# permission: some.permission
# Optional per channel spam configuration below.
# Limits channel members to 4 messages per 10 seconds.
# spamWindow: 10000
# spamThreshold: 4
# Limits channel members to 3 repeated messages per 60 seconds.
# repeatWindow: 60000
# repeatThreshold: 3
# Uncomment and rename this for a locally owned channel
# local:
# owned: true
# localAutoJoin: true
# globalAutoJoin: false
# permission: some.permission
#
# Sets the name of the jgroups cluster to connect to, this must be the same
# on all the servers you want to be in the same cluster.
#
# clusterName: duckchat
# Name of this server, defaults to using server-name from server.properties.
# If you don't wish to set server-name in server.properties, or you wish
# to use a different value here, uncomment this.
# nodename: Unknown
# Default channel name.
defaultChannel: global
# Store players by UUID.
#
useUUIDs: true
# Use IPv4
useIPv4: true
# Address to use for multicast networking
bindAddress: 127.0.0.1
# Notify players about servers joining
notifyServerJoin: true
# Notify players about servers leaving
notifyServerLeave: true
# Notify players about players joining
notifyPlayerJoin: true
# Notify players about players leaving
notifyPlayerLeave: true
# Shortcuts for accessing channels.
# Include a space in the shortcut if you wish it to require a space.
shortcuts:
'! ': global
# Network config
# Should not be needed unless you want to try using strange configurations.
#
# network: udp.xml
# List of channels.
# format parameters.
# 1 - Channel name
# 2 - Nodename
# 3 - World name
# 4 - player name
# 5 - player prefix
# 6 - player display name
# 7 - player suffix.
# 8 - Message or action.
channels:
global:
owned: false
localAutoJoin: false
messageFormat: '[%1$s %6$s] %8$s'
actionFormat: '[%1$s] %6$s %8$s'
globalAutoJoin: true
# permission: some.permission
# Optional per channel spam configuration below.
# Limits channel members to 4 messages per 10 seconds.
# spamWindow: 10000
# spamThreshold: 4
# Limits channel members to 3 repeated messages per 60 seconds.
# repeatWindow: 60000
# repeatThreshold: 3
# Uncomment and rename this for a locally owned channel
# local:
# owned: true
# localAutoJoin: true
# globalAutoJoin: false
# permission: some.permission
- Ensure you have server-name set to a unique name for each server you want to use this plugin with, or set nodename to a unique name in config.yml for each server.
- By default this plugin only shares chat between servers on the same machine, if you wish to use it between multiple hosts, they must all be on the same subnet, and you must change bindAddress in config.yml to the address of the network interface on that subnet.
- If your machines aren't all on the same subnet, then you can use a vpn to simulate them all being on the same subnet, but it's not a supported configuration (I've done it, it works, VPNs are a pain to setup).
![[IMG]](http://proxy.spigotmc.org/9c91d77a0b024afc1d12d1caa95038bcb209d4b8?url=https%3A%2F%2Fwww.paypalobjects.com%2Fen_US%2Fi%2Fbtn%2Fbtn_donateCC_LG.gif)
Quick facts
- Edition: Minecraft Java
- File type: .jar
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
DuckChat is a free Minecraft Java mod. Downloaded 1,082 times (via Spigot). Download it and open it directly in the game.