Forum

> > CS2D > Allgemein > CS2D RCON Protokoll
Forums overviewCS2D overviewAllgemein overviewLog in to reply

German CS2D RCON Protokoll

7 replies
To the start Previous 1 Next To the start

old CS2D RCON Protokoll

Jermuk
User Off Offline

Quote
Hallo an alle,

ich möchte gerne ein Programm programmieren, was den Status eines Servers in eine Datei speichert. Jedoch habe ich ein Problem: Wie ist das CS2D Protokoll aufgebaut? Ich habe in einem anderen Beitrag gelesen, dass ich Wireshark benutzen sollte, was mir ein bisschen geholfen hat. Ist das Protokoll so aufgebaut? : "[rcon passwort] [rcon befehl]". Ich habe in einem anderen Programm (von cs2d.ch) was funktioniert, folgendes gesehen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
while (1):	
	rcon_template = "<B%usH%us"
	
	rcon_packet = "\x01\x00\xF2" + struct.pack(rcon_template % (len(rcon_password), len(rcon_command)),
		len(rcon_password),
		rcon_password,
		len(rcon_command),
		rcon_command,
	)
	
	host = rcon_server
	port = rcon_port
	buf = 1024
	addr = (host,port)

	UDPSock = socket(AF_INET,SOCK_DGRAM)		
			
	if(UDPSock.sendto(rcon_packet,addr)):
		print "Sent " + rcon_command + " to " + rcon_server
	
	sleep(rcon_waittime)
			
UDPSock.close()
Doch leider kenn ich mich mit Python nicht so gut aus und kann das leider nur zu hälfte verstehen. Was sind diese Zeichen, die vor dem Passwort gesendet werden? Und was hat es mit diesem Template auf sich?

Vielen Dank im Voraus,

Gruß Jermuk

EDIT: Es muss auf jeden Fall "\x01\x00\xF2" gesendet werden, ansonsten ist es keine CS2D Nachricht.
edited 1×, last 12.02.10 06:12:31 pm

old Re: CS2D RCON Protokoll

Roni
User Off Offline

Quote
omg...

ich frag mich wozu DC überhaupt eine HELP IN CS2D EINBAUT.

schau bei den ingame Help datein unter rcon oder dedicated server (weiß ncith genau) dort ist alles erklärt was du brauchst.

old Re: CS2D RCON Protokoll

Jermuk
User Off Offline

Quote
Oh, sorry!
Das hatte ich übersehen!
Werde es mir mal angucken!

EDIT:
Nun habe ich folgendes Problem:
1
2
char befehl[256] = "\x01\x00\xF2\x03\x01\x02\x03\x09\x65\x63\x68\x6f\x20\x68\x61\x6x\x6c\x6f"; //(Das heißt:1,0,242,3 (Länge des Passwortes),1,2,3,9 (Länge des Befehls),s,a,y, ,h,a,l,l,o)
sendto (s,befehl,strlen(befehl),0,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN));
Warum zeigt er mir dann immer noch an Failed RCON attempt und unkown msg ?
Wenn das Passwort 123 ist?
Dies ist ein Code Schnipsel aus meinem C++ Programm.
Er sagt mir auch, dass er 265 bytes gesendet hat, aber das sind doch nicht so viele?

Gruß Jermuk
edited 1×, last 13.02.10 09:20:33 pm

old Re: CS2D RCON Protokoll

Arghs-
User Off Offline

Quote
Dein buffer ist 256 bytes groß d.h. am ende stehen noch leere bytes die du mit sendest, vergiß außerdem nicht das die länge des Befehls 2 bytes beträgt (in deinem Fall "\x09\x00" wenn ich mich nicht täusche).

old Re: CS2D RCON Protokoll

Jermuk
User Off Offline

Quote
Vielen Dank für die Antwort!
Ich habe es in C++ aufgegeben und, wie man an meinem anderen Thread sieht, erfolgreich in PHP geschrieben.
Wie hättest du das denn in C++ gemacht?

old Re: CS2D RCON Protokoll

YellowBanana
BANNED Off Offline

Quote
Hallo Jermuk,

Mein Deutsch ist nicht sehr gut, entschuldigung.

Ich habe ein kleines Tool gemacht zur Fernsteuerung des Servers in C #. So kann man sich ein paar gute Tipps, wie es in C + + zu verwenden, oder Sie können nur für das Projekt bearbeitet.
Hier ist ein Link zum Projekt:
http://unrealsoftware.de/files_show.php?file=793

Grüße,

YellowBanana
edited 1×, last 19.02.10 05:37:38 pm

Admin/mod comment

Sorry, no english here. /TheKilledDeath

old Re: CS2D RCON Protokoll

Arghs-
User Off Offline

Quote
Jermuk has written
Vielen Dank für die Antwort!
Ich habe es in C++ aufgegeben und, wie man an meinem anderen Thread sieht, erfolgreich in PHP geschrieben.
Wie hättest du das denn in C++ gemacht?


Ich hätte es so ähnlich gemacht, bin grade nicht zuhause kann daher schlecht nachgucken
To the start Previous 1 Next To the start
Log in to replyAllgemein overviewCS2D overviewForums overview