README: ServerQuery, Gruppe Bridge, Query-Flood

This commit is contained in:
MineTec committed 2026-10-18 15:43:47 +02:00
1 parent 5bf3b845e4
commit e452c9b4d3
1 file changed
+10 -2
+10 -2
View File
@@ -27,8 +27,11 @@ im Spiel kommt jeder externe Sprecher einzeln an (Lautstärke-Kategorie „Disco
- Ein Raum ist aktiv, sobald auf mindestens zwei Seiten jemand ist. - Ein Raum ist aktiv, sobald auf mindestens zwei Seiten jemand ist.
- Bots verbinden sich nur, wenn der Raum aktiv ist und auf ihrer Seite jemand sitzt; danach bleiben - Bots verbinden sich nur, wenn der Raum aktiv ist und auf ihrer Seite jemand sitzt; danach bleiben
sie `lingerSeconds` (Standard 15) verbunden. sie `lingerSeconds` (Standard 15) verbunden.
- TeamSpeak: ein Beobachter-Client ist dauerhaft verbunden (1 Slot), Raum-Clients nur bei Bedarf. - TeamSpeak: eine ServerQuery über SSH (Port 10022) sieht alle Clients und Channels und belegt keinen
Fehlende Channels legt die Bridge unter `parentChannel` an (braucht Rechte zum Anlegen). Slot. Raum-Clients verbinden sich nur bei Bedarf. Fehlende Channels legt die Query unter `parentChannel` an.
- Rechte: Servergruppe „Bridge“ (Kopie von „Normal“) plus `b_channel_create_permanent`, `b_channel_create_child`,
`b_channel_create_modify_with_codec_opusvoice`, `b_client_ignore_antiflood`, `i_client_talk_power` 75.
Darin: die Identität des Query-Logins und alle Raum-Identitäten. Kein Serveradmin nötig.
- Discord: ein Bot pro Raum (ein Bot kann pro Server nur in einem Voice-Channel sein). Fehlende - Discord: ein Bot pro Raum (ein Bot kann pro Server nur in einem Voice-Channel sein). Fehlende
Channels legt der Bot in `category` an. Einladen mit Channels legt der Bot in `category` an. Einladen mit
`https://discord.com/oauth2/authorize?client_id=APP_ID&scope=bot&permissions=70255632` `https://discord.com/oauth2/authorize?client_id=APP_ID&scope=bot&permissions=70255632`
@@ -48,6 +51,11 @@ Vorlage: `bridge/config.example.yml`. Die echte `config.yml` enthält Bot-Tokens
- **TeamSpeak 6 (mhsl.eu)**: verlangt Security-Level 15, Nicknames höchstens 30 Zeichen. - **TeamSpeak 6 (mhsl.eu)**: verlangt Security-Level 15, Nicknames höchstens 30 Zeichen.
Schnelle Reconnects lösen den Flood-Schutz aus (IP-Bann), deshalb Backoff beim Verbinden. Schnelle Reconnects lösen den Flood-Schutz aus (IP-Bann), deshalb Backoff beim Verbinden.
Den Bot-Identitäten am besten `b_client_ignore_antiflood` geben. Den Bot-Identitäten am besten `b_client_ignore_antiflood` geben.
- **TeamSpeak-Query-Flood**: Die Query sperrt die IP schon nach wenigen schnellen Befehlen (Instanz-Bann,
nicht in der Bann-Liste des Servers, läuft nach einigen Minuten ab). Die Bridge hält mindestens 1 s Abstand;
sauberer ist es, ihre IP in `query_ip_allowlist.txt` des TS-Servers einzutragen.
- **UIDs**: ts3j rechnet die UID einer Identität anders als der TS6-Server. Eigene Clients erkennt die Bridge
deshalb an ihrer Client-ID, nicht an der UID.
- **Discord**: Die ersten Pakete nach dem Beitritt schlagen beim Entschlüsseln fehl - **Discord**: Die ersten Pakete nach dem Beitritt schlagen beim Entschlüsseln fehl
(„Decrypt failed“), bis DAVE die Schlüssel ausgehandelt hat. Das ist normal. („Decrypt failed“), bis DAVE die Schlüssel ausgehandelt hat. Das ist normal.
- Mit `-Dvoicebridge.ts3debug=true` loggt ts3j das TeamSpeak-Protokoll (Fehlercodes vom Server). - Mit `-Dvoicebridge.ts3debug=true` loggt ts3j das TeamSpeak-Protokoll (Fehlercodes vom Server).