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.
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
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 istserver→ Nachrichten serverweitnone→ Deaktiviert
- /ts: User-Kommandos (z. B. Chat, PM, List, Info, Mute, Broadcast, Poke …)
- /tsa: Admin-Kommandos (z. B. Kick/Ban/ChannelKick, Status, Reload, Set …)
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
- 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)
- Plugin-JAR in den Velocity
plugins/Ordner legen - Proxy starten (Konfigurationsdateien werden erzeugt)
config.ymlanpassen (TS-IP, Query-Port, Query-User/Passwort, ChannelID, …)- Proxy neu starten oder
/tsa reloadausführen
Die wichtigsten Parameter:
main.TeamSpeakIp– IP/Host des TS-Serversmain.QueryPort– Query-Port (Standard 10011)main.QueryUsername/main.QueryPassword– Query Credentialsteamspeak.TeamspeakNickname– Nickname der Query-Session
teamspeak.SendServerEventsToMinecraft– TS Join/Quit in MCteamspeak.SendServerBroadcastsToMinecraft– TS Server-Broadcasts in MCteamspeak.SendChannelEventsToMinecraft– Channel Join/Leave in MCteamspeak.SendChannelChatToMinecraft– Channel-Chat in MCteamspeak.SendChatToTeamspeak–server|channel|none
teamspeak.EnablePrivateMessaging– ermöglicht gezielte PMs (MC ➜ TS und TS ➜ MC, ohne TS-PMs global zu leaken)
teamspeak.Floodrate– Sendetakt in ms (Default 300). Bei zu aggressiven Werten droht Flood-Ban (TS-Seitig).
teamspeak-commands.Enabled– TS Command-Bridge aktivierenteamspeak-commands.CommandPrefix– Prefix in TS (Standard!)teamspeak-commands.internal.*– interne TS-Kommandos aktivieren/deaktivieren
Typische Unterkommandos:
helpinfolistmutebroadcast <message>chat <message>pm <target> <message>poke <target> <message>reply <message>
Typische Unterkommandos:
adminhelpban <target> [reason]kick <target> [reason]channelkick <target> [reason]set <property> <value>statusreload
Hinweis: Welche Kommandos effektiv nutzbar sind, hängt von euren Permissions ab.
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, …
- z. B.
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
-
Keine Nachrichten / keine Events?
- Query-Credentials prüfen (User/Passwort/Port)
- ChannelID korrekt?
SendChatToTeamspeak/Send*ToMinecraftkorrekt gesetzt?- Permissions (Minecraft) vorhanden?
-
Flood-Ban / Rate-Limits
Floodrateerhö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
Autoren (Plugin-Metadaten): Deathmarine, Firedroide, but2002, greycap, J0schlZ
Projekt-URL: https://github.com/CraftTogetherMC/VelocitySpeak