Mario Kart Fan

About banning

In many threads I was asked about banning features.
And here is my position:

I don't like cheating if not all users have agreed cheating. Normal users will play under regular conditions. And if a cheater enters the race, he destroys the game play. That's not nice nor funny, its simple trolling.

If people playing in a private room and knows about cheats and accept them, then it is ok. For example my tester team use cheats if testing new tracks.

The server system will not have an automatic ban system. And it can't have one, because the servers don't watch the game. However, my server system will support banning in 2 levels, maybe with timeouts:
* profile banning
* console (Wii or NDS) banning.
For a ban I must simply set a value of the database to 1 and the player is immediately kicked.

That's the functionality. And here are the politics.

Only players, that are really cheating+trolling, should be banned. It should be used only rarely. Who and how can ban is not clear yet. One solution may be to have a web interface and game dependent moderators.

At the moment other things have much more priority. If the server system runs stable, we can talk about the ban system.

Cheating and Banning

This is a translation of the german topic Cheaten und Bannen. Thanx to eN-t for the translation.

----- snip -----

I want to say a few things about cheating and banning. I'll refer to Mario Kart Wii but I'm sure it's viable for other games aswell.

Situation
Me and my team spent a lot of time to get the Wiimmfi server up and running. And althogh it's running pretty stable already, the work is not done yet.

On the original WFC, there were around 1500 to 3000 players online at a time. On Wiimmfi there are currently around 100 players online. Especially for cheaters this new server is a challenge. And I think that the rate of cheaters is higher than usual right now because cheaters usually know much more about homebrew related topics than other players do - and they get to know about the custom server earlier. But I also think that the rate will decrease over the time even if we wouldn't ban any cheaters.

My Position
I am sitting on the fence here. Honest players report a lot cheaters with a lot of evidence, but even when I ban the cheaters it's not all right (more about that later on).

But I don't want to waste my time on such decisions. Every ban costs time — gathering the needed information, deciding, then banning and having a discussion about that ban. And at the same time I have to implement a ban system. Does anyone really think that I like to do this sort of stuff?

I'd rather just don't give a shit about the cheaters, that's why I play in private friend rooms with people who I know and who I can trust.

Banning team
I can't get around developing a ban system. And I have already formed an even smaller banning team. It consists of players who I've known for a long time and who I completely trust in terms of cheating.

That said, I even did not include one of the main developers of the Wiimmfi server just because I don't know him long enough, although I speak to him every day and I do really think he would be a good choice. In the future I could imagine to make him part of the banning team and also to invite other people for other games. What I want to say is that I've currently got a small team of people who just need to tell me a friendcode to ban and I'll do it, I trust them and that saves me the time and effort to think about the ban.

The team is communicating about this privately and tries to find a good solution. But please be patient because it can take some weeks to technically implement that.

By the way: applications for the team will be ignored!

The Dolphin dilemma
Banning could be sooo easy: every player and his Wii console have a unique identifier. But there is Dolphin!

Many players use Dolphin without knowing what they are doing. Every player who uses Dolphin has the same identifier, so that's not unique as it should be. When banning one Dolphin cheater, we automatically ban all other Dolphin players aswell. So if I had to make a decision whether to allow cheaters on Wiimmfi or to ban all Dolphin users, I'd go for the second option. Also because Dolphin has another huge flaw: it's slow.

Almost all Dolphin users have huge online delay. You don't see that while racing, but we can see that using mkw-ana. At the end of a race, the delay is often at up to 30 seconds! The player looks like he would be driving just normal, but at the end of a race every player sends his own race time to the others and that delay causes the results to be screwed up just like a timer hack would do. This way, the player ends up being in a better place than he actually raced. You could say that using Dolphin is like using an uninteded timer hack. And I personally consider delays of more than one second to be unfair.

So Dolphin causes a lot of trouble, sometimes because people are using it wrong. So am I not allowed to ban cheaters if they use Dolphin, just because many other legit players use Dolphin aswell? Another dilemma.

Player "xyz" cheated!
How to react to such reports? Especially when they come from people who are unknown to me? Should I really ban people just because some random player tells me to do so? Now just think about what would happen if you'd be that person "xyz". Hello denunciation.

