![]() |
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? |
Re: teamspeak server online benutzer ermitteln
Zitat:
|
Re: teamspeak server online benutzer ermitteln
Das ist aber schon der Management-Port des TS-Servers, gelle? Nicht den normalen Port für den TS-Client benutzen.
|
Re: teamspeak server online benutzer ermitteln
ok und mit ausgeschalteter firewall hab ich es dann auch mal probiert, aber auch das selbe, er brauch beim verbinden ne ganze weile und dann kommt das mit zeit überschritten...
|
Re: teamspeak server online benutzer ermitteln
also ich hab im ts client ja rechts das fenster (mit "server" und "server ip") und da hab ich die daten übernommen sind diese richtig??
|
Re: teamspeak server online benutzer ermitteln
Nein. Das ist der Port für die Voice-Clients.
Der TS-Server hört aber auf zwei (eigentlich 3) Ports: 1.) Web-Management Port 2.) Telnet - Management-Port 3.) Voice-Port. Für den normalen TS-Client ist nur der Voice-Port wichtig. Der Web-Management Port ist wichtig, wenn man so Sachen wie Berechtigungen der User verwalten will. Wichtig für diese Abfragen die Du machen willst ist der Telnet-Management Port. Der steht in der Regel in der Server-Config. Nachtrag zum Testen: Guck Dir mal diese Seite hier an: ![]() Dort wird genau das beschrieben, was der Code macht. Also probiers mit Putty erstmal von Hand - wenn das klappt, dann kannst Du das Programm darauf ansetzen. |
Re: teamspeak server online benutzer ermitteln
1. Um an die Player List zu kommen brauch mal keinen Web-Manager Port, den brauch mal nur um aufs Admin-Web-Interface zu zugreifen!
2. Google, wenn ich dir schon den Komponente Name schreib, kannst du auch in Google suche was das ist, wie man es benutzt, wie du es installieren kannst, wo du es Downloaden kannst! - Mach den Crash-Kurs und Google dir Grundwiessen! Mit freundlich Grüßen, Andre |
Re: teamspeak server online benutzer ermitteln
Zitat:
Zitat:
|
Re: teamspeak server online benutzer ermitteln
1. Ich glaube du kennst die Differenz zwischen TCP-Port und HTTP-Port!
2. Da gebe ich dir gerne Recht! Die Rechtschreibung ist wirklich nicht mein Ding! :gruebel: |
Re: teamspeak server online benutzer ermitteln
Zitat:
|
Re: teamspeak server online benutzer ermitteln
Ich meine damit, dass der TCP-Port dafür da ist, um eine Verbindung über Telnet auf zubauen,
und der HTTP-Port für das Web-Interface da ist. |
Re: teamspeak server online benutzer ermitteln
Es gibt kein "TCP-Port", TCP ist ein Protokoll, es sind nur Ports definiert, bei denen man sich per TCP-Protokoll anmelden kann.
|
Re: teamspeak server online benutzer ermitteln
Zitat:
Phoenix hat nur gesagt, dass lbccaleb den Telnet-Management-Port braucht, mehr nicht. |
Re: teamspeak server online benutzer ermitteln
Lassen wirs^^... Zurück zum Thema... :wink:
|
Re: teamspeak server online benutzer ermitteln
denn ich hab von solch telnet dingen null schimmer, ich fux mich da schon rein so ist nicht, aber das sit normalerweise nicht die art anwendungen die ich normal programmiere, nun hab ich aber immer noch das problem mit dem zugriff auf den server, ich bekomm keine verbindung her gestellt, denke mal das liegt an der falschen ip, hab auch alles berücksichtigt was bis her geschrieben wurde, nur seh ich da noch nicht so recht durch... :wall: :wall: :wall: aber sonnst denk ich mal hab ich alles, und mein testprog scheint ja auch zu laufen....
mfg |
Re: teamspeak server online benutzer ermitteln
Hrm? Wieso sollte die IP nicht stimmen? Wenn der TS-Client auf diese IP verbinden kann, dann ist es die richtige.
Ich gehe nur jede Wette ein, Du weisst nicht, welcher Port für die Konfiguration des TS-Servers (via Telnet-Protokoll) verwendet wird. Die kann Dir der TS-Admin sagen. |
Re: teamspeak server online benutzer ermitteln
Der standardmäßige Telnet-Port ist 23, aber der Server-Admin kann als Portnummer jede unterhalb von 1024 bestimmen. Da hilft wohl nur fragen ;)
|
Re: teamspeak server online benutzer ermitteln
Erst lesen, dann Posten.
1.) Teamspeak benutzt zur Administration zwar das Telnet-Protokoll, es ist aber keine Verbindung zu einem Telnet Dienst. Deswegen stimmt Port 23 schonmal gar nicht. 2.) Die Ports unter 1024 sind priviligierte Ports und können nur von Prozessen mit Root-Rechten erlangt werden. Teamspeak sollte tunlichst nicht als Root laufen, hier sind also im Prinzip genau alle Ports ausser denen < 1024 gefragt. Standard Port ist für den TS-Telnet zugang übrigens '51234'. Ist aber schon in den Moment hinfällig, wenn es auf dem Rechner mehr als einen TS-Server gibt - dann hat logischerweise jeder seinen eigenen Port. |
Re: teamspeak server online benutzer ermitteln
mhh ich bin selber admin ;-) dumme an der geschichte ist nur, der server steht 350km weit von mir wech, und ich kann dort vor nächstes we nicht mehr rauf, und laufen tut der auch schon ewigkeiten, keine ahnung mehr was ich damals als prot da eingestellt hab, naja da hilft wohl nichts anderes als abwarten bis ich wieder zu hause bin und dann nachsehen .. ;-) aber auf jedenfall danke an allen beteiligten für die hilfe...
mfg |
Re: teamspeak server online benutzer ermitteln
Wenn Du den Web-Admin-Port noch kennst, dann kannst Du da (glaub ich) nachgucken.
Ansonsten versuchs mal mit dem Standard-Port - wenn Du den selber eingerichtet hast und nix geändert hast, dann wird das wahrscheinlich noch der Standardport sein. |
Re: teamspeak server online benutzer ermitteln
hab ich schon probiert, also der standartport war ja 51234?? oder 8767?? also die beiden hab ich auf jeden fall ausprobiert und mit denen ging es nicht...
|
Re: teamspeak server online benutzer ermitteln
Bei TeamSpeak sind die Standart Ports:
TCP-Query-Port: 51234 Virtueller-Server: 8767 HTTP-Port: 14534 Denn HTTP-Port brauch man in diesem fall aber nicht. Hier hab ich noch ein Tutorial gefunden! ![]() Mit freundlichen Grüßen, Andre |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 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