Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 21:39

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Netzwerk Logik]Problem mit Positions Synchronisation

Discussion on [Netzwerk Logik]Problem mit Positions Synchronisation within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Conrew's Avatar
 
elite*gold: 124
Join Date: Feb 2012
Posts: 302
Received Thanks: 135
[Netzwerk Logik]Problem mit Positions Synchronisation

Guten morgen liebe Epvpler,

ich habe jetzt schon einige Erfahrungen gesammelt im 2D Spiele Bereich und möchte mich nun an ein Netzwerk basiertes Spiel wagen. Ich habe allerdings ein paar Probleme bei der umsetzung. Insbesonder bei der Positions Synchronisation.

Wie ich es geplant habe würde es im groben so ablaufen:
Hier steht das > für das senden und empfangen etc.


Client bewegt sich > (Positions Packet) > Server
Server überprüft ab bewegung "legal" wenn legal dann:
Server > (Positions Packet) > Alle Clients
Ergo: Bei allen Clients wird der Spieler auf die neue position gesetzt


Ich habe aber das Gefühl das dieses System bei mehreren Clients zu Netzwerklastig ist. Beispiel:

Server läuft auf angepasstem Linux
Server hat eine 100 Mbit/s anbindung
564 Clients Online. Alle bewegen sich.

Bei diesem Beispiel könnte ich mir Vorstellen das der Server ziemlich laggt.
Da ich leider noch relativ neu in der Netzwerk Programmierung bin kann ich das ja nicht so gut einschätzen. Wenn dieses System zu Netzwerklastig ist, könntet ihr mir dann einen Vorschlag zeigen wie es besser ist ?

Freu mich schon auf eure Antwort

MFG Conrew
Conrew is offline  
Old 07/24/2013, 05:48   #2
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
spieler die außer sicht des zielclienten sind garnicht oder nur alle ~5 sekunden übertragen.
Dr. Coxxy is offline  
Old 07/24/2013, 06:02   #3
 
Conrew's Avatar
 
elite*gold: 124
Join Date: Feb 2012
Posts: 302
Received Thanks: 135
Quote:
Originally Posted by Dr. Coxxy View Post
spieler die außer sicht des zielclienten sind garnicht oder nur alle ~5 sekunden übertragen.
Aber ansonsten würde das System so funktionieren ? oder doch zu Netzwerklastig
Conrew is offline  
Old 07/24/2013, 09:37   #4


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Was hast du denn für gigantische Movepackets, dass 500 Clients reichen, eine 100 Mbit Leitung auszulasten?
MrSm!th is offline  
Old 07/24/2013, 09:52   #5
 
Conrew's Avatar
 
elite*gold: 124
Join Date: Feb 2012
Posts: 302
Received Thanks: 135
Quote:
Originally Posted by MrSm!th View Post
Was hast du denn für gigantische Movepackets, dass 500 Clients reichen, eine 100 Mbit Leitung auszulasten?
Ich kann die Dimensionen von Packets im Verhältnis zu den Leitungen noch nicht so einschätzen. Aber aufgrund der antworten nehme ich mal an das es ohne Probleme funktionieren sollte. Dankeschön

MFG Conrew
Conrew is offline  
Old 07/24/2013, 13:06   #6
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Quote:
Originally Posted by Conrew View Post
Ich kann die Dimensionen von Packets im Verhältnis zu den Leitungen noch nicht so einschätzen.
Deswegen rechnet man sich das auch aus, oder
lässt es sich einfach beim Server anzeigen.
.SkyneT. is offline  
Old 07/24/2013, 21:24   #7
 
Conrew's Avatar
 
elite*gold: 124
Join Date: Feb 2012
Posts: 302
Received Thanks: 135
Quote:
Originally Posted by .SkyneT. View Post
Deswegen rechnet man sich das auch aus, oder
lässt es sich einfach beim Server anzeigen.
Wie genau meinst du das mit ausrechnen ? sry stehe ein bisschen auf dem Schlauch grad

MFG Conrew
Conrew is offline  
Old 07/24/2013, 22:00   #8
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
Quote:
Originally Posted by Conrew View Post
Wie genau meinst du das mit ausrechnen ? sry stehe ein bisschen auf dem Schlauch grad

MFG Conrew
PacketSize*NumberOfPacketsPerSecondPerClient*Numbe rOfClients

ansonsten einfach mal implementieren und ausprobieren, wozu gibts netzwerkmonitoringtools?
Dr. Coxxy is offline  
Old 07/24/2013, 22:01   #9
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
ein movepacket dürfte doch nur ein paar kilobyte groß sein ? der server sollte di positionen aber abgleichen.

Ich würde die ja so senden :
coordx|coordy|coordz|nochn paar andere sachen
YatoDev is offline  
Old 07/24/2013, 22:08   #10
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Ein paar Kilobytes? Das sollte doch weit unter einem sein (ein paar Bytes Daten + Header).
dowhile is offline  
Old 07/24/2013, 22:19   #11
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by dowhile View Post
Ein paar Kilobytes? Das sollte doch weit unter einem sein (ein paar Bytes Daten + Header).
ja paar kilobytes . ich hatte mal ein kleines server client script da wurde das packet so abgesendet :
Code:
Function|Parameter1|Parameter2|Parameter3|Parameter4|OptionalerParameter|Ip des absenders|ip des servers|ip von dem der die antwort empfängt|timestamp
das dann noch binär und crypted und schon hat man 3 kb
YatoDev is offline  
Old 07/24/2013, 22:39   #12
 
