Server question: Packets

Dekstar

Companion Cube
Joined
Jun 4, 2004
Messages
9,431
Reaction score
11
Hey all. I was thinking about the lag inbetween a server recieving packets, and it sending the players position to other people's computers. On Source it's quite a bit I gather.

So I got round to thinking; How large is a packet? If it's not very large at all, and assuming all people playing would be on 1mb/s or up internet speed (with 25kb/s a LEAST upload speed), wouldn't a P2P server be possible?

Instead of sending packets to a server, the player's computer would send a packet of it's position to every player on the server, and would recieve a packet from everyone on their position. Wouldn't this cut out the extra lag created by having the server sorting everything out, since everyone's player position is sent directly to everyone else, and their computer calculates everything instead?

Or, even failing that, a part-P2P system. Like having the non-important packets sent directly to players computers (Like which way they're facing, or which weapon they have out) and just letting the server handle positions and firing? (Could be reversed so that firing and player positions are handled P2P, and non-important items are held by a small server, like the server starter)

Feedback would be good on this idea. Also there's a probability that cheating could be done very easily if this would be made. But either way...
 
Instead of sending packets to a server, the player's computer would send a packet of it's position to every player on the server, and would recieve a packet from everyone on their position. Wouldn't this cut out the extra lag created by having the server sorting everything out, since everyone's player position is sent directly to everyone else, and their computer calculates everything instead?
Yes but what if someones computer lags for a bit?
What if one guy has a screwy lag and his packets get sent off to half the people and half the people see him move this way, and the other have see him not moved then 2 people shoot him, one while hes moving and one standing still well then WTF??
Well RTS's put everyone in Sync and can use a similar method. Putting everyone in Sync though limits everyone to do the lowest persons connection. If someone's packets arn't getting to someone in the game the game would have to pause and wait until everyones game data is in sync. Heh could you say "Annoying!!" ecspecially for a fast pace FPS, an RTS that requires a low 56k connection it dosn't really matter. Doom 3 was going to use a similar method at first but dropped it.

What if someone joins and dosn't have the map? It would have to dl off all of them thus increasing lag.
What about wallhacks and speedhacks?
What about Admins?

On Source it's quite a bit I gather.
Not really, with physics it gets up around 5Kb/s needed. Without it's around high 2's. Very very low. I mean VERY LOW.
 
Minerel said:
Yes but what if someones computer lags for a bit?
What if one guy has a screwy lag and his packets get sent off to half the people and half the people see him move this way, and the other have see him not moved then 2 people shoot him, one while hes moving and one standing still well then WTF??
Well RTS's put everyone in Sync and can use a similar method. Putting everyone in Sync though limits everyone to do the lowest persons connection. If someone's packets arn't getting to someone in the game the game would have to pause and wait until everyones game data is in sync. Heh could you say "Annoying!!" ecspecially for a fast pace FPS, an RTS that requires a low 56k connection it dosn't really matter. Doom 3 was going to use a similar method at first but dropped it.

What if someone joins and dosn't have the map? It would have to dl off all of them thus increasing lag.
What about wallhacks and speedhacks?
What about Admins?


Not really, with physics it gets up around 5Kb/s needed. Without it's around high 2's. Very very low. I mean VERY LOW.
Hmm yeah that's all very true. Did ID have any set plan about it, or were they just trying to be cool around their peers?
 
Did ID have any set plan about it, or were they just trying to be cool around their peers?
Id worked on it, but in the end they dropped it. There were just to many sacrifices, to many bugs, to many unpredictable things basically. An article really explained why.
Also: You would have to get a bunch of people then "launch" a game, you couldn't have people joining in after the launch people could leave though.

I mean alot of things just don't work.
 
Hmm. What about like a listen server, where one persons computer works everything important out, but all the non-needed stuff are just broadcast by the other players?
 
Well dekstar, what if the host leaves?
Then the whole server shuts down?

Plus why not predicte non needed stuff and save bandwidth.
 
Minerel said:
Well dekstar, what if the host leaves?
Then the whole server shuts down?

Plus why not predicte non needed stuff and save bandwidth.
Oooh very true. But I was meaning non-needed stuff like what weapons the player has in their inventory. You can't really predict that.
 
ooh very true. But I was meaning non-needed stuff like what weapons the player has in their inventory. You can't really predict that.
But that would be to easy to cheat.
What if a player had a packet sender and sent everyone a packet that he bought a AWP, but he only had $200.
With a Server, well the server knows everyones money it calculates that and so probably does the client.
When a client wants to buy an AWP the server checks the money on the server, and then would tell yes or no.

With this the client says "Ima buy an AWP", since this is a P2P he has to be told yes. If the listen server gets the packet and says no, he has to tell everybody that the didn't get the weapon, but then your basically getting rid of the whole reason why P2P is in their.
Also P2P will use more bandwidth on the clients end. Instead of having to send once, it has to send to # of players in the game. How would Cable(Which dosn't have that great of an upload) handle a 32 player game? It has to send 32x stuff than it reguarlly would. If it reguarlly requires 5Kb to send information then it would require an upload of 160Kilobyte Connection, Why not just send it once to the server and then have the server upload it to the rest.

With that you can't exactly check without turning everybody into there own checking machine thus just building calculations on everybody when you add more and more things into it, the game can just slow down more and more.


Trust me in the end using a form of P2P hits those with slow uploads, slow machines, limits players from joining mid game, easier hacking, etc..
This is why it hasn't taken off, not because people havn't though of it but because having a Server is just much better.
 
Back
Top