Seite 1 von 4

Network langsam?

Verfasst: 18.05.2006 16:27
von sen-me
Ist das Network von PB geeignet für MMORPGS?
Kein 3D oda so wie WoW oder Everquest, eher Textadventure + Bilder und so, also wie Browsergames.

Wenn da 100 Spieler online sind und Daten senden, lagt es nicht dann nicht?

Also mit nem Chat hab ich die erfahrung gemacht (user schreibt -> server schickt an alle Clients den Text) (2 User warn online) das es laggen kann wenns aufm Privat-PC läuft.

Verfasst: 18.05.2006 16:38
von MVXA
Wenn de UDP verwendest schon, aber du willst ja nicht auf PB4 updaten...

Verfasst: 18.05.2006 17:00
von sen-me
Doch hab mir weil es nicht anders ging 4 geholt

wasn der unterschied zwischen UDP und TCP?
Also in geschwindichkeit, was macht es aus bei denen?

Verfasst: 18.05.2006 17:02
von DarkDragon
sen-me hat geschrieben:Doch hab mir weil es nicht anders ging 4 geholt

wasn der unterschied zwischen UDP und TCP?
Also in geschwindichkeit, was macht es aus bei denen?
Grob gesagt TCP hat Verbindungen, dessen Nachrichten sicher übermittelt werden und UDP hat keine Verbindung, dessen Nachrichten auch nicht sicher übermittelt werden, dafür ist es aber schneller als TCP.

Verfasst: 18.05.2006 18:58
von AND51
Nicht ganz so grob gesagt:
TCP garantiert dir, dass deine Daten fehlerfrei und in der Richtigen Reihenfolge eintreffen; Sendefehler werden automatisch korrigiert. Empfängt nur angeforderte Daten.

UDP sendet einfach so Daten und hat keinerlei Fehlerkorrektur. Dafür geht das senden halt schneller. Habe auch mal gehört, dass man mit UDP auch einfach so an einen x-beliebigen Rechner Daten schicken kann, und er sie annimmt, obwohl er sie nicht engefordert hat.

Tipp: Nimm UDP. Eine einfache Fehlerkorrektur kannst du dir ja selber bauen, indem du deiner Zeichenkette, die du übermittelst, z. B. einen CRC32 Code anhängst. Dann kann der Server prüfen, ob die Daten korrekt angekommen sind. Die meisten Spiele, z. B. Tactical Ops und Gouda Strike benutzen ebenfalls UDP. Das ist auch der Grund, weshalb ich mit OB3.94 nicht auf einen Server connecten konnte :roll:

Verfasst: 18.05.2006 21:28
von Zaphod
Sowas wie ein Browsergame sollte wirklich kein problem sein.

Bei "richtigen" MMORPGs ist es eher eine Frage, ob man den Netzverkehr intelligent genug aufbaut und ob man mehrere Server hat. Du kannst davon ausgehen, dass ein WoW Realm nicht auf einem einzigen Server läuft.

Verfasst: 18.05.2006 21:50
von MVXA
Und was ist mit so einer Maschiene ;)?
http://www.amdboard.com/iwill_h8502_8way.html

Mit Opteron Double Core wären das 16 Prozessoren in einem Server...

Verfasst: 18.05.2006 23:37
von Zaphod
wenn das teil nicht nur eine netzwerkkarte hat ^^

das problem ist ja weniger die rechenleistung ;)

Verfasst: 19.05.2006 11:47
von RaVeN99
Stimmt, also an Rechenleistung hängts sicher ned:
Der UO-freeshard "Schattenwelt" lief lange Zeit auf nem PIII 1GHz mit 512MB Ram... Und da waren zu stoßzeiten schonmal so 300 Leutz locker online...
Allerdings hatten die ne ganz andere I-net Anbindung ;)

Wenn du das ganze privat machen willst, solltest du dir vllt. überlegen ob die Bilder nicht offline verfügbar sind, sprich auf jedem client vorhanden. Das würde schonmal n haufen zeit sparen, was bliebe wäre der Text. Ich kann mir nur irgendwie grade etwas schlecht vorstellen dass n Chat bei zwei usern lagt. Das wäre sogar für TCP/IP etwas krass.
Sogar bei DSL 1000 haste im Schnitt nen Upstream von ca 16KB/s, was für des bissel text allemal ausreichen sollte. N paar millisekunden kannste auch noch mit Fastpath rausholen.

Die versessenheit auf UDP kann ich übrigens nicht ganz verstehen, da es durchaus online games gibt die damit laufen, und das mit durchschnittlichen latenzzeiten. Es kommt eben auch immer auf den netzwerkcode an. Eine bescheiden programmierte UDP basierte network engine kann um ein x-faches langsamer sein als ein gut durchdates TCP/IP pendant.


Aber zu deiner eigentlichen Frage ob es denn geeignet sei:
Ich hab bisher gute Erfahrungen damit gemacht mit n paar kleineren Projekten, da gabs auch nur wirklich hohe latenzen wenn irgendwo im code mal n absoluter käse stand ;)

Meine 5 cent.


Mfg
RaVeN

Verfasst: 19.05.2006 13:05
von sen-me
Also immer lagte es nicht
Der Client sendete ne Nachricht und wartete auf ne antwort vom Server (der sendet dann an alle Clients die Nachricht, sprich wenn du deine Nachricht nicht erhälst sofort, dann lagt es)

Und es lagte auch nur wenn man schnell ein paar Sätze schreibt (beide Clienten)

Aber ich frage mich, ob das so klug wäre.
Denn es gibt ja ne Warteschlange wo die Daten bearbeitet werden er kann ja nicht 2 Clients gleichzeitig behandeln, vor allem wenns 100 sind.
D.h. für ein Spiel (meins nich) das Ego-Shooter oder so hat wäre das doch tötlich wenn man nur 1 Programm hat was Daten verarbeitet O.o