Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
25.06.2003, 21:25
BRoDO



Moin, ich hab gerade ein kleines tut geschrieben und möchte gerne wissen, was man daran noch verbessern kann. (rechtschreibung, grammatik, sachliche richtigkeit usw..) Wenns fertig ist schicke ichs dann an dhcc.

Rcon über das HL-Serverprotokoll

In diesem Tutorial möchte ich euch zeigen wie man über ein externes Programm Rcon-Befehle an einen HL-Server sendet. King2500 ist in seinem Tutorial schon auf die wichtigsten Grundsätze des HL-Serverprokolles eingegangen und ich setzte alles was darin steht einfach mal voraus. In meinem Beispiel benutze ich Delphi 6 und die Indy-Komponenten, aber ich denke das ganze lässt sich recht einfach auf andere sprachen übertragen.

Also, los geht's:
Zu erst senden wir dem Server 4 255ger (wie immer). An diesen String hängen wir dann noch ein 'challenge rcon' an.
In Delphi sieht das dann so aus:

Quellcode:UDP.Send('ÿÿÿÿchallenge rcon');UDP ist hierbei der Name eines TIdUDPClients. (Indy-Komponente). Als nächstes müssen wir uns die Antwort, die der Server sendet Holen:

Quellcode:UDP.ReceiveString();Das was wir da bekommen sieht in etwa so aus: 'ÿÿÿÿchallenge rcon xxxxxxxxxx'. xxxxxxxxxx ist eine zufällig vergebene Zahl mit 10 Ziffern. Ich werde sie ab jetzt mit 'Challenge-Zahl' bezeichnen.

Nachdem wir nun unsere Chellenge-Zahl haben, können wir den eigentlichen Rcon-Befehl senden.
Dazu brauchen wir drei Dinge: Die Zahl ,das Rcon-Password und natürlich den Rcon-Befehl den wir ausführen wollen. Das müssen wir dann nur noch alles zusammen an den Server senden und 4 255ger davor setzen:

Quellcode:UPD.Send('ÿÿÿÿrcon chellenge-zahl rcon-password rconbefehl');Wenn wir jetzt ein

Quellcode:UDP.ReceiveString();machen bekommen wir 4 ÿ's (255ger) und alles das, was durch die Ausführung des Befehles in der Console ausgegeben wurde. Wenn durch den Befehl keine Ausgabe in der Console verursacht wird (z.B. beim ändern einer Variable) bekommen wir ein 'ÿÿÿÿl'. Bei der Verwendung eines falschen Rcon-Passwords gibts ein 'ÿÿÿÿlBad rcon_password.'.

Um alle Informationen zu bekommen, die in der Serverconsole dargestellt werden (z.B. Wer wen umbringt, was die Spieler sagen usw.) müssen wir wie folgt vorgehen:

Zu erst müssen 'log' auf 'on' und 'mp_logfile' auf '1' stellen. Wie das per rcon geht dürfte ja jetzt bekannt sein. Danach schicken wir noch ein 'logadress' gefolgt von unserer IP und dem Port, an den die Daten gesendet werden sollen - fertig.

Have a lot of fun

--

[ Kein STEAM | Kein TGC/TCPA | Keine Softwarepatente |Keine Alternativ-OS-Propaganda in Windows-Threads | Keine Bewertungen ][KEIN GARNIX!]


Dieser Beitrag wurde am 25.06.2003 um 21:39 von BRoDO bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
25.06.2003, 22:27
K-Putt



Sorry für die Frage, aber in welcher sprache ist das geschrieben? Delphi?

--

Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database

zum Seitenanfang zum Seitenende Profil || Suche
002
25.06.2003, 22:29
BRoDO



ich weis, selfquotes sucken, aber:

Zitat:
BRoDO postete
In meinem Beispiel benutze ich Delphi 6 und die Indy-Komponenten, ....
o_0

--

[ Kein STEAM | Kein TGC/TCPA | Keine Softwarepatente |Keine Alternativ-OS-Propaganda in Windows-Threads | Keine Bewertungen ][KEIN GARNIX!]

zum Seitenanfang zum Seitenende Profil || Suche
003
26.06.2003, 08:42
K-Putt



Oh sorry, ich habs nicht gelesen, kenn delphi nicht.
Ein Tut um das ganze als Konsolenanwendung in C zu realisieren würde mir persönlich besser gefallen ;)

--

Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database

zum Seitenanfang zum Seitenende Profil || Suche
004
26.06.2003, 10:47
Megge



ich finds gut, allerdings hat es so auf den ersten blick ein par rechtschreibefehler drin, die wesentlich sein könnten.

bsp: einmal schreibst du rcon_password, ein anderes mal rcon-password. was ist denn nu richtig ? oder gibt es beides ? das eine für den empfang, das andere als befehl ?

als nicht-delhpi mensch und selten-rcon anwender bereitet mir das schwirigkeiten :)

--

zum Seitenanfang zum Seitenende Profil || Suche
005
26.06.2003, 12:07
WareWolf



vielleicht schreibste auch rein, zu was man das überhaupt braucht ? was das Ganze tuen tut ? mir sagt es nämlich gar nichts.

--

Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴
WW

zum Seitenanfang zum Seitenende Profil || Suche
006
26.06.2003, 12:18
Megge



na damit kann man nen hl server remote administrieren. du kannst alles (?) mit hl machen, was man tun könnte, wenn man vor nem dedicated server sitzt, der auf deinem pc läuft. also spieler kicken, map changen, passwort raufsetzen, leute bannen; das ganze befehlsspektrum eben. und mit so nem programm eben auch noch bequem mit z.B. ner GUI oder zum einspeisen ins netz um den hl server gar per webinterface zu steuern (dazu gibts aber auch noch was im OT forum).

--


Dieser Beitrag wurde am 26.06.2003 um 12:18 von Megge bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
26.06.2003, 22:37
BRoDO



Zitat:
Megge postete
...
bsp: einmal schreibst du rcon_password, ein anderes mal rcon-password. was ist denn nu richtig ? oder gibt es beides ? das eine für den empfang, das andere als befehl ?
also das 'Bad rcon_password' ist die fehlermeldung, die man vom server zurückbekommt, wenn man ein falsches passwort sendet. deshalb steht das da so.

Zitat:
du kannst alles (?) mit hl machen, was man tun könnte, wenn man vor nem dedicated server sitzt, der auf deinem pc läuft.
ja, du kannst alles mit hl machen. ein beispiel wie ein programm aussehen könnte, das so funktioniert ist HLSW. (www.hlsw.de)

/edit:
das tut von king2500 gibts übrigens hier http://www.resourcecode.de/view.php?id=774 .

--

[ Kein STEAM | Kein TGC/TCPA | Keine Softwarepatente |Keine Alternativ-OS-Propaganda in Windows-Threads | Keine Bewertungen ][KEIN GARNIX!]


Dieser Beitrag wurde am 26.06.2003 um 22:58 von BRoDO bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche