spacemeowx2 / slp-server-rust

Switch-lan-play Server written in Rust
https://github.com/spacemeowx2/switch-lan-play
115 stars 16 forks source link

Feature request: Implement my anti-cheat solution #27

Open Slluxx opened 2 years ago

Slluxx commented 2 years ago

I have written an anticheat sysmodule and would like to talk with you about a lan-play-server integration. Im not familiar with rust so im struggeling to implement this myself but thought this might be something, some servers would like to have.

Basically lan-play recieving the data by my sysmodule and then blocking traffic, preventing them to join any game on this server.

Are you reachable on discord for some private discussions about this topic? My discord handle is Snyv#7598

spacemeowx2 commented 2 years ago

Quick question: How does your anti-cheat solution work? Is it a simple blocklist or packet based analyzer?

Slluxx commented 2 years ago

Currently it sends the information i need to my server, which then makes the data publicly available for server owners (the demo data will be gone once someone actually plays). I hope that i can send this data to the lan-play-server instead and based on that, it decides to block or allow traffic.

How exactly it works is not something i want to discuss publicly right now.

spacemeowx2 commented 2 years ago

So I think it has contains 3 feature requests:

  1. slp-server-rust sends traffic to your service.
  2. Add an API that receive control commands to block or allow clients' traffic.
  3. Only allow clients with anti-cheat sysmodule if needed.
Slluxx commented 2 years ago

Not quite. If possible, i want to completely decouple my service from this. I just made the service as a way to evaluate players before it can actually be implemented in the server. The data the sysmodule sends, should be picked up by the server and then get evaluated. This way, there are no external requirements.

spacemeowx2 commented 2 years ago

Sounds good, so in lan-play server I should implement a middleware