tomman |
Posted on 19-11-24, 22:56 (revision 1)
|
Dinosaur
Post: #597 of 1315 Since: 10-30-18 Last post: 58 days Last view: 18 hours |
My network is shit and I rarely play videogames lately, yet I still keep my Dolphin setup reasonably up to date. And since Dolphin aim is to emulate a Wii as good as possible, it means you can also play against other humans around the globe, be it using the native netplay support, or even through the official Nintendo channels to do so, allowing to play against people even on Real Hardware™. Such progress! ...except that you can't do that anymore since May 20th, 2014, as Nintendo shut down the WFC service (mostly because their partner Because the Wiimmfi folks have very good reasons to believe that emulator users are more prone to cheat (unlimited cheat codes, being able to use nearly every input device under the sun while console users are restricted to official Wii/GC controllers, and even a slowass PC that struggles to run games can give you an unfair advantage), they have been strengthening the requirements for Dolphin users in order to ensure a fair environment for everybody (read: a PITA if you don't own a real console to pull a BootMii NAND backup, among other rules). But then you get to enjoy the sidequest to get back online from within your fake Wii! So, here are my notes on getting Puyo Puyo 7 back online, since last time was in late '13, and I was getting my ass served by non-human Japanese - You need to setup a proper NAND on Dolphin, including installing Nintendo certificates. - The default Dolphin NAND setups are banned (error 23918), so you need a NAND dump from an actual Wii console, preferably one that has not been used by half the Internet yet. There is no way around this, and don't even think about doing messy things like hacked console IDs, "revirginized NANDs" or crap like that. It won't work, trust me on this: either you will get error 23918 or 23915. - Luckily I knew someone back from my college years who let me hax their Wii, so I had some old NAND dumps from that console stashed away on my backups. Except that these were from a console running 4.2U, and even worse, a console which had been modchipped for running pirate games, and these were in the era prior to Nintendo blocking off-region discs in the System Menu, which led to a rather dirty NAND (duplicate/off-region channels being the tell-tale sign, like a copy of the Japanese News channel next to the American News channel). BACKUP YOUR SAVEGAMES PRIOR TO DOING ANYTHING ELSE! (Tools->Export all Wii savegames; this will produce saves on the very same encrypted format that is used on actual consoles... or you can backup your Wii NAND root instead, if you wish) - Sure enough, importing this well used NAND dump was enough to get my Puyos back online (you have to boot your game through the Wiimmfi patcher DOL, so make sure to have it on your game library as Dolphin will not patch the games for you!). But then, I had to cleanup years of cruft on this NAND... - "No problemo", they said. "Update to 4.3", they said. Except that the Nintendo updater failed with error 32004 ("invalid NAND/unauthorized modifications found"). I guess this was a side effect of the off-region crap rather than the HBC, so I tried updating using Dolphin's built-in NUS updater (which accomplishes exactly the same thing, sans the brick risks - did I mention that Dolphin is unbrickable? If you screw up your NAND you just delete your Wii NAND root and start over - on a Wii, doing this without the safety net of BootMii/boot2 is an one-way ticket to Brick Town)... which also failed while trying to update the Shop channel! No error codes, no messages other than a generic "Update failed, look at the logs where we have logged nothing interesting at all, sucks to be you". Updating from a game disc update partition also failed. - Long short story: this NAND dump had two fucked-up channels, among then the Shop channel (which is weird, since I can remember having used this very same Wii to download the Internet channel once Nintendo released it for free, but then I can't locate any of the earlier dumps I had performed on it), so I had to delete those before trying the update again. On a real Wii this requires using some shady apps (all of them with heavy DANGER BRICKS disclaimers on top). But on Dolphin, it's as easy as opening the Wii NAND root folder and deleting the proper files/folders at the right places (/title, and this is also a good chance to get rid of the dupe off-region crud too, as those won't go away even if you format the console because these are 00010002-XXXXXXXX titles AKA unremovable preloaded channels!). Deleting the channel folders is NOT ENOUGH, you also have to delete their respective tickets under /ticket too, otherwise the updaters will keep #FailingLikeABoss!!! - Format your console, set up stuff, update your system (I used a the update partition from BIT.TRIP COMPLETE, then the regular Nintendo online updater), reimport your savegames (one at a time, sadly), and test stuff. If the (now defunct) Wii Shop channel opens and let you browse the catalog of total emptyness (save for the Wii U transfer tool and some Zelda savegame patch stuff), you're good to go. Now I should be able to get my Puyos online agai-- WHAT THE FUCK DO YOU MEAN WITH ERROR 23913!?!??! Looks like my repeated attempts to get my fixed NAND back online flagged it as "too many attempts for today, wait 24 hours". Damn... - Fast forward to today. Let's try again... Error 60000. You're breaking my balls, Wiimmfi. However, this time I've hit a rather special brick wall, as this error has a rather comprehensive wiki page explaining that this means I've used that game profile (aka Friend Code) previously, and it's actually Lessons learned: 0) Cheaters are filthy scum that ruin everything for everybody, leading the way to (in)security theater. 1) A real NAND dump is a must. There is no ifs and no buts - ask to a friend (this is what I did), or buy a Wii and dump it yourself. Don't bother pirating one, most likely it's already banned! 2) Be aware for corrupted stuff on NAND dumps! Update using the Dolphin NUS updater and look carefully at the logs: if there is an error, the logs will tell nothing, but take note of which title it failed to update, and go delete it, complete with its respective ticket! 3) There are rate-limits in place for daily console activations on Wiimmfi, so be careful with your experiments! 4) Relevant error codes: - 23913: rate-limit exceeded, try again in 24 hours - 23915: use an untouched NAND dump, not a "re-virginized" dump - 23918: you're using the default Dolphin NAND, which is not allowed - 32004: your NAND contents are screwed up, go fix it and don't miss the tickets! - 60000: wipe or fix your save file (only possible for MKW) 5) If you had imported your NAND dump on very old Dolphin versions, you will have to do it again due to improperly imported data because of bugs in said older versions. Failure to do so may crash your emulator or lead to error 23918 ...too bad that the end result of all of my experiments is a nearly empty rankings table (or completely empty, in the case of the 20th Anniversary edition), and noone to play against :/ But I guess that the point of the whole exercise was to confirm that, indeed, you can now play online again the way Iwata intended to, just like we used to do in 2013. Sans the non-human Japanese puyo otakus on crack, of course! Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™ |
Duck Penis |
Posted on 19-11-24, 23:10 (revision 1)
|
Stirrer of Shit
Post: #689 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
How do they do that, why can't you just generate NAND dumps? Are they signed by some Nintendo public key and registered in some database? EDIT: And what do they rate-limit off, IP? There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
tomman |
Posted on 19-11-24, 23:15
|
Dinosaur
Post: #598 of 1315 Since: 10-30-18 Last post: 58 days Last view: 18 hours |
You used to be able to generate NANDs from scratch, using fake data that resembled more of a real Wii rather than Dolphin defaults. It was called "Wiimmfi unbanner", and as the name implies, it was abused by cheaters - this is why the Wiimmfi staff decided on their "only real NAND dumps allowed" policy. Of course, their reasoning is "why you're playing Mario Kart if you don't own a Wii?!" (notwithstanding the fact that there are few select PC DVD drives that can actually dump legit GC/Wii discs with the help of special software that can send the right VSCs to the drive, and you can buy those games for cheap right now from your favorite second-hand games marketplace) Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™ |
Duck Penis |
Posted on 19-11-24, 23:54
|
Stirrer of Shit
Post: #690 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Yeah but I mean how do they check? If you have two unused Wiis and dump the NANDs of both by the same process, then whatever differs will be their IDs and such, no? If you fill this part with random data, how would they tell whether it's for a Wii in existence or not? There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
Kawaoneechan |
Posted on 19-11-25, 01:02
|
A man of wealth and taste
Post: #451 of 599 Since: 10-29-18 Last post: 195 days Last view: 4 hours |
Posted by sureanemI wouldn't know for certain but... Posted by tommanWay my sleep-deprived mind sees it, it's 1) the fact it's random and 2) that it's not just random. I'm thinking of how GUID look totally random but actually have a format to them. And I don't mean the grouping. If you know the actual format behind GUID you can spot "fakes" that are just pure RNG instead of properly generated, and I think maybe Wii NAND may work similarly. Mind you, I'm half asleep so that's your disclaimer folks. |
Duck Penis |
Posted on 19-11-25, 01:17
|
Stirrer of Shit
Post: #691 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Secret knowledge then, like security by obscurity? I've always thought a cool and unexplored solution for solving the cheater problem in online games would be a Web of Trust, perhaps the first and last time anyone got some real-world use out of it: * Your average Steam user probably has a list of 30-60 friends. Say 50. * Steam has 90 million active users, say 100. * ln (node count) / ln (avg connections) = degrees of separation * Each Steam user can reach any other Steam user in 4.7 hops Assuming the friend graph is public, then it's enough for some client-side blacklisting to permanently solve the cheater problem. You'd presumably want some automation to avoid getting tainted by random strangers you added etc but the concept is solid. It would certainly work for this kind of stuff. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
tomman |
Posted on 19-11-25, 02:38
|
Dinosaur
Post: #599 of 1315 Since: 10-30-18 Last post: 58 days Last view: 18 hours |
Here is how Friend Codes and profile IDs work: http://wiki.tockdom.com/wiki/Friend_Code http://wiki.tockdom.com/wiki/Nick The problem is that they don't tell from where the console-specific bits are read, maybe as a lame attempt of security by obscurity. Not that I care that much, as I got it working after all... Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™ |
nyanpasu64 |
Posted on 19-11-25, 08:21 (revision 3)
|
Post: #71 of 77
Since: 10-31-18 Last post: 1189 days Last view: 1116 days |
> You used to be able to generate NANDs from scratch, using fake data that resembled more of a real Wii rather than Dolphin defaults. It was called "Wiimmfi unbanner", and as the name implies, it was abused by cheaters - this is why the Wiimmfi staff decided on their "only real NAND dumps allowed" policy. Corrections: - I wrote it. - In response to the real NAND policy which had existed since before I wrote it. - My program ensured all generated NANDs' 64-bit WFC(?) IDs were multiples of a 32-bit-ish prime. - Wiimmfi instituted a 7(?)-day wait for unrecognized NANDs. I don't know if they ever banned all Wiis which were multiples of that prime. - EDIT: I don't know if they discovered a different way to identify Dolphin that Wiimmfi Unbanner didn't circumvent. |
kode54 |
Posted on 19-11-25, 08:35 (revision 1)
|
Post: #23 of 105 Since: 11-13-19 Last post: 1461 days Last view: 1461 days |
You gotta admit, it would be way more fun as a cheater hellscape than this anti-emulator bullshit. Oh, and no ban system, because that obviously doesn't work anyway. |
tomman |
Posted on 19-11-25, 12:12 (revision 1)
|
Dinosaur
Post: #600 of 1315 Since: 10-30-18 Last post: 58 days Last view: 18 hours |
The sole reason you would want a real NAND dump would be for using the Wii Shop Channel, as Nintendo doesn't let fake Wiis connect, plus the channel seems to be very picky about NAND layouts and freaks out on anything that isn't a real Wii (and that's another reason to be careful when modding your console!) But then, the Wii Shop is long gone. Aside of that, Nintendo didn't cared that much about Dolphin users and their nonstandard NANDs on WFC (as I've said, that didn't stopped me from playing online against real consoles back when the service was still active). And Dolphin has improved waaaaaaaaaay too much since then. Now all we get is this anti-cheater paranoia that really does no good (sure, cheaters are vile scum and something has to be done to address that, but immediately suspecting that anyone from a emulator could be a pirate AND a cheater is not exactly the way to say "welcome! join in and enjoy!"). Why not work with Dolphin devs to integrate Wiimmfi support instead? (or even better: opensource the server-side tools) Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™ |
nyanpasu64 |
Posted on 19-11-26, 05:29 (revision 1)
|
Post: #72 of 77
Since: 10-31-18 Last post: 1189 days Last view: 1116 days |
https://forum.wii-homebrew.com/index.php/Thread/58902-Required-Wiimmfi-Patcher-update-for-Mario-Kart-Wii/?postID=702443#post702443 wow it only wiimmfi a few years to catch onto and block my tool... |
funkyass |
Posted on 19-11-26, 10:15
|
Post: #113 of 202
Since: 11-01-18 Last post: 660 days Last view: 16 days |
They don't put a lot of thought into their anti-cheat. |
nyanpasu64 |
Posted on 19-11-26, 13:38
|
Post: #73 of 77
Since: 10-31-18 Last post: 1189 days Last view: 1116 days |
From what I've heard, wiimmfi is only a client lobby and does not actually host games. I don't even remember if Wiimmfi picks which match you get inserted into. Instead one Wii serves as a game host for other Wiis. I heard Wiimm/etc. was running a bot which joins random games and looks for evidence of cheating players to ban. |
tomman |
Posted on 19-11-26, 14:44
|
Dinosaur
Post: #601 of 1315 Since: 10-30-18 Last post: 58 days Last view: 18 hours |
Yeah, the reason WFC shut down in first place was because Gamespy was the matchmaking provider, once you found someone to play with, the rest is strictly a console-to-console affair (at least according to the traffic dumps I captured years ago with Puyo Puyo, it COULD be different for other games, dunno how they work around NAT and stuff, but it worked fine back then). Wiimmfi just replaces Gamespy in this scenario, so I guess the anti-cheat stuff involves something else, as the original WFC infrastructure didn't even had provisions for countering cheaters. Licensed Pirate® since 2006, 100% Buttcoin™-free, enemy of All Things JavaScript™ |
Duck Penis |
Posted on 19-11-26, 20:53 (revision 3)
|
Stirrer of Shit
Post: #692 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Isn't it quite simple, really? They have an utterly nonexistent anti-cheat system, and they replace it by security through obscurity and a 7-day timeout. Since cheaters in video games tend to belong to a certain clientele, this system works almost perfectly: they don't have the agency to use a VPN, the skills to bypass the NAND check, the industriousness to plan ahead and make several accounts, or the patience to wait a week. And thus you get security by obscurity: a system that only ever keeps the dumbest miscreants out. Because that's the entire threat model here. Like, there are no Russian hackers trying to steal money or anything, since there isn't anything to steal but a good game experience. I still think they should go with a web of trust, because it'd be a really cool model, but it's probably enough that there's no turn-key solution for our underage friends to download and go. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |