PhilippvK / playforia-minigolf

Client & Server for Minigolf Game known from Playforia/Playray/Appeli. Written in Java.
84 stars 31 forks source link

[WIP] Rewrite network communication #98

Open pehala opened 3 years ago

pehala commented 3 years ago

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

How much is currently implemented

Removed features

TODO

@PhilippvK If you have any questions or suggestions, feel free to comment. Fixes #99, #70, #93, #69, #63

PhilippvK commented 3 years ago

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?

PhilippvK commented 3 years ago

Good work, I can not wait to try it out. More stability and responsiveness would be great.

pehala commented 3 years ago

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?

I do, there is a place for that check already in the communication scheme. The harder question is how to implement it right: A) I can do one using naive approach where client just sends bool if he has it enabled, it would not solve much as it would be really easy to edit the client to bypass this. B) We could devise a much harder protection (e.g. client hashing the entire jar or some class and sending it for verification) but that is out of scope for this PR

PhilippvK commented 3 years ago

great. Let's go for A) and maybe extend that in the future.

PhilippvK commented 2 years ago

@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...

pehala commented 2 years ago

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 :)

pehala commented 2 years ago

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 :)

PhilippvK commented 2 years ago

@pehala I gave it a try and the points you have described work as expected. Good work!