Guten Abend,
ich komme leider gar nicht weiter ich versuche schon den ganzen Tag herrauszufinden wie ich etwas mit dem Client empfangen kann.
Delphi-Quellcode:
procedure TForm1.sendBefehl(Befehl: string);
var Packet: Array of Byte;
bytes: TIdBytes;
i:integer;
begin
SetLength(Packet, 13 + length(Befehl));
SetLength(bytes, 13 + length(Befehl));
for i:=1 to 11 do //Von Valve vorgegeben =0
begin
Packet[i]:=0;
end;
Packet[0] := 9 + length(Befehl); //Packet Size
Packet[8] := 2; // Packet Type (SERVEREXEC)
Packet[19] := 0; // Null terminator
for i:=12 to (length(Befehl)+11) do //Befehl in die Packet schreiben
begin
Packet[i] := TEncoding.Default.GetBytes(Befehl[(i-11)])[0];
end;
move(Packet[0], bytes[0], 13 + length(Befehl)); //Packet in TIdBytes zum versenden
idTCPClient1.IOHandler.Write(bytes); //senden
Memo1.Lines.Add(IntToStr(idTCPClient1.IOHandler.ReadByte)) //<-----Hier
end;
Ich sende dies an einen CSGO Server einen RCON Befehl der alle Bots kicken soll, das funktioniert auch.
Der Server schickt mir auch eine Antwort die ich mit Wireshark mir angeschaut habe, aber mit dem Befehl den ich benutze bekomme ich als Antwort "10"
Obwohl sie Kicked Bot ... ... heissen sollte.
Hier der Auszug von Wireshark wo der Server mir eine Antwort
https://gyazo.com/42a46ce76955ff366fb77cb3a242ffca
Ich hoffe ich hab es etwas verständlich erklärt und das ihr vll ein paar Ideen habt
Danke im Vorraus
MfG Bamer