Required Wiimmfi Patcher update for Mario Kart Wii
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, CTGP Revolution.
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've 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 opponents, 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 will be 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 me 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 today, 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, you don't need to do anything. As of version 1.03.1066-13, CTGP implements this security fix and should work with no further changes.
- If you are using a USB-Loader with its embedded "Custom server" / "Private server" patch function, that will no longer work. You need to patch your images using an ISO patcher, according to item (1) in the following bullet point.
- If you are using a patched WBFS/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 FlashHax app with the link in the Wii Internet Channel, you do not need to do anything, it will automatically be updated.
- 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), you need to re-download and re-patch it, an update is available in 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 to the newest version (v1.62d or newer), see item (4).
- If you are playing Mario Kart Wii on other servers like AltWFC, there still is the risk of hackers breaking your Wii when you do so, unless the AltWFC server devs also release such an update.
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").
- (1) Updated ISO/WBFS patcher for Mario Kart Wii: Download (v6)
- (2) Updated Auto Wiimmfi Patcher: Download (v0.6)
- (3) Updated version of Wiimms MKW Fun 2018-09: Download (v2)
- (4) Updated version of Wiimms tools: Download (v1.62d or newer)
New features as of today
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
We've announced the server maintenance for today in order to be able to have a coordinated release of all the patchers and announcements at the same time. As soon as that maintenance period is over, you will only be able to connect to Wiimmfi in Mario Kart Wii if you're using a patched game. Otherwise, you will receive error code 23904.
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 one or two 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 still can't connect to Wiimmfi, and there is no post about this in this thread, please post here with 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.
If you are using Dolphin and are unable to connect, make sure you followed the Wii Network guide (de.dolphin-emu.org/docs/guides/wii-network-guide/), have added your Wiis NAND backup to Dolphin and entered your Wii's MAC address in the Dolphin config.