Zum Inhalt springen

Counter-Strike UDP Server und VB


Unknown

Empfohlene Beiträge

Kann mi vielleicht jemand helfen, ich wuerd naemlich gern wissen wie ich einen cs server dazu bringe mir infos zu schicken (spieler,map etc.)

ich weiss wie das eigentlich ablaufen soll

Man muss erst 4 x Bytes mit dem Wert 255 dann einen string mit dem befehl und dann einen ZeroByte schicken.

Schoen und gut aber leider funktinackelt das in der Praxis net !

Weiss jemand antwort ?

Ich versuch das in VB und logischerweise mus man das mit Winsock machen

Thx im Vorraus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Unknown

Schoen und gut aber leider funktinackelt das in der Praxis net !

Weiss jemand antwort ?

Was funktioniert nicht? Ich nehme an, Du hast schon ein Stück Software geschrieben? Poste hier doch mal Deinen Code, ansonsten wird es schwierig, Dir zu helfen.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

 Winsock1.RemotePort = 8990 'Kommt der richtige Port hin

Winsock1.RemoteHost = 123.123.123. 'Kommt natuerlich die richtige IP hin

Winsock1.Bind


Winsock1.SendData &HFF + &HFF + &HFF + &HFF & "infostring" & &H0 


'Infostring wird durch den Befehl ersetzt

Jetzt sollte der CS Server im Data Arrival Ereignis irgendwas antworten, auch wenns nur ein "?" ist, aber er reagiert ja nicht mal !!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Naja, ist etwas schwierig, da nicht so richtig klar wird, wie Dein Programm aussieht. Wenn Du UDP verwendest, musst Du auf Deiner Seite einen Socket zum Empfang öffnen. Es kann ja durchaus sein, dass Dein Datenpaket ankommt und vom Server auch beantwortet wird. Ohne das vollstaendige Programm, ist die Frage aber nicht zu beantworten.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es ist so, dass ich erst mal einfach so ein projekt aufgemacht hab, wo ich ein paar sachen fuer die kommunikation mit cs servern ausprobieren wollte.

mein eigentliches programm was spaeter die funktion nutzen sollte, hat die funktion noch nicht implementiert.

Aber ich denke, wenn ich dir mal zeige was ich ausprobiert hab kannst du mir vielleicht helfen .


Private Sub Command1_Click()

Winsock1.RemotePort = 8990

Winsock1.RemoteHost = "62.146.198.14"

Winsock1.LocalPort = 1001

Winsock1.Bind


Winsock1.SendData &HFF + &HFF + &HFF + &HFF & "ping" & &H0




End Sub


Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim vData As Variant 'Muss Variant sein, da CS Server auch durchaus mit verschiedenne Datentypen antworten


vData = Winsock1.GetData(vData)


MsgBox "Remote Host : " & vData, vbInformation, "Server"


End Sub


Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)

MsgBox Number & Chr(13) & _

       "Description : " & Description, vbInformation, "Error"

End Sub


Thx

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin kein VB-Experte (den Code sollte sich jemand ansehen, der von VB Ahnung hat), aber ein paar generelle Tips kann ich Dir geben:

- Stimmen Portnummer und IP-Adresse des Servers (8990, ich dachte immer, CS wuerde mit Ports ueber 27000 arbeiten)?

- Stimmt die lokale Portnummer zum Empfang der Daten? Ich nehme an, Du möchtest auf Port 1001 empfangen?

- Falls Du einen Router verwendest, musst Du Deinen Empfangsport forwarden, sonst kommt nichts an.

- Teste Dein Programm - sofern möglich - mit einem lokalen Server, das erleichtert das Debugging.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

vielen dank fuer deinen Beitrag ich hab die loesung jetzt gefunden, fuer alle die es interessiert ist hier der richtige code :


Option Explicit



Private Sub Command1_Click()

  Winsock1.Close

  DoEvents

  Winsock1.Protocol = sckUDPProtocol

  Winsock1.RemoteHost = "62.146.198.14"

  Winsock1.RemotePort = 8990

  Winsock1.Connect

  DoEvents

  Winsock1.SendData Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & "infostring" & Chr$(0)

End Sub



Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

  Dim Data As String

  Winsock1.GetData Data

  MsgBox "Remote Host : " & Data, vbInformation, "Server"

End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...