yourmnbbn / smext-fakequeries

Return custom A2S_INFO and A2S_PLAYER response
GNU General Public License v3.0
23 stars 5 forks source link

Banned IP #5

Closed toorisrael closed 2 years ago

toorisrael commented 2 years ago

Hi! On clean server when IP gets banned, query is also blocked for that IP (no response). With your extension, you're still able to query server from banned IP. For now, extension is handling all incoming connectionless packets (I guess), I'm wondering if it's possible to let the game handle all incoming packets, and only modify packets going to be send? That way it will be much easier and there will be no issues with challenge etc.

yourmnbbn commented 2 years ago

Hey, ofc this can be implemented in the way you've suggested, and it’s exactly the implementation when I started this project. You can detour Net_SendPacket and change the parameter of the response array pointer.

Tricky thing is one of the reasons for the implementation change is actually the challenge. I would like the extension to have its own challenge system. And the main reason is that in the future I’m planning to support custom protocol. More specific, if users want some extra information which is not supported by the current protocol, they can use this to expand what they can get from the server. And they can also add challenge to their private query. So the extension need an independent challenge system and has to handle the packets itself.

For sure what I want can be simply implemented by opening another socket. But with the same purpose as why communication with master server sharing game socket, I’ve decided to implement it in the current way.

yourmnbbn commented 2 years ago

Commit 29c8cc5 has fixed this issue, it has been tested on windows.