-
-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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