![]() |
teamspeak server online benutzer ermitteln
hy there,
gibt es eine möglichkeit, von einem teamspeak server die momentan angemeldeten benutzer zu ermitteln?? wenn ja wie?? hat da jemand vllt nen kleinen code oder so?? es würde auch schon reichen wenn ich erstmal raus bekomme ob überhaupt noch jemand auf dem server eingeloggt ist oder nicht... danke für eure hilfe mfg caleb |
Re: teamspeak server online benutzer ermitteln
sorry muss mal pushen... ich komm da echt nicht weiter wie bekomm ich nur ermittelt ob noch welche on sind oder nicht??
|
Re: teamspeak server online benutzer ermitteln
Es gibt ein PHP Script, das nennt sich TSViewer. Das zeigt alle Channels und die User in den Channels an. Die gleiche Methode die der TS Viewer nutzt kannst Du auch verwenden.
|
Re: teamspeak server online benutzer ermitteln
hast 2 möglichkeiten
a) über die DLL die beiliegt bei client inkl. Pas-Beispiel b) über den TCP Managementport - siehe Server Doku |
Re: teamspeak server online benutzer ermitteln
joa danke ich denk mal das wird mir schon weiter helfen...
|
Re: teamspeak server online benutzer ermitteln
Sers @ all!
Es wird benötigt:
Delphi-Code + erklärung:
Delphi-Quellcode:
Mit freundlichen Grüßen, Andre
procedure TForm1.Button1Click(Sender: TObject);
var PlayerID, PlayerName: String; EOfRead: Boolean; //End Of Read aLine: String; I: Integer; begin with IdTCPClient1 do begin Host := '127.0.0.1'; //Server IP-Adresse Port := 51234; //Server TCP-Port Connect(); //Verbindung herstellen if (Connected) then //Verbindung erfolgreich aufgebaut, dann... begin aLine := ReadLn; //1. Zeile aus dem Buffer holen if not (aLine = '[TS]') then //Wenn die erste Zeile nicht "[TS]" ist dann begin Disconnect(); //Disconnecten vom Server MessageDlg('Kein TeamSpeak 2 Server', //Fehler meldung zeigen mtError,[mbOK],0); Exit; //Procedure beenden end; WriteLn('SEL 8767'); //Server auswählen, "SEL " + UDP Port aLine := ReadLn; //Zeile aus dem Buffer holen if not (aLine = 'OK') then //Wenn Server nicht ausgwählt werden kann, dann... begin Disconnect(); //Disconnecten vom Server MessageDlg('UDP-Port Falsch!', //Fehler meldung zeigen mtError,[mbOK],0); Exit; //Procedure beenden end; WriteLn('PL'); //Player Liste anfordern! EOfRead := False; //Ende der Repeat schleife = False repeat aLine := ReadLn; //Nächste Zeile aus dem Buffer if (aLine[1] + aLine[2] + aLine[3] + aLine[4] = 'p_id') then aLine := ReadLn; //Wenn die erste Zeile p_id ist dann //MUSS nochmal eine Zeile ausgelesen werden!! if (UpperCase(aLine[1] + aLine[2] + aLine[3] + aLine[4] + aLine[5]) = 'ERROR') or (aLine = 'OK') then EOfRead := True // Wenn niemand auf dem Server ist wird direkt nach p_id, //"error" oder "OK" ausgegeben, damit die App nicht abstürzt MUSS dies auch sein! else begin PlayerID := aLine; //Sollte einleuchtend sein Delete(PlayerID,Pos(#9,PlayerID),Length(PlayerID)); //Die "ID" vom rest trennen PlayerName := aLine; for I := 1 to 3 do Delete(PlayerName,1,Pos('"',PlayerName)); //Dies muss 3x durch geführt werden weil als erstes die IP ausgegeben wird, dann erst der Name! Delete(PlayerName,Pos('"',PlayerName),Length(PlayerName)); //Ab dem nächsten " den rest löschen! ListBox1.Items.Add(PlayerID + ' ' + PlayerName); //ID und Name in die ListBox eintragen! end; Application.ProcessMessages; //Alle nachrichten verarbeiten until (EOfRead) or (ReadLnTimedOut); //Auf EOfRead = True oder ReadLnTimedOut = True warten end; Disconnect(); //Verbindung Trennen end; end; |
Re: teamspeak server online benutzer ermitteln
aha, danke dafür, nur was ist tidtcpclient??? wp bekomm ich die komponente her??
mfg |
Re: teamspeak server online benutzer ermitteln
Zitat:
![]() ![]() |
Re: teamspeak server online benutzer ermitteln
ok danke, das hab cih auch hinnbekommen, und wenn ich jetzt aber auf meinen server connecten will, dann kommt eine fehler message mit dem fehlertext:
--------------------------- Debugger Exception Notification --------------------------- Project Project1.exe raised exception class EIdSocketError with message 'Socket Error # 10060 Connection timed out.'. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- woran könnte es liegen das er keine verbindung zum server auf baut, ich bin mit meinem tsclient auch auf dem server eingeloggt, könnte es daran liegen?? |
Re: teamspeak server online benutzer ermitteln
Und wo bleibt der Debugger stehen?
Du hast Server-Adresse und Port schon für Deinen TS-Server angepasst, oder? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz