# 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 `` ``**, **/unmute ``** (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 ```