Skip to content

CraftTogetherMC/VelocitySpeak

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

616 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VelocitySpeak

VelocitySpeak verbindet euren Velocity-Minecraft-Proxy mit einem TeamSpeak 3 Server (über ServerQuery) und ermöglicht eine bidirektionale Kommunikation:

  • TeamSpeak-Events und -Chats erscheinen in Minecraft
  • Minecraft-Chat/Join/Quit/Kick kann (optional) nach TeamSpeak gespiegelt werden
  • Zusätzlich stehen /ts- und /tsa-Kommandos zur Interaktion mit TeamSpeak zur Verfügung

Technischer Kern: VelocitySpeak hält eine TS3-ServerQuery-Verbindung, synchronisiert Client-/Channel-Listen und routet Nachrichten/Ereignisse gemäß Konfiguration und Permissions.


Features

1) TeamSpeak ➜ Minecraft (Anzeige in Minecraft)

Je nach Konfiguration werden in Minecraft angezeigt:

  • Server-Joins/Quits (TeamSpeak-User betreten/verlassen den TS-Server)
  • Channel-Events (User betreten/verlassen den konfigurierten Channel)
  • Channel-Chat und Server-Broadcasts
  • Private Messages aus TeamSpeak an Minecraft-Spieler (konversationsbasiert)

Optional:

  • Konsolen-Logging der TS-Ereignisse

2) Minecraft ➜ TeamSpeak (Weiterleitung nach TeamSpeak)

Je nach Konfiguration können nach TeamSpeak gesendet werden:

  • Chat (Channel oder Server oder deaktiviert)
  • Login/Logout
  • Kick (Ban ist im Code vorbereitet/kommentiert)

Das Routing erfolgt über SendChatToTeamspeak:

  • channel → Nachrichten in den Channel, in dem die Query aktuell ist
  • server → Nachrichten serverweit
  • none → Deaktiviert

3) Minecraft-Kommandos (/ts, /tsa)

  • /ts: User-Kommandos (z. B. Chat, PM, List, Info, Mute, Broadcast, Poke …)
  • /tsa: Admin-Kommandos (z. B. Kick/Ban/ChannelKick, Status, Reload, Set …)

4) TeamSpeak-Kommandos (optional)

Wenn aktiviert, können TeamSpeak-User über einen Prefix (Standard !) Kommandos aus TeamSpeak heraus ausführen:

  • interne TS-Kommandos (z. B. List/PM – abhängig von config)
  • sowie (freigegebene) Proxy-/Server-Kommandos via Whitelist/Permissions-Mapping

Voraussetzungen

  • Velocity Proxy
  • TeamSpeak 3 Server
  • ServerQuery-Zugangsdaten (Query-Port, User, Passwort)
  • Netzwerkzugriff vom Proxy auf:
    • TS Voice-Port (optional, meist nicht nötig für Query)
    • TS Query-Port (Standard 10011)

Installation

  1. Plugin-JAR in den Velocity plugins/ Ordner legen
  2. Proxy starten (Konfigurationsdateien werden erzeugt)
  3. config.yml anpassen (TS-IP, Query-Port, Query-User/Passwort, ChannelID, …)
  4. Proxy neu starten oder /tsa reload ausführen

Konfiguration (config.yml)

Die wichtigsten Parameter:

TeamSpeak Verbindung

  • main.TeamSpeakIp – IP/Host des TS-Servers
  • main.QueryPort – Query-Port (Standard 10011)
  • main.QueryUsername / main.QueryPassword – Query Credentials
  • teamspeak.TeamspeakNickname – Nickname der Query-Session

Ziel & Weiterleitung

  • teamspeak.SendServerEventsToMinecraft – TS Join/Quit in MC
  • teamspeak.SendServerBroadcastsToMinecraft – TS Server-Broadcasts in MC
  • teamspeak.SendChannelEventsToMinecraft – Channel Join/Leave in MC
  • teamspeak.SendChannelChatToMinecraft – Channel-Chat in MC
  • teamspeak.SendChatToTeamspeakserver | channel | none

Private Messaging

  • teamspeak.EnablePrivateMessaging – ermöglicht gezielte PMs (MC ➜ TS und TS ➜ MC, ohne TS-PMs global zu leaken)

Floodrate / Stabilität

  • teamspeak.Floodrate – Sendetakt in ms (Default 300). Bei zu aggressiven Werten droht Flood-Ban (TS-Seitig).

TeamSpeak-Commands

  • teamspeak-commands.Enabled – TS Command-Bridge aktivieren
  • teamspeak-commands.CommandPrefix – Prefix in TS (Standard !)
  • teamspeak-commands.internal.* – interne TS-Kommandos aktivieren/deaktivieren

Commands

Minecraft: /ts ...

Typische Unterkommandos:

  • help
  • info
  • list
  • mute
  • broadcast <message>
  • chat <message>
  • pm <target> <message>
  • poke <target> <message>
  • reply <message>

Minecraft: /tsa ...

Typische Unterkommandos:

  • adminhelp
  • ban <target> [reason]
  • kick <target> [reason]
  • channelkick <target> [reason]
  • set <property> <value>
  • status
  • reload

Hinweis: Welche Kommandos effektiv nutzbar sind, hängt von euren Permissions ab.


Permissions

VelocitySpeak nutzt ein BungeeSpeak-kompatibles Permission-Schema, u. a.:

  • bungeespeak.commands.* (User/Admin-Kommandos)
  • bungeespeak.messages.* (Anzeige von TS-Events in MC)
  • bungeespeak.sendteamspeak.* (Weiterleitung MC ➜ TS)
    • z. B. bungeespeak.sendteamspeak.chat, join, quit, kick, …

TeamSpeak Permissions-Mapping (permissions.yml)

Wenn TeamSpeak-Commands aktiviert sind, lädt VelocitySpeak die ServerGroups vom TS-Server und pflegt ein permissions.yml Mapping:

  • pro ServerGroup: blocked, op, permissions, command-whitelist, command-blacklist, inherits

Damit lässt sich steuern:

  • welche TS-Gruppen überhaupt Kommandos ausführen dürfen
  • welche Kommandos erlaubt/gesperrt sind
  • welche Proxy-Permissions der TS-User beim Ausführen bekommt

Troubleshooting / Operations

  • Keine Nachrichten / keine Events?

    • Query-Credentials prüfen (User/Passwort/Port)
    • ChannelID korrekt?
    • SendChatToTeamspeak / Send*ToMinecraft korrekt gesetzt?
    • Permissions (Minecraft) vorhanden?
  • Flood-Ban / Rate-Limits

    • Floodrate erhöhen (langsamer senden)
    • Query-IP am TS-Server whitelisten (empfohlen)
  • Security Best Practice

    • Query-User minimal berechtigen (Least Privilege)
    • Query-Passwort nicht öffentlich speichern/teilen
    • Command-Bridge nur mit Whitelist und restriktiven Gruppen aktivieren

Lizenz / Credits

Autoren (Plugin-Metadaten): Deathmarine, Firedroide, but2002, greycap, J0schlZ
Projekt-URL: https://github.com/CraftTogetherMC/VelocitySpeak

About

This plugin connects the chats of a Minecraft and a TeamSpeak server!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%