Vorhandenes Benutzersystem auf TeamSpeak-3-Server übertragen


In diesem Artikel geht es darum, Euch zu zeigen, wie Ihr Benutzern, die bereits in einem vorhandenen Benutzersystem einen Namen und Passwort haben (z.B. in einem Forum/Webseite/MMO), mit ihren Daten ebenfalls Zugang zu Eurem TeamSpeak 3 Server gewähren könnt. Im folgenden wird von "Forum" die Rede sein, was aber nur als Beispiel dient; generell ist es durch jegliche Art von Community ersetzbar.

Mögliche Szenarios:

Nur Mitglieder: Ihr wollt einen TeamSpeak 3 Server erstellen, möchtet aber, dass nur Forumsmitglieder den Server betreten können (und ein Server-Passwort kommt für Euch nicht in Frage, da Eure Community zu groß ist oder weil Ihr ohne große Umstände Rechte zum Betreten des Servers bestimmten Mitgliedern wieder entziehen wollt).
Besondere Rechte: Ihr möchtet Euren Mitgliedern je nach Forum-Rang oder Anzahl der Posts etc. bestimmte Server- oder Channelgruppen zuordnen.

Um die vorhandenen Benutzer auf Euren TS3-Server zu übertragen, ist jedoch (aus Entwicklersicht) noch etwas Code-Arbeit vonnöten. Lasst uns daher die beiden Perspektiven, Entwickler und Benutzer, etwas näher betrachten:

Aus Benutzersicht:

Nach dem Einloggen werdet Ihr einen Link "Betretet unseren TeamSpeak 3 Server" sehen, welches zu einer anderen Seite führen wird, wo dem Benutzer mitgeteilt wird, dass er den TS3-Client runterladen und installieren soll (falls nicht bereits geschehen) und dann auf "Hier klicken, um zu verbinden" drückt. Wenn Ihr den Link drückt, wird der TeamSpeak 3 Client gestartet und wird sich dann mit dem entsprechenden TeamSpeak 3 Server verbinden. Optional kann auch noch ein Bookmark eingerichtet werden, sodass die ganze Prozedur beim nächsten Mal nicht noch einmal durchlaufen werden muss. Sollte ein Benutzer vom Forum verbannt/gelöscht sein, so wird ihm auch keine Verbindung zum TS3-Server möglich sein.

Aus Entwicklersicht:

Für jedes Forumsmitglied erstellt Ihr einen Berechtigungsschlüssel (früher im Client "Token" genannt), eine Zeichenkette, die den Benutzer authentifiziert. Verwendet hierfür den Serverbefehl "tokenadd", etwa wie folgt:

tokenadd tokentype=0 tokenid1=7 tokenid2=0 tokendescription=Automatisch\serstellter\sToken\sfür\s$USER tokencustomset=ident=forum_user\svalue=$USER\pident=forum_id\svalue=$USER_ID

Beachtet, dass im Beispiel der "tokencustomset"-Parameter benutzt wurde, um jegliche Parameter anzugeben, die Ihr benötigt, um den Benutzer in Eurer Forumsdatenbank ausfindig zu machen (und somit die Benutzerübertragung auf Euren TS3-Server zu ermöglichen).

Nachdem Ihr den Berechtigungsschlüssel (Token) erstellt habt, müsst Ihr nun auf Eurer Homepage einen Link zum Verbinden zum Server erstellen:

<a href="ts3server://euer-ts3-server.de?nickname=$USER&addbookmark=TS-Forum-Server&token=eKnFZQ9EK7G7MhtuQB6+N2B1PNZZ6OZL3ycDp2OW/">Hier klicken, um zu verbinden</a>

Der Parameter "addbookmark" ist optional, wird aber empfohlen (dadurch wird es dem Benutzer möglich, die Adresse Eures Servers als Lesezeichen zu speichern).

Nun müsst Ihr nur noch dafür sorgen, dass jegliche Rechte bei TeamSpeak 3 den Rechten auf Eurem Forum jedesmal angepasst werden, wenn es dort Änderungen gibt. Nehmen wir z.B. an, Ihr möchtet Benutzeraccounts bei TS3 löschen, wenn diese auf Eurem Forum gelöscht werden. Findet den Code, der beim Löschen eines Forums-Users durchlaufen wird, und fügt den Code hinzu, der das Serverquery-Interface verwendet, um mit dem TS3-Server zu interagieren. Der Code könnte z.B. so aussehen (Zeilen mit ">" werden von Euch gesendet, der Rest sind Servernachrichten):

> customsearch ident=forum_account pattern=$USER
cldbid=123 ident=forum_account value=$USER
error id=0 msg=ok
> clientdbdelete cldbid=123
error id=0 msg=ok

Natürlich gibt es noch viele weitere Möglichkeiten; z.B. könnt Ihr bestimmte TS3-Servergruppen erstellen lassen für Benutzer, die auf Eurem Forum bereits mehr als eine bestimmte Anzahl Posts geschrieben haben, usw.



Zurück zur Kategorie: TeamSpeak 3 Server

Zurück zur Hauptseite








Kommentare
blog comments powered by Disqus