PoE 1 PC servers are restarting in: .
They should be back up in approximately .Client-server Action Synchronisation
I'm sure this has been mentioned before:
Doing stuff on the client AND the server is the best of both worlds. On the client, you get instant responses etc as demonskye describes with D3 But you can also run the simulation / game on the server side - for verification purposes. The server has enough information (movement speed, dps, etc) to validate client-only based actions. So the sever can periodically check stuff like: - According to the player, they moved from their last known position A (which was given to the server previously) to their current position B using skill X. Is that possible or are they cheating. If cheating, then resync. If cheating too much, disconnect. If you include client timestamps, or at least the number of milliseconds since the last message to the server, then the server can make accurate decisions based on this. - The player moved from C to D in 5 seconds - this is a few meters & is achievable so player is not cheating. - The player moved from D to E in 1 second - this covers half the map so player is obviously cheating Monster actions would have to be done on the client side, otherwise monster-player interaction could become de-synced or out of step. But this is fine if the monster actions are verified by the server, as well as the players. Stuff that isn't time critical, such as monster death-drop items does not need to be performed on the client at all, and can be done purely on the server. As long as the monster death happens on both sides in approx the same location, then who cares that the items drop a few 100 milliseconds - or even a couple of seconds - after it should. |
|
" This is a bit long but worth a read. Obviously cant check the guys credentials, but what he says is true. I commend GGGs attempt to eradicate cheating, but atleast a little decision should be given to the client. Just enough to remove some of the terrible "desync". |
|
" That would only improve stuff if all your actions on the client were delayed until a response was heard back from the server confirming the action is possible. So if you had 200ms ping, then every action you perform will be delayed on the client by 200ms. This strategy is often employed in RTS games where responsiveness isn't as important as perfect synchronization. You can easily see why GGG didn't go with this approach if you load up the first Starcraft game, start a LAN game and set the latency smoothing setting to the maximum. Computer specifications: Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 16GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & WD Black FZEX HDD Last edited by Nicholas_Steel#0509 on Sep 17, 2014, 9:06:23 AM
|
|
You don't need to wait for a response from the server.
As I posted earlier - you post the movement / actions / whatever to the server - then forget about it. The server, upon receiving the new information, would verify. If too many verifications fail - disconnect you with an appropriate error message. |
|
" So MUCH, but SO SO MUCH **THIS***!!!!!! I **HATE** Cheaters, but if they can get away with it, so be it. What's the amoral Shadow personality all about ? However, *TRUST* is the issue, and ZERO TRUST is a pathology. Like so many gross personality defects, that "work" to survive into Adolesence and Adulthood, they don't work when taking responsibility for Mature roles in life. Server-side calculation and Rubber-banding worked in GGG's Infancy, and Adolescence, but GGG is now growing up and a more mature solution is in order. It should be possible without a mind-numbing amount of cogitation to come up with a means of AUDITING the initial conditions, and snapshot intervals, verifying the progress and outcome of client computed action. Once a cheat happens, it created divergences in the action that are detectable. A sampling of mechanical events can be audited, to lessen the burden on the server. Intervention is necessary only when a significant divergence occurs. Once a "cheating" violation is detected, the account can be frozen, and disconnected. The problem is that GGG is **ALWAYS** controlling the honesty of action. However, a cheater is going to cheat with some frequency, and only has to be caught "Red-Handed" ONCE!! Everyone is being taxed with constant suspicion and prejudice by the present architecture. Short break to say "GGG, YOU ARE AWESOME!!!", I'm not bagging on you! GGG can still control the action of a context, yet distribute the computation in this way: 1. EVERYTHING is computed on the Client 2. MANY things are ALSO computed on the Server, or, At Intervals, the Server mirrors the computations on the client. Divide the audit up by regions of the context, or individuals, or the whole context for sub-intervals in time. 3. Disagreements of computed results trigger a ZERO TOLERANCE sanction from the Server, with consequences to the Context, and Client Account, as determined by GGG. 4. In a context with some cheaters and some honest players, the cheater(s) would be slain, frozen, or "disappeared" in the view of the non-cheating members. a "ritual suicide animation" would be nice. If GGG can make this happen....and its a significant re-architecting of the mechanics management and client-server communications, I'll allow....Play could be more fluid and consistent, and cheaters will meet their doom. The AUDITING MECHANISM may be porous enough to catch only one out of 5 cheats or more, or refined enough to catch every cheat. Decide for yourself. What is important is that every cheater be caught before they can enrich themselves and associates enough to economically distort the game. Ronald Reagan once repeated "TRUST BUT VERIFY". Make it so ? |
|
" I realize, in hindsight that the game would be computed on clients of every party-member. That may or may not complicate and limit the Client-Computed/Server-Audited model. My ignorance, however is not an abdication of my position. It is an acknowledgement that implementing such a model is nontrivial. |
|
" Yes. Yes they are. I see it weekly across every game I can mention (that I play often enough) that has an open peer chat system. I would guess that anywhere between 50-70% of gaming populous, be it though ignorance, laziness or just sheer stupidity, do not or cannot distinguish between any or all of: input lag, desync, frameloss and freezing. "If you’re incompetent, you can’t know you’re incompetent. […] the skills you need to produce a right answer are exactly the skills you need to recognize what a right answer is." ~David Dunning Last edited by TikoXi#0194 on Sep 18, 2014, 7:19:59 AM
|
|
" If you call it lag or Desync, and you don't really understand what they are and how to distinguish them, when they are distinguishable, that is IGNORANCE. Dumb is the smarter cousin of stupid, and its arrogant to cast anyone into that family. Ignorance and "being dumb" are mostly quite different. The smartest of us possess a field of ignorance that dwarfs what we know. While exiles decrying every anomaly as Desync can be irritating to those who toil to understand and discern, it is simply bad diction. Amongst the "putatively dumb", and the charitably disposed, we understand, "F__king Desync!" means something other than "My Gameplay" interfered with my enjoyment of the game; CPU crash, Application Crash, Router Crash....all of these do "IN FACT" de-synchronize one from a context and one's peers. |
|
I've only just started playing POE a month or two ago, that said this desync/lag/stuck stuff is annoying. I've played many games and there is only 2 games I can think of where this happened.. Mortal online pre-release and Diablo2 and that was only when u got stuck whirlwinding on your character by whirlwinding into a static object and it would eventually rubber band you. I havn't read the last 39 pages but I did read the explanation of the GGG rep and it sounds like a cheapish setup or excuse.
I'm finding the game pretty fun at the moment however not sure I'll stick around long feels unpolished because of the desync/servside lag/ getting stuck issues. I guess I can't complain too much... it is free afterall. Cheers. |
|
Disregarding the risk of sounding like a moron , I'd like to ask if strong Internet connection expedites information from client to server, i.e. reduces desync. I did read the entire post including
"but I'm still not quite certain. I do appreciate that GGG sacrifices better synchronization for more robust gameplay, I'd just like to see if I can do anything to make my robust gameplay smoother on my end. Last edited by q45412#2878 on Sep 21, 2014, 9:55:21 PM
|
|