Skip to content

Authoritative Server, Latency Compensation, and more!#10

Draft
GP2P wants to merge 215 commits into
masterfrom
Authoritative-Server
Draft

Authoritative Server, Latency Compensation, and more!#10
GP2P wants to merge 215 commits into
masterfrom
Authoritative-Server

Conversation

@GP2P
Copy link
Copy Markdown

@GP2P GP2P commented Feb 28, 2023

No description provided.

ibarnstormer and others added 30 commits September 5, 2022 17:34
Accessible via the render controls debug menu in the show fps gui.
- Added dedicated packets for calculating RTT/Ping as well as message type enumerations
- TODO: move all ping processing (both server-side and client-side) to separate threads to remove faulty deviation caused by game's tick/frame rate.
- Moved ping processing to separate threads that are independent from the game's frame rate. Ping packets are sent once every second by default.
- Note that this is still a preliminary implementation which needs further testing to be ensured that it is robust.
- Removed remnants of the old ping implementation
- Fixes a bug where all other non-ping packets would have been discarded by the threads responsible for receiving ping packets
- The ping port is now a parameter in the experiment config .Any file (has to be the same on both the client and server)
- Added simple error handling (the game will adjust the ping port number to a free port if it is the same as the server port)
- added sma for ping
- the client now writes whether or not the provided ping port is already in use in the log file as opposed to in the debug terminal
…corded RTT only)

- Green if less than 50 ms
- Yellow if less than 100 ms but greater than or equal to 50 ms
- Red if anything higher or equal to 100 ms
- TODO: Add color indicators for each ping value later
- configurable in experimentconfig.Any
- also added missing documentation for PING and PING_DATA message type enumerations in NetworkUtils
with temporary data structure
Add m_remotePlayers Array, RemotePlayer constructor, create RemotePlayer when connected to server, remote RemotePlayer when disconnected to server
GP2P and others added 30 commits March 16, 2023 19:43
…ropagated to clients during start of a round.
…ncy set on both client and server threads instead of just on client)

Additional changes:
- Simplified time warp start up choice logic
- Changed inconsistent variable names in S2C pinging lambda
…s (preliminary implemetation)

Notes:
- Round numbers and time warp should be checked on the server database while ping, concealment, and extrapolation are to be checked on the client database
… to AS

Will finish implementing table and log values once config is fully finalized
… will have shuffled time warp settings. Bug fix with logging.

NEEDS TO BE TESTED THOROUGHLY.
- Logs fields identical to ones from master up to client latency (excludes cornerPosition & defenderRandomDisplacementAngle) along with placebo ping type, modifier, and time warp flag.
…ing specified rounds

- Set placebo ping type to "-1" to hide ping
- Delay is now added on both server and client as opposed to just on the client
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants