Since we apparently need such a thing, I humbly present Uber's Guide To Basic Networking Terminology©®™:
-
Ping: This is the average time it takes for packets to make a round trip from your PC to another PC, usually expressed in milliseconds. Anything less than or equal to 500 (one half second) is perfectly fine for FA, since the simulation forces all events to occur with a 500ms delay to begin with.
-
Lag: This is what happens when one or more players have a ping that is consistently higher than 500ms. The simulation stops until the packets are received.
-
Bandwidth: The connection speed of a player, typically represented as kilobytes per second. Most ISPs provide much higher download bandwidth than upload bandwidth; since FA uses a peer to peer networking model, meaning that all players must send data to every other player, upload speed is what will likely be your bottleneck. Also note that FA has fairly miniscule bandwidth requirements, so unless you're playing via a satellite phone, you're probably fine.
What causes most "lag" in games, and how does one solve it?For starters, "lag" is one of the most hilariously misused terms I've seen. For example, if one's game is running at a low framerate, they might claim that they are "lagging". This is false. Their frame rate is low, but this is not affecting the simulation speed (unless, perhaps, they're playing on an integrated GPU on a low end mobile chip such as an Atom, in which case the added GPU load would directly affect CPU performance, and they really shouldn't be playing to begin with).
If a game is truly lagging, it's most likely caused by a (temporary?) lack of upload or download bandwidth. In case you were wondering, downloading or uploading large files while playing is a Bad Idea unless you are 100% certain that your connection can handle it. Check to see if someone else is using your network. Maybe secure that wireless router while you're at it.
If that's not it, it could simply be due to Bad Luck and two people have a bad connection to each other for whatever reason. Either deal with the slower speed, and use the added time to micro your units to do useful things instead of stay idle for seconds at a time, or rehost without one of those players.
Check your upload and download speed via speedtest.net to make sure your bandwidth isn't truly abysmal. Some ISPs may throttle your connection, or simply be overloaded at peak times.
Lastly, it is not "lag" when the game's simulation slows due to an abundance of units or extremely long gameplay times. That has nothing to do with the network, as only the player's commands are sent, not their units. Technically, people with higher APMs cause more lag than anyone else.
"But your ping is high; look it even shows it in a red color therefore you're the lagger!"No, you simply need a remedial lesson in How The Internet Works.
To the game engine, any ping that is less than or equal to 500 is physically indistinguishable from a ping of 2. Only when the ping exceeds 500 does the game begin to lag. Don't be one of those players who kicks people based on their country or because of the color of their ping.
"<anything that mentions the "host" or other client-server terminology>"This is something else that's depressingly common. From a networking standpoint, there is no concept of clients and hosts in FA. It uses a peer to peer networking model, and as such, the "host's ping" means precisely the same amount as any other player's.
"But Elbonians always lag!"No, they don't. It's an absurd and illogical generalization that's roughly equivalent to racism.
It depends entirely on the
individual player's connection. I've played games with Australians many, many times with zero issues, and I've played games with people in the US who must have been on a 2G internet connection attached to a netbook.
If someone is causing the game to lag, rehost. If you are in a ranked game with someone who lags, either ask for a draw and find another opponent, or Deal With It and use the added time to micro even harder and own him.
Sources-
http://www.gamasutra.com/view/news/3592 ... IMBmIYUOqk-
http://www.gamasutra.com/view/feature/3 ... twork_.php- GPGNet forums where devs described various bits and pieces of the networking, in long-forgotten posts that I'm too lazy to find
- My own experience from writing the networking engines in several games
- Common Sense