Authoritative Server, Latency Compensation, and more!#10
Draft
GP2P wants to merge 215 commits into
Draft
Conversation
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
…d changes color based on its severity
backmerging master to AS
with temporary data structure
Add m_remotePlayers Array, RemotePlayer constructor, create RemotePlayer when connected to server, remote RemotePlayer when disconnected to server
This reverts commit f07e77d.
This reverts commit adab5b1.
…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
…rojects/FPSci into Authoritative-Server
… 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.
…rojects/FPSci into Authoritative-Server
This reverts commit 39f5121.
…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
This reverts commit 984b289.
…rties File In start of Each round
…d during start and role switch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.