62 lines
1.2 KiB
Markdown
62 lines
1.2 KiB
Markdown
# 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
|