What this is about
Even though we are trying everything we can to stop cheaters on Wiimmfi,
there are still multiple cheater reports in the ban thread each week.
Cheaters who subtly try to win, cheaters who annoy others with item cheats
or cheaters who freeze other players.
These problems have been taken care of in the past by banning the
offending player(s), and possibly adding antifreeze codes or things
like Ignorance-is-bliss to the most common custom track distribution,
However, more and more of these cheats are being developed.
Recently, it has come to our attention that certain cheaters are working
on codes that allow them to modify their opponents' game's memory over the
network. We also seen the creation of cheat codes that allow a user to brick
their own console.
If a cheater were to become capable of modifying the game memory of their
it could be possible to run this bricking code on someone else's console.
This is highly concerning, even if, at present, it is just theoretical.
With the current Wiimmfi setup, there is nothing we can do about it — server-side,
we can only influence matchmaking and connecting,
but nothing that happens between players.
This could be fixed by making people use CTGP Revolution instead of the other
patchers, but we don't want to force people to do that.
That would destroy other custom track distributions, and would stop people using
Dolphin or people not having a working disc drive,
or people who just don't want the constant disc drive noise, from Wiimmfi,
and thus this restriction will definitely not be implemented on Wiimmfi.
What has now been implemented on Wiimmfi though is the requirement for a
new updated patcher. We have developed a new system that should help
us with our fight against cheaters, and helps with fixing in-game bugs.
MrBean and Chadderz developed a patch framework for Mario Kart Wii,
and Wiimm and Leseratte implemented the necessary server changes to support it.
This patch framework allows Wiimmfi to make runtime changes to Mario Kart Wii.
Every time you connect to Wiimmfi with a newly patched game, the Wiimmfi
server will send patch instructions to the client and modifies the game the
way we want to.
These updates won't be permanently stored anywhere, so every time you connect
to Wiimmfi the server will update your game in the Wii's RAM (temporary memory),
which will be completely gone again as soon as you leave the game. The patcher
will only alter the game in ways needed to improve stability, fix critical bugs
like the one described above, or stop cheaters. We are not trying to re-build
something like CTGP using this patching system.
Thus, for patchers other than CTGP, this allows us to dynamically add anti-cheat
measures and other game fixes to the game. You only need to re-patch your game once,
and any future updates will be done automatically, while you are connecting
to Wiimmfi, and will be stored in RAM (temporary memory) for that session only.
While this system is a bit restricted in terms of the amount of additional code
we will be able to add to the game, and thus probably will not contain all of the
anti-cheat measurements of CTGP (at least not in its current state,
maybe in the future), we hope it at least gives us some control over the situation.
As of November 11th, 2018, there won't be many sophisticated anti-cheat systems activated
on Wiimmfi, but fixes for some known vulnerabilities are available, and we'll
have a framework which allows us to start developing proper anti-cheat systems
and other patches against cheaters.
What you need to do now
The Wiimmfi server will now only allow connections from updated games.
This means, if you don't update your game, you will no longer be able to access
Wiimmfi in Mario Kart Wii and will see an error message (error 23904)
when trying to connect.
While this may cause problems for players who have had
their Wii prepared for Wiimmfi by someone else and don't know how to fix it
themselves, this cut-off is necessary because there is the real risk of
hardware damage (bricks) caused by cheaters, not just inconveniences
through item cheats or similar.
To continue using Wiimmfi in Mario Kart Wii (games other than Mario Kart Wii
will continue to work without a new patch as the bug only seems to be present
in Mario Kart Wii), please check the following list:
If you are using CTGP Revolution, the FlashHax app in the Internet Channel,
or the str2hax EULA exploit, you don't need to do anything.
These patchers have automatically been updated.
If you are using your USB Loaders custom server patch (for example in
USB-Loader GX or in WiiFlow), we have prepared updated versions for these.
An update for WiiFlow Lite and USB-Loader GX is available in item (5), an update
for the CFG USB Loader will be available soon.
If you are using a patched WBFS or ISO image, you need to download the new
patcher and re-patch your image, see item (1) in the following section.
If you are using MrBean's Homebrew "Auto Wiimmfi Patcher" for discs,
you need to download the new patcher from item (2) in the following
section and use that from now on.
If you are using Wiimms MKW Fun (a custom track distribution),
version 2018-12 and newer support this update out of the box. For older distributions,
updates are available at item (3).
If you are using a custom track distribution other than CTGP and MKW Fun,
you will need to wait for its creator to release an update.
If you are using any Riivolution package to connect to Wiimmfi,
you will need to contact its creator, too, or switch to another supported method.
If you are a creator of a custom track distribution or a Riivolution pack,
you will need to re-patch your distribution.
If you are distributing WIT and WSTRT to patch at the user,
update those tools — see item (4).
If you are delivering the main.dol and StaticR.rel to the user yourself,
update them with new ones from a new version of the Wiimmfi patcher.
If you are playing Mario Kart Wii using the WiiU VC system and have the game
installed directly into the WiiU system menu, this currently doesn't work due
to a bug in the WiiU VC system. We are looking for a workaround to fix this,
for now, you are going to have to use the vWii instead.
If you are playing Mario Kart Wii on other servers like AltWFC, this new update is not required.
However, there still is the risk of hackers breaking your Wii when you use these unpatched servers,
unless the AltWFC server devs also release such an update.
If you are using Dolphin, make sure you
use your own NAND, make sure that you have the SSL
certificates set up correctly, and make sure you have entered your Wii's MAC address in the Dolphin config file.
Downloads for new patchers
As described in the section above, you are going to need to re-patch your game.
In this section, there are download links for multiple different patchers.
If you are unsure about which one you need, please check the section above
("What you need to do now").
Updated ISO/WBFS patcher for Mario Kart Wii: Download
Updated Auto Wiimmfi Patcher: Download
Updated versions for older (< 2018-12) versions of Wiimms MKW Fun: Wiimms MKW Fun
Update for Wiimms SZS Tools to patch CT distributions: Download (v1.62d or newer)
Updated USB-Loaders (for the automatic patch): WiiFlow Lite (5.1.0+), USB-Loader GX (r1271+)
As of today, we won't have the full feature set for the new patcher available.
We will have a couple patches available, those that have been developed
and tested thoroughly, which are mentioned in the first list here.
The main reason for this update: Currently known security vulnerabilities
will be fixed.
Wiimmfi will be able to display proper error messages on login,
not just "error code X check the error page for details".
Ultra-shortcuts will no longer work in worldwide and regional races
(they will still work offline and in friend rooms).
A few anti-freeze patches will be available to reduce the chance of the game
crashing when encountering a cheater.
You will no longer receive error 60000 with an old license,
the server will just assign you a new friend code instead.
But, most importantly, we will have a system prepared for dynamically
updating all the clients, that way, we plan to implement the following in the future
(and possibly more):
Various levels of anti-cheat, similar to (but not as sophisticated) as mkw-ana
and CTGP's Ignorance-is-bliss code.
Recently, MrBean found out how the suspend bug is related to in-game NATNEG issues
due to a fault in Nintendo's game code.
Using client updates, we should be able to fix the suspend bug once and for all,
without relying on kicking misbehaving clients, and we might even be able to
improve the NATNEG process in the future by having control over the clients as well.
When you are kicked or banned from Wiimmfi, you will receive a proper
error message indicating that this is the case, not just a
"you lost connection, error 91010" message
If something doesn't work
If you receive error code 23904, you either haven't re-patched your game,
or the patch didn't work properly. Try patching your game again.
If you receive unusual error codes other than 23XXX, or your console
freezes during connecting, we might currently do some changes to the server,
please try again in a couple minutes. You should also make sure the date and
time on your Wii is at least somewhat correct.
If you receive error 23905, that means we have pushed a new game update onto
the server which your Wii didn't download yet, you will need to reboot the Wii
and the game.
If you use Dolphin, make sure you have your NAND set up, the certificates set up,
and the MAC address configured correctly, as described above.
If you still can't connect to Wiimmfi, please check the related thread in the
Wii-Homebrew.com forums — here — and make a post there.
Having all replies about issues at one place helps
us fixing them quicker than if we have to collect reports from multiple
different forums. Make sure to include as much information as possible
(game region, approximate time, patcher used, console serial number, error code)
to help us find out why the error happens.