wovencode / OpenMMO-Other

Ideas, Tasks and others
2 stars 0 forks source link

[task] Test Tolerant Server Movemement Authority #48

Open francy51 opened 4 years ago

francy51 commented 4 years ago

We need a @playtester to test the Server Authoritative (Tolerant) setting on Resources/Configuration/ServerAuthority to figure out how it performs and tweak those settings like smoothness and tolerated distance disparity to find settings that do not throw the positions between clients too far out of sync.

What happens here is Server-Side-Reconciliation (aka "rubberbanding") - when set to Tolerant, the server attempts to save tons of bandwidth by only fixing client positions when they get a certain distance out of sync with the server's "authoritative position". Once past the threshold, the server begins to nudge the client smoothly back to the correct position (if smoothing is checked - otherwise it warps immediately to the position the server tells them they should be)

To test this you will need to be able to spin up at least 3 different built clients. It will take a lot of time because it's going to need to be adjusted and the server rebuilt with each change. A fast machine is recommended.

@⚔MaliceA4Thought⚔ may have some insight into the best methods of testing this feature, but you will need to find a way to "hack" the client to have different move speeds than the server either by running a client in the editor or using other hacker style methods.

TIPS: -ToleratedDistanceDisparity of 7 is a "gonzo" value (waaay too high) - it is set there to confirm the feature works before tuning it down (less than 1 or 2 will probably be where we end up) -Only Cheaters should go out of sync with the server - you need to find a way to cheat to trigger it -You will need to observe the "cheat client" from multiple other clients to verify that: 1 - "Good clients" are all in their correct positions 2 - "Cheat Clients" are perhaps out of sync, but will only get a certain distance out of sync (set by the toleratedDistance)

francy51 commented 4 years ago

Instruction to create cheat client. Setting new speeds everywhere possible on the humanoid then build a new cheat client that runs around like the flash.

DX4D commented 4 years ago

Todo: Implement "sanity check" once in a while for "Good Clients" to prevent any slow desyncing between good clients. Testers, please confirm how long it takes for "Good Clients" to desync under Tolerant Authority