Wenn ihr wissen wollt wie man in Delphi ein TS-Tool programmiert, das per Telnet auf den Server zugreift, dann kann ich euch helfen:
Hier der Code mit dem man den Client verbinden lässt.
Code
procedure TForm1.Button1Click(Sender: TObject);
begin
with IdTelnet1 do
begin
Host := '84.137.153.185'; // Hier kommt die IP des Servers hin.
Port := 51234; // Hier kommt der TCP-Port (Vorsicht: Nicht UDP-Port) hin
Connect(); // Hier baut der Client die Verbindung auf.
WriteLn('sel 8767');
// Hier sendet der Client mittels WriteLn den Befehl zum Selektieren des UDP-Port (Standart: 8767)
idTelnet1.WriteLn('login name passwort'); // Hier loggt man sich mit seinen SA-Logindaten ein.
WriteLn('sl'); // Hier wird der Befehl für die Server-Info gesendet
WriteLn('cl'); // Hier für dei Channel-Liste
WriteLn('pl'); // Hier für die Player-Liste
WriteLn('cl');
// Die Befehle werden gleich ganz oft gesendet damit der Client immer genug zu lesen hat und nicht anstürzt!
WriteLn('pl');
WriteLn('cl');
WriteLn('pl');
WriteLn('cl');
WriteLn('pl');
end;
end;
Alles anzeigen
Wenn ihr bis hierhin nicht alles verstanden haben solltet stehe ich für Fragen natürlich immer offen!
Nun kommt der Code mit dem man die gesendeten Befehle ausließt und in eine Textbox einfügt:
Code
procedure TForm1.Button2Click(Sender: TObject);
var i, v: Integer; // Hier werden die Variablen für die For-Schleife deklariert.
begin
v := SpinEdit1.Value; // v = Der Wert aus dem SpinEdit
for i := 1 to v do // Für i = 1 zum Wert des SpinEdits mache das...
begin
try
Memo1.Lines.Add(idtelnet1.readln());
// Hier wird mittels ReadLn gelesen was gesendet wurde und in eine Textarea eingetragen
except // Das SpinEdit gibt an wie viele Einträge gelesen werden sollen
Memo1.Lines.Add('ERROR'); // Wenn das auslesen nicht klappt erscheint ERROR.
end;
end;
end;
Alles anzeigen
Ich hoffe bis dort hin ist alles klar, sonst fragt einfach!
Zum Schluss noch ein paar Funktionen die ihr nutzen könnt:
Code
procedure TForm1.Button3Click(Sender: TObject);
begin
idTelnet1.WriteLn('kick 20'); // Hier wird der Player mit der p_id 20 gekickt.
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
idTelnet1.WriteLn('removeclient 20'); // Hier bekommt der Player mit der p_id 20 ein 'Link Disengaged'
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
idTelnet1.WriteLn('mptc 20 22'); // Hier wird Player 20 in den Channel mit der c_id 22 geswitcht
end;
Alles anzeigen
Wenn ihr noch mehr befehle braucht fragt einfach, vielleicht weiß ich ja die, die ihr braucht!!!
Danke, dass ihr euch das Tutorial angeschaut habt, ich warte schon auf eure Fragen!!!
Mfg
DelphiX-Perte