Technical solution to eliminate desync in single-player sessions
waste of time you know?
The elements are my allies.
The dead are my servants. And fear...will be my closest friend. Deutscher Global Channel "/global 4745" |
![]() |
" Can you stop pulling numbers out of your rear behind? |
![]() |
Double post
Last edited by deteego#6606 on Nov 20, 2013, 3:16:19 AM
|
![]() |
" " Regardless of the open-loop delta period, the solution you propose is equivalent to having the server run a time-shifted game simulation of its own in order to generate a reference to compare to the client's results. Along with Rhys, I am highly skeptical that such a scheme could be engineered to produce a system that was both reliable and unhackable. Rhys' game development credentials are self-evident. My own judgment is based on a 30-year career in commercial real-time audio and video game programming, and in this particular case, on experiences developing the online game synchronization system for Acolade's "Ballz" fighter simulation on the Sega Genesis. I'd be most interested to hear of your own relevant experiences in this field of the game development industry. Last edited by RogueMage#7621 on Nov 20, 2013, 3:18:09 AM
|
![]() |
" What part are you skeptical about? The server is already doing this. My proposal does not change that fact. Currently, the server keeps an in-memory simulation which it updates as it receives input from the player. With my system, it also keeps an in-memory simulation which is updates as it receives input from the player. I believe that Rhys was skeptical because he didn't realize the server was updating from the delta of the last snapshot. I think that's a pretty large misunderstanding. " Even if I told you, why would you have reason to believe me? I could type any profession I wanted. I've provided answers to each and every query on this forum. I have answered extremely technical programming questions and even provided source code on several occasions. I am a senior software architect and operate my own company in the cloud computing / online gaming industry. But even if I was a plumber, I believe ive exhibited that I know what im talking about. Last edited by qwave#5074 on Nov 20, 2013, 3:28:27 AM
|
![]() |
" Your proposal would eliminate the crucial part of the system that keeps it both reliable and unhackable: client resychronization updates imposed by the server. Without that mechanism, the remaining options are to either trust the client, or abort any client game session whose results diverge from the server's. |
![]() |
Let me explain qwave's game to everyone who hasn't caught on yet:
Whenever anyone tries to push him about how his system wouldn't be secure, he keeps on coming up with more and more checks which the server could use to validate the client's actions and ensure it isn't cheating. Whenever anyone tries to push him about how his system would cause desync between the client and the server, he keeps on coming up with more and more ways in which the client could handle everything on its own, independent of the server. Essentially, qwave is so committed to his stupid idea that, rather than pinning it down and defining it rigidly, he is trying to occupy several mutually exclusive positions at once, hoping that we treat his idea in the same way as Schrodinger's cat, unsure if it's alive or dead, and instead take it on faith that his solution will do what he promises it will do. But in reality, there's no way for him to provide the same amount of security, without also providing the same amount of network communication — and thus, unless the means of communication itself is improved, the same amount of desync. And if the means of communication itself was improved... there would be no need for his suggestion, as desync would already be fixed. His point could not be more moot; there's no point in arguing with him further. When Stephen Colbert was killed by HYDRA's Project Insight in 2014, the comedy world lost a hero. Since his life model decoy isn't up to the task, please do not mistake my performance as political discussion. I'm just doing what Steve would have wanted. Last edited by ScrotieMcB#2697 on Nov 20, 2013, 4:59:23 AM
|
![]() |
" Resync would occur in two situations: - The client sends values that are not within the lenient range of the deterministic seed. This will generally only happen when the client is hacking. - The client does not send a state hash within a lenient amount of time. This will happen if the client has huge latency / lag. |
![]() |
If I recall, didn't D2 have that failsafe of disconnecting players that the server did not agree with?
|
![]() |
" The server only needs to perform the same checks that it currently does. I have never changed this. Last edited by qwave#5074 on Nov 20, 2013, 3:53:55 AM
|
![]() |