Getting rid of/ limiting LAG in a LAN game

So my question is how to get lag under control in a LAN game? As I will be hosting one shortly and do not want contend with it.

I scoured the forums looking for answers, and what I found was not all that helpful.

1. I looked into making a SINs dedicated server, but most everyone says that this game is p-2-p. Each system runs its on simualtaion (so the lower end systems make it worse for everyone) now if this is true wouldnt the lower end system be the only one seeing LAG or freezing, as it runs its own instance of the game and sends back some data to the host? If all the host does is keep them in sync there should be no real lag on he network. Now this may be right, but I stumbled upon a release for Demigod, that says that SINs in fact uses a client-server architecure (http://forums.demigodthegame.com/345345). Which would make sense of all the lag. So can I make a dedicated server with a 3rd party app. or DOS.

 

2. Some people have said that the only way to get around lag is to use crossover cables. Well ok then, but with 8 plus pople that would get quite annoying.

 

So I ask you how do I get rid of or limit LAG in a SINs LAN game. Beisdes choosing a smaller universe and loweering the graphics.

 

8,781 views 6 replies
Reply #1 Top

I think you need a fundermental lesson in networking vs game design theory.

1) All a cross over cable does is allow 2 computers to talk without having a router or switch between them (they swap the cable internally). A cross over cable has a wire swapping internally so pin A on machine 1 links to pin B on machine 2. If you are running a network it is not required and most switches/routers are smart enough these days to handle someone plugging in a cross over cable

2) Sins AND Demigod are P2P. However there us a PROXY feature in the Impuse connection logic that routes the traffic via a server rather then directly to get around an issue. Stardock added that feature, but Demigod is unaware of it and believes it is P2P, even though a connection may be routed by a server

3) The reason ALL machines lag in Sins AND Demigod is that the simulation is performed on ALL machines simultaneously. In the case of Sins (and possibly Demigod), the host is responsible for syncing the games. This means that if one machine lags, the rest lag as they have to wait for that machine to catch up.

In short the only option you have to reduce lagging is get better machines, turn down the settings or play games with less people in them...

Reply #2 Top
By Posted April 6, 2009 14:58:10

Most PC games are client/server. That is, someone creates a game and others join that game. The data then goes from you to the host (the server) and then back to the other players.  Sins of a Solar Empire is client/server.

In Demigod, it is peer-to-peer. This was necessary because it needed to have the least amount of latency possible since your moves are directly sent to the other players rather than to a server first.  Because the action in Demigod focuses a great deal on Melee in the third person (i.e. players can see their hits) a lot of traditional methods to mask latency aren't possible. Peer-to-peer reduces the problem of "lag".


Then what was this all about?

 

 

Reply #3 Top

3) The reason ALL machines lag in Sins AND Demigod is that the simulation is performed on ALL machines simultaneously. In the case of Sins (and possibly Demigod), the host is responsible for syncing the games. This means that if one machine lags, the rest lag as they have to wait for that machine to catch up.
End of quote

This is true of all RTS games.  The upside of this scheme is that it's much harder to create cheats for multiplayer.  As well the game appears less "jumpy" to clients since there are no tricks running in the background to lower apparently delay.

In any case, delay almost is never a huge deal in RTS games.  Many people consider 1500 ms playable because there's no need for twitch reflex (obviously not true in demigod, but in Sins this is quite true).  What matters isn't delay but actual slowdown. If a machine is running too slowly, everyone is going to have to pause and wait for it every few seconds.  This can be a significant problem in late game with multiple 2000 command fleets.

So yes, your only real solution is to get better machines or make your scenario (or fleet sizes) smaller to compensate.  Over a LAN delay is going to be negligible anyways, it's all going to be the power of your machines.

Reply #4 Top

Everything I have ever seen, especially from The Monk (most awesome networking guru to grace stardock forums) has said it is P2P. Why did they have issues with the hosting prior to alloy in 1.1???

Reply #5 Top

 ForSix,

Since there are multiple "layers" to networking (hardware, transport, application, etc.) and different levels within those layers it stands to reason that an application may employ client-server networking at some level within the application layer by requiring one party (in this case the HOST) to SYNC all data before progressing, and at the same time employ peer-to-peer networking at another level within the application layer to actually send/receive traffic and establish connections from everyone to everyone (the second part is why people needed to forward ports etc. prior to version 1.1 and "alloy").

Having said that......your best chance at success here would be to LAN it up with machines that have very similar specs.  The closer the SPECS of the machines the better your rate of success will be.  (I've proven this to myself in my own test situatuons)  The machines don't have to be particularily kick-ass, just as close to the same in hardware as possible.

 

thanks,

the Monk

Reply #6 Top

Thanks Monk, was hoping youd chime in at some point. Only problem is that it being a LAN everyone is bringing there machines and not really has anywhere near the same specs. Except for maybe 3 computers.