Forum

> > CS2D > Allgemein > Aktuelles Cs2D Net-Protokoll?
ForenübersichtCS2D-ÜbersichtAllgemein-ÜbersichtEinloggen, um zu antworten

Deutsch Aktuelles Cs2D Net-Protokoll?

6 Antworten
Zum Anfang Vorherige 1 Nächste Zum Anfang

alt Aktuelles Cs2D Net-Protokoll?

Gast

Zitieren
hallo,
ich bin gerade dabei ein Plattform unabhängiges Dedicated Server (falls ich es je schaffen werde XD) zu coden (d.h. ich code mit BlitzMax^^).
Nur leider scheint das Netzwerkprotokoll (udp.bb & tcp.bb) in der 1.0.0.0 Source nicht mehr aktuell zu sein, das erschwert ganz schön meine Arbeit.
Ich hab es soweit geschafft das man sich bei USGN anmelden kann, bloß wenn ich dann anfange udp Messages zu empfangen schmierte er ab (beim 1.ReadByte), nun ja bissle mit Datentyp herumgespielt und geschafft (ReadShort)..
So bekam ich dann schon mal den ersten „typ“ heraus, aber mehr kommt dann auch nicht an. Muss der Server vielleicht noch was zurück senden?..
Naja da ich jetzt nicht bei jeden Paket das ich empfangen/Senden will, ständig fragen will was Empfangen/Senden muss, suche ich eine aktuelle Source oder ein dokumentiertes Protokoll oder ähnliches, gibt es irgendwo eins das Aktuell ist?

Mein Aktueller Teil-code für udp messages ist das (falls es einen interrisiert):

serverudp.bmx
-------------------------------------------------------------
Global socket:TSocket = CreateUDPSocket()
socket.bind(1337)
Global Stream:TStream = CreateSocketStream(socket)
Global udp_rIP:Int 'Ip von ankommenden Paket
Global udp_rPort:Int 'Port von ankommenden Paket
Global udp_msgid:Short 'Message ID

Function ReadMessage()
     Local RAv = socket.ReadAvail()
     
     If RAv
          Print RAv
          udp_msgid = ReadShort(Stream)
          Print "MessageID: "+udp_msgid ' = 250 SERVERLIST/JOIN MESSAGES
          Print ReadShort(Stream) 'mhh hier kommt auch 250 oO
     EndIf
EndFunction
---------------------------------------------------------

Ich hoffe es ist einiger maßen verständlich, was ich will^^

alt Re: Aktuelles Cs2D Net-Protokoll?

k.o.g.
User Off Offline

Zitieren
Ich gebe dir ein paar Tipps:
1. die PacketID wird mit einem Byte gesendet nicht in einem Short.
2. ich bezweifle das DC dir die PacketID geben wird für das JoinRequest, aber durch kleinere schleifen wirst du dies selber herausbekommen, da ein byte ja nur von 0-255 gehen kann.

alt Re: Aktuelles Cs2D Net-Protokoll?

Gast

Zitieren
In der 1.0.0.0 Source steht ja auch ReadByte, aber vielleicht hat er das nach paar Updates geändert..
Wenn ich ReadByte in BlitzMax Benutze kommt ein Error wenn ich was empfange! Weder hat DC es geändert, um Cheats oder was auch immer zu verhindern, oder er braucht ein größeren Bereich für die PacketIDs.

@2. Ich brauch ja nicht nur das JoinRequest sondern alles^^' da er bestimmt mehr als nur das geändert hat!

Die Function liegt in einer schleife, und alles was ich nur empfange ist "250"

Ankommende Messages:
2 Bytes //..Empfangen!
MessageID: 250 // = typ; Short = 2 Bytes also alles was zu empfangen gab’s
250 // sollte eigentlich typ2 sein was nur innerhalb 0 und 7 sein soll!
2 Bytes
MessageID: 250
250
.
.
.

aber es muss doch noch mindestens eine zweite PaketID komme (typ2) die von 0 bis 7 geht!

Zitat
ich bezweifle das DC dir die PacketID geben wird

naja die Hoffnung stirbt zuletzt >_>'

alt Re: Aktuelles Cs2D Net-Protokoll?

k.o.g.
User Off Offline

Zitieren
Ich rate dir, benutze BNetEx, diese Lib funktioniert perfekt mit dem BlitzBasic UDP Code.
Achja, meine Meinung dazu, es hat keinen Sinn momentan einen Dedicated Server zu entwickeln für die aktuelle Version.
Da vieles auch auf dem Client bestimmt wird, da der Client auch als Server dienen kann.

alt Re: Aktuelles Cs2D Net-Protokoll?

Gast

Zitieren
ahh mit bnetex scheints zu gehen (glaube ich zumindestens).

@DC: ja ich weis, aber ich hab denoch lust es zu coden^^ ausserdem mit bissle Glück ist mein prog eher fertig als CS2Dmax
Zum Anfang Vorherige 1 Nächste Zum Anfang
Einloggen, um zu antwortenAllgemein-ÜbersichtCS2D-ÜbersichtForenübersicht