Conrew's Avatar
 
elite*gold: 124
Join Date: Feb 2012
Posts: 302
Received Thanks: 135
Quote:
Originally Posted by Dr. Coxxy View Post
PacketSize*NumberOfPacketsPerSecondPerClient*Numbe rOfClients

ansonsten einfach mal implementieren und ausprobieren, wozu gibts netzwerkmonitoringtools?
Ok ich werde es ausprobieren

Quote:
Originally Posted by »FlutterShy™ View Post
ein movepacket dürfte doch nur ein paar kilobyte groß sein ? der server sollte di positionen aber abgleichen.

Ich würde die ja so senden :
coordx|coordy|coordz|nochn paar andere sachen
Ja also ich werde eine diesen Aufbau nehmen:
Header|posx|posy
mehr brauch es ja nicht sein oder ? ist ja nur 2D.

Der Server macht die überprüfung usw.

oder hat einer einen besseren Vorschlag ? Bin offen für alle Ideen

MFG Conrew
Conrew is offline  
Old 07/24/2013, 23:19   #13
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Quote:
Originally Posted by »FlutterShy™ View Post
ja paar kilobytes . ich hatte mal ein kleines server client script da wurde das packet so abgesendet :
Code:
Function|Parameter1|Parameter2|Parameter3|Parameter4|OptionalerParameter|Ip des absenders|ip des servers|ip von dem der die antwort empfängt|timestamp
das dann noch binär und crypted und schon hat man 3 kb
Was meinst du mit "binär"?

Was spricht dagegen, das Paket so aufzubauen?

Befehl:2 Bytes
X: 8 Bytes
Y: 8 Bytes
Z: 8 Bytes

Befehl entspricht der Funktion, X, Y und Z sind die Parameter.
Wieso muss die IP des Servers übertragen werden?
Wieso die IP des Clients?
Wieso darf der Client bestimmen, welche andere Clients das Paket erhalten; wieso macht das nicht der Server (oder was ist mit "ip von dem der die antwort empfängt" gemeint)?
Wieso ist der Timestamp hier relevant? Aber wenn er das ist, sind das nur vier Bytes mehr.

Das sind dann insgesamt 26 bzw. 30 Bytes Daten (exklusive Verschlüsselung).

(Mir ist schon klar, dass deine Variante mehr in Richtung RMI geht; aber ob das bei einem Spiel wirklich angebracht ist, halte ich für fragwürdig).
dowhile is offline  
Old 07/25/2013, 02:21   #14
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Quote:
Originally Posted by dowhile View Post
Wieso muss die IP des Servers übertragen werden?
Wieso die IP des Clients?
Das ist einfach nur extrem überflüssig, da die IP des
Empfängers/Senders ohnehin im Header steht.

Wenn ich mal grob schätze dürfte ein TCP/IPv4 Packet
40byte + Daten haben.
.SkyneT. is offline  
Old 07/25/2013, 02:23   #15
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by dowhile View Post
(Mir ist schon klar, dass deine Variante mehr in Richtung RMI geht; aber ob das bei einem Spiel wirklich angebracht ist, halte ich für fragwürdig).
das war bei einem client server projekt bei mir so afgebaut
YatoDev is offline  
Reply


Similar Threads Similar Threads
Problem mit der Logik - Aimbot
05/06/2013 - C/C++ - 4 Replies
Hallo, ich versuche mich gerade an meinem ersten Aimbot. Mir ist erstmal nur wichtig, dass er in die Richtung des Gegners zielt, die Höhe ist dabei (noch) egal. Ich schaffe es einfach nicht, dass genau auf den Gegner / in seine Richtung gezielt wird. Mein Code: void AimAtEnemy(SPlayer *player, SPlayer *enemy) {
problem (netzwerk)
12/27/2011 - Steam Trading - 1 Replies
moin moin wen ich mich bei steam einloggen will krige ich immer netztwerk probleme
Netzwerk problem
07/26/2011 - Technical Support - 1 Replies
Tag zusammen seit einigen tagen hab ich probleme mit meinem internet. Ich komme noch rein von meinem computer aus aber sonst nirgendwo mit meinem laptop und handy klappts nicht und die xbox kommt auch nicht rein. Ich habe ein Wlan Stick mit QSS den kann ich überall einstecken und er kriegt immer Wlan bei allen anderen wlan sticks kommt Netzwerkidentifizierung fehlshclag und eingeschränkter zugriff / keine Internetverbindung. auch per lan siehts nicht besser aus ich benutze eine...
Netzwerk Problem
05/28/2011 - Technical Support - 0 Replies
Sry, bei mir wurde das Thema iwi 2x aufgemacht, bitte das hier schließen.
[HELP]Netzwerk Problem
10/07/2010 - Metin2 Private Server - 2 Replies
hi immer wennn ich den server starte dann nach einer halben stunde komm ich nicht mer ins internet aber hamachi und der p server schon das problem ist dass xampp nicht mehr zum server connecten kann und die spieler au nit



All times are GMT +1. The time now is 21:40.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.