-
-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Rewrite network communication #98
base: master
Are you sure you want to change the base?
Conversation
I have one question, even if it is not really relevant for the current state of the implementation: Do you see a possibility to detect the usage of a client-side aimbot by using the new network protocol? |
Good work, I can not wait to try it out. More stability and responsiveness would be great. |
I do, there is a place for that check already in the communication scheme. The harder question is how to implement it right: |
great. Let's go for A) and maybe extend that in the future. |
@pehala Are there any updates on this? I do not want to push, just don't know if you have been waiting for my feedback since September... |
There is small progress, currently I am in process of rewriting lobbies endpoints but I do not work on this actively and it is a tedious process. I can however push the latest changes so you can check it out and review at least those :) |
- Keep old networking and code intact for now - Upgrade to netty 4.1
- Only for Multi game - Too many collateral changes to list here
What now done:
@PhilippvK If you want you can try it out. If anyone else would like to help with this just let me know, there is enough work yet to be done :) |
@pehala I gave it a try and the points you have described work as expected. Good work! |
Overview
Current networking sucks, this PR aims to completely redesign and rewrite the entire networking component of the game.
This includes:
New network communication system
Implementation
PacketReceiveHandler
is the main listener for all packets received. The packet is routed to the listener based on a header and each listener can specify which packet it accepts.PacketReceiveHandler
are grouped together intoHandlerGroup
, which can be used to register/deregister multiple listeners. This enables me to create logical "phases" e.gClientInitialization
,LobbySelect
,Game
etc. each with their own group that is registered/deregistered when the Client enters the phase.How much is currently implemented
ClientIntialization
is done, meaning up to the screen with choosing Game Type (Single, Multi, Dual).maven:exec
goal as beforeRemoved features
TODO
@PhilippvK If you have any questions or suggestions, feel free to comment.
Fixes #99, #70, #93, #69, #63