@@ -0,0 +1,61 @@
|
|||||||
|
# Spigot Chat Sync
|
||||||
|
|
||||||
|
Sync chat messages and death events across Minecraft servers using NATS.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
- Chat sync across servers
|
||||||
|
- Death message sync across servers
|
||||||
|
- Per-server display name
|
||||||
|
- Legacy color code formatting
|
||||||
|
- Loop prevention by server id
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
- Spigot 1.21.1+ (Java 21)
|
||||||
|
- NATS server
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
Edit `src/main/resources/config.yml` or the generated `plugins/SpigotChatSync/config.yml`.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
server:
|
||||||
|
id: "server-1"
|
||||||
|
name: "Server 1"
|
||||||
|
|
||||||
|
nats:
|
||||||
|
url: "nats://localhost:4222"
|
||||||
|
|
||||||
|
subjects:
|
||||||
|
chat: "mc.chat.sync"
|
||||||
|
death: "mc.death.sync"
|
||||||
|
|
||||||
|
format:
|
||||||
|
chat: "&7[&b{server}&7] &f{player}&7: &f{message}"
|
||||||
|
death: "&7[&b{server}&7] &f{message}"
|
||||||
|
```
|
||||||
|
|
||||||
|
Only remote messages are formatted; local chat/death output stays unchanged.
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mvn package
|
||||||
|
```
|
||||||
|
|
||||||
|
Or via Docker:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make docker-jar
|
||||||
|
```
|
||||||
|
|
||||||
|
The shaded jar will be in `target/`.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
1. Install the jar on each server.
|
||||||
|
2. Set a unique `server.id` and a friendly `server.name` on each server.
|
||||||
|
3. Point all servers to the same NATS instance.
|
||||||
|
|
||||||
|
## Message Placeholders
|
||||||
|
- `{server}`: configured server name
|
||||||
|
- `{player}`: player name
|
||||||
|
- `{message}`: chat or death text
|
||||||
|
- `{time}`: local server time in HH:mm
|
||||||
Reference in New Issue
Block a user