Conclusion
As you can see there is a lot to think about and a lot of stuff to waste time on. I can't be bothered to go through all the cheat report messages. All the time that I'd have to put into that is time that I can't work on the server itself. So at the moment, you'll have to deal with cheaters until we come up with a good and reliable anti-cheat system. Be sure that we don't take that easy.

Sie nannten ihn Ente.

What I always wonder about is how to report someone as a cheater. When playing a global or regional race online, the only information you get about someone is the Mii name as long as you don't dump and analyze your own network traffic. The Mii name alone however is not going to be sufficient to apply a ban I'd assume.

Now using a DNS server that can dump and auto-analyze your traffic and thus detect cheaters is not an option because of two reasons. On the one hand, people in private rooms would or could be banned by accident. On the other hand, that DNS should only be used by a few people to keep the traffic small enough to analyze but that would by far not be any help at all because the success rate of banning cheaters would be too low with only a handful of people "hunting" them.
Even when such a DNS server would offer a website that shows the most recent players and adds an interface to ban those (maybe only for verified moderators as you said) that would be too much effort and work out into a system that is very rarely likely to even be used simply because of the amount of moderators, I guess.

Now what is would consider an option is that the game itself has to be patched to use the custom server and MrBean and Chadderz have already implemented anti-cheat systems into their CTGP. Wouldn't it be possible to implement such anti-cheat systems into the public patcher somehow? And for the Intermezzo testers you as the one who created the server would and could create a patcher that still allows cheats but is either not public or has a disabled global and regional play? Something like that?

Wiimmfi-Team

Anti - cheat - systems in the public patcher are bad, because somebody may want to cheat offline. And even when using a dns server, you do not get the player to player data that is needed for an auto analysis.

The people who will have access to the bann tool will see all drivers in their race on the computer and also the FC of all racers to ban them.

Homebrew-Meisterin

MrBean and Chadderz have already implemented anti-cheat systems into their CTGP.

The first Anti Cheat System got hacked and some people were able to cheat.

Now their Anti Cheat System lies in the way how the game is patched. You cant put your own Patches of Tracks and/or load cheats with the new Channel. This would mean you would have to create such a channel which is bullshit in my opinion. This way you could not use Riivolution or an USB Loader anymore.

Homebrew-Profi

I think it's also a good idea to create a simple cheater region, so when a cheater wants to play with other cheaters, but not in a private room they can find togheter there. I think that's good for preventing some cheaters in the normal region. I think if cheaters appear on the legit region they should be banned immediately.

Homebrew-Fortgeschrittener

I have created a code that fixes the start line glitches (Grumble Volcano, Mushroom Gorge, Coconut Mall, etc), that could be included in automatic patchers and similar to help the glitching situation. Rather than banning, it might make more sense to make them stop working in the first place. It honestly depends on Wiimm's stance on glitches.

Der Professor

I also think that this (patching the tracks) would be the best solution.
Like Nintendo patched Mario Kart 7 to get away from some glitches, we could patch the tracks with the error or implement such cheatcode to make it impossible to use the glitch.
And if the Online Server Patcher is only available with this track patcher everyone have to use it and we have fair races.

Homebrew-Meister

so hear we are at a point. Wimm can decide how he uses his server this is right but what about people that don't wanna play like this? Just saing.
I mean patching the tracks? U have to patch them in your image. That can easily changed back and u can still use the glitch?

Homebrew-Fortgeschrittener

I have created a code that fixes the start line glitches (Grumble Volcano, Mushroom Gorge, Coconut Mall, etc), that could be included in automatic patchers and similar to help the glitching situation. Rather than banning, it might make more sense to make them stop working in the first place. It honestly depends on Wiimm's stance on glitches.

I believe thats a better idea than me going after the glitchers. Does your code also patch Coconut Mall since I hear thats a very hard one to get rid of (someone told me the checkpoints were complicated and that its not easy to patch)

Also how would one patch the fix into the game? I believe we're gonna be using StaticR because Wiimm now supports HTTPS editing on it therefore being able to join the servers with it. The only way I can see this patch-able is if its an 04 code type and we take that code and inject it into the REL during the patching process.

Sie nannten ihn Ente.

No one gets banned unless there's a really good reason to do that, so e.g. cheating and even trolling with these cheats. I think unbanning such people would be bad because they will most likely do it again since catching them is like finding a needle in a haystack...

If you ask me, they knew that cheating can get them banned so they should stay banned forever. If I were Wiimm, I wouldn't waste my time on taking any unban requests.