Serverübergreifender Chat als Velocity-Plugin
This commit is contained in:
commit
cbc7ffe4fb
18 files changed
+1362
No files matched your search
@@ -0,0 +1,43 @@
|
||||
# chat-bridge
|
||||
|
||||
Velocity-Plugin für CraftAttack: Der Chat gilt im ganzen Netzwerk (craftattack, arena, Limbo, Event).
|
||||
Velocity verteilt jede Zeile als Systemnachricht an alle Spieler; die Backends verwerfen den Chat
|
||||
selbst („Silencer“), sonst stünde er dort doppelt.
|
||||
|
||||
Warum so herum: Velocity kann eine signierte Chat-Nachricht (ab 1.19.1) weder ändern noch abbrechen,
|
||||
ohne den Spieler zu trennen. Der Proxy lässt sie deshalb zum Backend durch, schaut nur zu und
|
||||
verteilt sie selbst.
|
||||
|
||||
- **Öffentlicher Chat** mit Server-Kürzel (`[Arena]`, `[Limbo]` …, der Hauptserver ohne), Namen
|
||||
von Spielern im Netzwerk werden golden als `@Name` hervorgehoben und hören einen Ton.
|
||||
- **Name:** Rang-Prefixe schickt spawn (`DisplayName` → Kanal `craftattack:chat`, gilt nur solange
|
||||
der Spieler auf diesem Server ist), blau mit Permission `adminmarker`, 🎮 für Bedrock.
|
||||
- **/msg** (`tell`, `w`, `whisper`), **/r**, **/adminchat** (Permission `admin`).
|
||||
- **/mute `<Spieler>` `<Stunden>`**, **/unmute `<Spieler>`** (Permission `admin`): temporäre
|
||||
LuckPerms-Permission `chatbridge.muted` in der gemeinsamen MariaDB, läuft von selbst ab. Gestummte
|
||||
dürfen weder öffentlich noch per /msg schreiben, außer an Admins.
|
||||
- **Join/Leave** nur beim Ein- und Ausloggen ins Netzwerk, nicht beim Serverwechsel.
|
||||
- **Log:** Chat, /msg, Adminchat und Mutes stehen im Velocity-Log (`[chat]`, `[msg]`, `[adminchat]`, `[mute]`).
|
||||
|
||||
Silencer auf den Backends:
|
||||
|
||||
| Server | Wo |
|
||||
|---|---|
|
||||
| craftattack, arena | spawn, Appliance `NetworkChat` (verwirft Chat und `/me`, `/teammsg`, `minecraft:msg`) |
|
||||
| limbo | EndlessJumper |
|
||||
| event | Minigames, `velocity.chat-via-proxy: true` in `resources/config.yml` |
|
||||
|
||||
Server ohne Silencer stehen in `unsilenced-servers`: Deren Spieler bekommen den Chat vom eigenen
|
||||
Server nicht noch einmal, dort greift der Mute aber nur für die anderen Server.
|
||||
|
||||
Einstellungen: `plugins/chat-bridge/config.properties` (wird beim ersten Start angelegt, kommentiert).
|
||||
Braucht LuckPerms auf Velocity.
|
||||
|
||||
## Bauen und Deploy
|
||||
|
||||
Java 25, Gradle-Wrapper.
|
||||
|
||||
```bash
|
||||
./gradlew build # inkl. Tests
|
||||
./gradlew uploadPlugin # nach ~/velocity/plugins/chat-bridge.jar, danach: sudo systemctl restart velocity
|
||||
```
|
||||
Reference in new issue
Block a user