so i see a lot of words being thrown around like Lag and hacking/cheating. i want to clear up the difference (i replied with something similar on the Px boards at one point...)
ya see, we have players from all over the world. from Australia, to Britain, to Germany to the United States. everyone connects to the same box in OP's dunge- i mean basement. there's something called ping and it's the time (in milliseconds) in which a piece of data travels from the server to the computer and back. for example, when a players types /ping in a chatbox, it displays the ping, the packet loss (how many packets are lost in transit from server to host) and the fluctuation (which i have no clue what it means :P) normally, the ping for me is roughly 150-160ms. this means it takes 150 ms for an action that i do (for example dock with a planet) to get to the server, have the server register that Portalearth is docking with Planet Manhattan and come back to my computer and start the necessary scripts, animations ya-da
ya-da
ya-da...
some are going to have a lower ping because they are closer to the server box in Germany. a player in Britain may have a ping 50-60 due to their geographically closer location to the box, PLUS they dont have to go over the Atlantic Ocean. so if i dock with Manhattan and i lived in Britain, i start the animations, scripts BEFORE the player in Colorado. there's a 100ms difference between them starting to dock and you seeing it on your end.
how does this apply to PvP? well i'll explain it as best i can.
people have different types of connections to the server box. some are faster (T1, Cable Broadband) and some are slower (DSL, whatever Britain has [no offense] 56.6k dialup) if a player has a weaker connection (5mpbs DSL) they'll have a slower time registering an event on the server (such as docking or a missile being launched) than the guy who has a 35mpbs Cable such as myself...haters gonna hate. so if i fired a missile at a player in PvP and i'm on my 35mpbs connection and they're on a 5mpbs connection, they'll see the missile later than when i actually launched it. think about it like this (if it makes sense)
Knightshade and I engage PvP. a timestamp keeps record of the fight. I'm in Colorado with an average 160ms ping. for all intensive purposes, Knightshade lives in Russia but has a less than ideal connection (360 ping due to geographic location in the bum fuck a no where) keep in mind the time is going to read down the millisecond or to the nearest thousandth of a second (.001 of a second) .999 seconds is .001 second less than a full second (1.0) got it? kewl...
[9:13:2.152AM] PE launches Cataclysm missile at KS and his computer recognizes a missile is launched
[9:13:7.352AM] KS's computer registers incoming missile and takes evasive action. missile misses
[9:14:8.278AM] KS launches torpedo at PE. computer see's torp is launched
[9:14:378AM] PE's computer register's incoming torpedo, however he has AFK'd for a split second and is destroyed. KS's gloats and becomes a meany poo poo head
this is i call average but thing about more of these kinds of lines (in the thousands probably) with more than missiles and torps like mine's CM's, guns, CDs etc...
however due to the 200ms latency between munitions launched KS or I have a 200ms window to pray the server hiccups, someone is downloading a song, a mass PvP fight somewhere else (and i'll get to that) or creates some sort of packet loss to where he or I have that split second to turn around and blast the other.
in Mass PvP is where i see words and phrases like "hacking," "Cheating, "Missiles aren't tracking," and "he's jumping all over" being used the most. Think of the server box as an air traffic controller. now lets say he is the sole operator of the United State's busiest airport (O'Hare in Chicago i think) there's more than one part to the ATC tower like ground, control and tower control. each person has a at console has a specific job within each category. ground control has to make sure planes to run dont into each other as well as make sure there is an open gate for an arriving plane and manage those planes leaving so they aren't crashing on the runway. Tower Control has to make sure the planes dont mid air collide, hand off to regional control (the FAA regional control centers like Denver Center, Salt Lake Center etc...) and to make sure they dont run into planes trying to take off as they're trying to land. it's a huge amount of communication that if lacking ends in complete disaster and clusterfuck. the server is doing all of that at once but with ships flying around, missiles going every which way, debris from explosions, NPCs getting pissed off, chatting going on, people leaving and joining the server, smaller PvP fights happening and so on. the server, like any server from Battlefield 3 to World of Warcraft to Command and Conquer, is getting resources taxed. this means there's a higher output of the server's processor trying to figure what's going on (which slows down thing and can cause temperature concerns if not careful) higher use of Physical and virtual RAM (which can decrease server performance further)
here's what it all means. when a computer (or a server) is fed a ton of information from graphics, to actions to packet sending and receiving it ultimately affects everyone. because it's trying to sort of thousands if not MILLIONS of Bytes per millisecond it can get a little confused (for lack of better terms i guess) there are going to be little latency hiccups within the server like packet loss, server lag and in some cases can crash the server entirely. this is translated on the user end with missiles not tracking and with ships jumping and rubber banding. sometimes this can be reasoned as "oh well that's what happens when you have 14 people shooting shit at each other and these 14 different people are from 14 different parts of the world with 14 different kinds of connections with 14 different ways they connect to a single server box in a random home in Germany." OP has only so much bandwith he can use to ensure the most players have the smoothest experience. when that bandwith gets used up sending and receiving all the data it comes across, some players are going to suffer gameplay performance more than others, usually those who are farther from the server such at the US and Canada get the worst of it. some of the more...well...players who dont think things through enough blame it on cheating, which i will explain in the next post...