Homebrew WIP lan-play anti-cheat sysmodule

Slluxx

Developer
OP
Developer
Joined
Jul 17, 2019
Messages
194
Trophies
0
XP
642
Country
Germany
Hey,

i noticed that anyone can get an unfair advantage by modding and cheating in games like mario kart.
Since i want to host some tournaments in the near future with a small prize pool, this is not acceptable.

To counter cheaters, i have created a sysmodule that can identify them and hopefully in the near future, will block their access to lan-play servers. I obviously cant go into much detail about how it works, to make it as hard as possible to defeat this mechanism but its working really well for the few days i am working on it.


Bildschirmfoto 2021-09-01 um 19.58.58.png



Not quite pretty yet but it works. You can see a live dash here. Be aware that its filled with demo data as long as no one is playing on my lan-play-server.

Anyway, i'd like to ask anyone with mario kart and some time to help me stress-test my sysmodule.
I would also like to know what your opinion on this whole topic is.

If anyone with Rust-programming skills want to help me implement my solution into the lan-play server - please let me know. Ive asked the lan-play "owner" for help on github but i heard they are a pretty busy person and to get things faster done, its probably more easy to develop it and then do a PR. Sadly Rust is not a language i know, so thats why i ask for devs to help me.


If you are interested in playing mario kart, want to help with my sysmodule or are a rust-dev that can help me with the lan-play server, here is my discord server.
(I hope its okay to post that link ; I created the server 5 minutes ago, its not fancy.)


I hope you like this idea. I'd really like to push lan-play gaming.
Have a nice day!

PS:
before you ask,
right now its possible to identfy everyone who is cheating. by mapping their discord name to their ingame or switch username its possible to keep track of who is playing and who is not. People who are not "listed", dont use the sysmodule. What you do with those people is up to you.
This is a little tedious and thats why want a lan-play-server implementation that requires you to use the sysmodule or blocks data, aswell as blocking data once modding is detected.

PPS:
yes, obviously any kind of anti-cheat software can somehow be worked around. I dont expect to make an unexploitable anticheat that will never be beaten. But its atleast something.

PPPS:
I know a closed source sysmodule is scary to a lot of people. I plan on making it open source for some well-known devs in the scene so they can always verify the source. If you have any idea on how to make this less "scary", please let me know.
 
Last edited by Slluxx,

LurkeryMcGee

Member
Newcomer
Joined
Apr 22, 2020
Messages
7
Trophies
0
Age
41
XP
177
Country
Albania
A fun idea. Certainly not something that can't be circumvented as you pointed out, but enough for some 'keep it friendly' friendly gaming? Sure. :) Will keep an eye on this to see where it goes.
 
  • Like
Reactions: Slluxx

Slluxx

Developer
OP
Developer
Joined
Jul 17, 2019
Messages
194
Trophies
0
XP
642
Country
Germany

Milad

Active Member
Newcomer
Joined
Mar 21, 2018
Messages
26
Trophies
0
Age
32
XP
327
Country
Iran

Slluxx

Developer
OP
Developer
Joined
Jul 17, 2019
Messages
194
Trophies
0
XP
642
Country
Germany
I'm in lets do it..just tell me what i have to do?
Just wait till i need a playtest with a larger group or use the discord server to find some people to play with in the meantime :)
Shouldn't these games be desyncing immediately with most cheating?
I am sure some desync but in testing we noticed that modded MK8 games (not cheats) did not desync and infact cheaters were able to get the best items in first place. Thats actually the reason why this exists
 
  • Like
Reactions: Milad

doctorgoat

Well-Known Member
Member
Joined
Jun 3, 2015
Messages
682
Trophies
0
Age
32
XP
497
Country
United States
I mean, I feel like Smash Ultimate straight up disconnects on a desync. I haven't touched MK8 and I the last time I looked into the series it was about how Double Dash's replays would go absolutely nuts on an emulator with any inaccuracy, so I'd thought they'd still be using the same approaches there
 

Slluxx

Developer
OP
Developer
Joined
Jul 17, 2019
Messages
194
Trophies
0
XP
642
Country
Germany
I mean, I feel like Smash Ultimate straight up disconnects on a desync. I haven't touched MK8 and I the last time I looked into the series it was about how Double Dash's replays would go absolutely nuts on an emulator with any inaccuracy, so I'd thought they'd still be using the same approaches there

smash and mk8 work differently network wise. The reason why it disconnects you on desync in smash is because it uses the TCP protocoll, which requires internet packets to arrive ordered and if one packet gets lost, the game requires it again and waits for it to arrive. Thats why you get so terrible lag in smash sometimes. The person with the worst internet makes everyone lag hard, because all are waiting for him. Disconnects are a result of a limit on how much lag is "acceptible". This ,may be undesired for people playing over long distances but it enables every console to process exactly the same data to not create unfair situations. this topic is a rabbit hole and goes far more deep than this basic explanation.

Anyway, in MK8 and other games that are not that tournament focused, UDP is used, which is the same when watching youtube videos for example. It doesnt matter if a packet gets lost because you usually wont notice it. If its really bad then you get artifacts on screen/on stream. Rough estimations are enough to make MK8 work.
 

Slluxx

Developer
OP
Developer
Joined
Jul 17, 2019
Messages
194
Trophies
0
XP
642
Country
Germany
That's.. awful, wouldn't saved replays absolutely go ham once the mods weren't in the picture though?

i am unsure about that. the mk8 replays are .. like dogshit to watch. unless there is a way of better reviewing replays its hard to say whats actually happening. Im sure with something like 2x speed, yeah, the replays should go ham but if the mods only affect what you get out of the "loot boxes" ? (i dont even know what they are called) then i think every other console just accepts what the hacker presents them. testing was quite limited though and other games might be a completly different thing
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
33,889
Trophies
2
Website
trastindustries.com
XP
22,641
Country
United Kingdom
I am curious how this is set up to work here.

"People who are not "listed", dont use the sysmodule"
So running at a higher privilege level like many PC anti cheat things before it then, don't know whether known signatures or some better detection. Presumably able to hash the binary or see other modules running. I reckon I have ways around it (subvert it to something else, presumably smart enough you can't leave a clean second device on the network), make the cheat module have a different signature (how doable that might I don't know as I have not poked around the source for the cheat options and firmware) or maybe hardpatch a cheat but those would all presumably require some skills which I imagine most people that care to play in this scenario don't have.

I was hoping for something fun like impossible outcomes detection (seeing the output of the UI I presume it is not there) but can't have it all I suppose. Though I would be curious to see if it was the lesser version of this if a return of Wii ban opponents cheats could be a thing (those with them treated them like sacred relics never to be shown to outsiders but I usually assumed sending them malformed items that triggered the detection).

Anyway now heading into trace buster buster territory so I will leave it at that
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    kenenthk @ kenenthk: Are people out there really spending $100 on fans...