This plugin implements the server-side component of the MineChat platform. It lets you chat on a Minecraft server without having to log in to a Minecraft account.
The plugin works by generating temporary codes that players can use to authenticate from the client. This helps bridge in-game chat with external MineChat clients.
Not affiliated with or endorsed by Mojang Studios or Minecraft.
- Client authentication: MineChat clients authenticate by using the generated link code or by reusing their stored client UUID.
- Chat broadcast: In-game chat is broadcast to all connected MineChat clients and vice versa.
- Persistent Storage: The plugin stores link codes and client information in SQLite, so that data remains between server restarts.
- Automatic cleanup: Expired link codes are cleaned up automatically every minute.
- TLS certificates: Self-signed certificates are generated programmatically (no external tools required).
-
Requirements:
- A server running Paper or any of its forks.
-
Download and install the plugin:
- Download the latest release from the releases page.
- Place the downloaded JAR file into your server's
pluginsdirectory.
-
Configure:
- On first startup, the plugin will automatically generate a TLS keystore.
- Edit
plugins/MineChat/config.ymlto configure settings:port: 7632 tls: keystore: "keystore.p12" keystore-password: "change-me"
-
Start Your Server: Start or restart your Paper server to load the MineChat Server Plugin.
-
Generate a link code:
- In-game, run the
/minechat linkcommand. - You will receive a temporary link code in chat. This code is valid for 5 minutes.
- In-game, run the
-
Link from the client:
- Use the provided code in your MineChat CLI client to authenticate:
minechat-client <host> --port <port> --link <code>
- The default port is 7632 if not specified.
- This links your MineChat client to your Minecraft account without needing to log in with your Minecraft credentials.
- Use the provided code in your MineChat CLI client to authenticate:
| Command | Description |
|---|---|
/minechat ban <player> [reason] |
Ban a player from MineChat |
/minechat unban <player> |
Remove a ban |
/minechat mute <player> [duration] [reason] |
Mute a player (duration in minutes) |
/minechat unmute <player> |
Remove a mute |
/minechat warn <player> [reason] |
Warn a player |
/minechat kick <player> [reason] |
Kick a connected player |
/minechat link |
Generate a link code |
/minechat reload |
Reload configuration |
-
Initial phase: The plugin opens a server socket on port
7632(or configured port) to listen for connections from MineChat clients. -
Authentication:
- Clients use either a new link code or their stored client UUID to authenticate.
- Successful authentication triggers in-game notifications (join/leave messages) to all players.
-
Message broadcasting:
- The plugin listens for in-game chat events and broadcasts messages to connected clients.
- Similarly, messages received from clients are broadcast to the Minecraft chat.
Contributions are welcome! Feel free to open issues or submit pull requests.
- Allow for messages sent from MineChat clients to be visible to plugins like Discord bridges, such as DiscordSRV.
- Allow for configuration, such as port, etc
This project is licensed under the MPL-2.0 license. See the LICENSE file for details.