SimpleCrossChat is a lightweight Minecraft plugin designed for cross-server communication. Built for Minecraft version 1.21, it provides easy integration with MQTT brokers, allowing players to share messages globally across servers. While powerful, it requires careful setup to ensure secure and proper usage.
Starting with Minecraft 1.21, Spigot and related platforms require Java 21.
- Plug-and-play functionality: Works immediately after adding to your plugins folder.
- Global messaging support: Players can chat across servers in real-time.
- Customizable communication security: Harden your setup by hosting a private MQTT broker.
- MQTT-based messaging: Lightweight and efficient.
- Broadcast message formatting: Customize the appearance of messages.
- Future extensibility: Planned support for message filtering through external plugins.
- No Channels: All global chat messages are sent to the broker, which then shares them with all communication partners. This means every global message is accessible to parties connected to the broker.
- Third-party Risks: When using public brokers, such as the default
test.mosquitto.org
, global messages could theoretically be intercepted by third parties. Hosting your own broker is highly recommended for privacy. - Message Scope: Only global chat messages are broadcasted. Private messages, broadcasts, or messages from other plugins are not shared via the broker. Inform players about this behavior to ensure transparency.
-
Install an MQTT Broker:
- By default, the plugin uses
test.mosquitto.org
(a public broker). - For better security, set up and configure your private broker.
- By default, the plugin uses
-
Plugin Installation:
- Place the plugin JAR file in your server's
plugins
folder.
- Place the plugin JAR file in your server's
-
Configuration (Optional but Recommended):
- Update the
options.yml
file inplugins/simplecrosschat
to customize settings like the broker address.
- Update the
-
Restart/Reload Server:
- Apply changes by restarting or reloading your server.
-
Verify Communication:
- Ensure the plugin connects to the broker and messages are transmitted.
Modify the options.yml
file as needed. Here's an example:
donottouch:
configexists: true
debug:
showmessages: false
general:
info: '- INFO: id and key have to match on other servers, to enable a global chat,
one value different and it wont work'
servername: YourServerName
broadcastmessageformat: '&a%PLAYER% &0| &f%MESSAGE%'
enabled: true
privacyinfo: '- INFO: Even tho the messages are not readable for outstanders, I
would host my own broker for a safe communication!'
technical:
broker:
address: test.mosquitto.org
protocol: tcp
port: 1883
communication:
channel:
id: simplecrosschatwelcome
key: z87d3z8hde3z8
- Host a Private Broker: Using public brokers exposes communication to potential interception. Set up a private MQTT broker for secure operation.
- Encryption: The plugin uses
AES/CBC/PKCS5Padding
for encryption, but this is not foolproof against third-party access on public brokers. - Inform Players: Let players know that global messages are shared via the broker and could theoretically be intercepted if a public broker is used.
- Install the plugin in your server's
plugins
folder. - Optionally configure the
options.yml
file with a custom broker address and settings. - Restart or reload your server to activate the plugin.
- Players can now communicate globally across servers using the global chat.
This plugin is provided "as-is" without any warranty. The developer is not liable for:
- Privacy concerns or misuse of the plugin.
- Third-party interception or sniffing of messages.
- Legal implications of using this plugin in different regions (e.g., EU laws regarding user data). It is the sole responsibility of the server owner(s) or technical advisor(s) to ensure correct, secure, and legally compliant usage of this plugin.