Homebrew-User

[EXPERIMENTAL] Smash Service & Spectator mode

I recently improved the gamestats2 server to support the features used by SSBB which were unimplemented at that time. However, I managed to do so by forcing the game to believe these features were enabled whereas the latest Nintendo update disabled them. Due to the lack of network dumps using these services, these new features might not be complete. Regardless, they are complete enough to handle the Spectator mode and Smash Service in a decent way.

The main issue is to re-enable these locked features using the most reliable way. I could have provided a single-use cheat-code to force-enable all 4 versions of the game but that doesn't feel right. I reversed instead the SSBB setting update in order to create a custom update that will re-enable these features. Recently a custom SSBB update was pushed on the DLS1 server hosted by @PokeAcer that should re-enable the Spectator mode and Smash Service.

Setup

At the moment, there are some patching/DNS issues since the "gamespy.com" URLs aren't patched. That's to say, SSBB won't be able to communicate with the SAKE server and might softlock the game. You could either patch the game manually or use a DNS server that redirect this domain to Wiimmfi servers. For testing purposes I used RiiConnect24 DNS server which was 164.132.44.106 or you can also redirect the sake gamespy domain to Wiimmfi's one which is 46.4.79.141

Otherwise, if the game is properly patched or you're redirecting the traffic properly, there isn't anything special you need to do. When you'll connect to Wiimmfi the OPTIONS button should be available. You need to enable the Smash Service and Spectator allowance there. If you enable the Smash Service and go back offline, the pink "Submit" button should appear allowing you to submit custom stages, pictures and replays.

Please, do not abuse this service by sending inappropriate pictures, stages, replays or else I'll have to lock this feature away and ban people.

Smash Service

The Smash Service enables 2 features of the game:

Submission of stages, pictures and replays.

Download delivery updates which are stages, pictures and replays chosen by Nintendo from the submitted ones.

Currently, there is no delivery update available. Previous ones seems to be working when I tested it locally. Nevertheless, when enabled it takes some time to the game before it actually gets the update.

Spectator mode

The spectator mode is working and should show the replay of the image in attachments (sorry for not being able to play 2 players at the same time).

The replay upload for the spectator mode is heavily RNG based (using constants in the SSBB update) and sadly I wasn't able to reverse it completely (yet). I tried my best to choose constants that will force the game to upload as much as possible but it doesn't mean each anonymous battle will be uploaded at all. Indeed, there are also constants to define stages and characters to ignore and I used Nintendo ones for them. So, I'll need to reverse it at some point to be sure they didn't exclude characters and stages to be uploaded for the spectator mode.

The current behaviour of the Spectator mode is also slightly different. In fact, the spectator mode sends replays based on their delivery time, thus, it won't send you replays that are too old. I currently don't think we have enough traffic to allow such thing, that's why I faked the delivery time to prevent the game to refuse the replay. You might also see your own replay (even though you might not know its yours until it starts). Finally, the error code 10209 means there are no replays.

Sidenotes

I uploaded this replay using two Dolphin instances with my 2 Wii NANDs. I had trouble enabling some SSBB regions on both my NANDs due to error code 23913. I came with a very special solution, I use the PAL version with my main NAND and a patched Japanese version (that uses the PAL key for matchmaking) with my second NAND. See this thread for more details: Smash Bros: Find players across regions (TEST)

In sum, it's cross-region match replay.

Troubleshouting

If you're having issues, feel free to post a network dump and describe your problem. If you don't know if the custom update was applied, check if the OPTIONS button is available. Ditto, for the Submit button available in the Vault's Album, Replays and Stage Builder.

Homebrew-User

- In Spectator mode, the first time I click that mode, there were the orange arrows, so I waited a couple of minutes and I got (if I remember right) error code 98050. Minutes later, I tried again and this time I got error code 10209, as you said in your post.

- For the "Submit" option in the vault, I tried sending a photo and a replay, but when I send them, it stays on the "Sending" screen for a couple of minutes, and then it throws error code 98050.

Homebrew-User

@SuperNigaWii
Could you please provide a network dump if possible. Then, I'll also need your pid and the time (with timezone) of your attempts. According to your submission failure I assume that you are trying to connect to the Gamespy SAKE instead of the the Wiimmfi one. Are you using RC24 DNS (or any DNS server that will redirect gamespy.com to wiimmfi) and how did you patch your game.

As said above, the game tries to access smashbrosxwii.sake.gamespy.com which should be redirected to Wiimmfi SAKE server.

Wiimmfi SAKE server

Quellcode

$ nslookup sake.gs.wiimmfi.de 8.8.8.8

Name : sake.gs.wiimmfi.de

Address: 46.4.79.141

Gamespy SAKE server

Quellcode

$ nslookup smashbrosxwii.sake.gamespy.com 8.8.8.8

Name : ec2-54-210-138-129.compute-1.amazonaws.com

Address: 54.210.138.129

Gamespy SAKE server redirected properly using another DNS server

Quellcode

$ nslookup smashbrosxwii.sake.gamespy.com 164.132.44.106

Name : smashbrosxwii.sake.gamespy.com

Address: 46.4.79.141

@Wiimm
There is also an issue regarding a patched SAKE URL if there is no "gs" subdomain

Quellcode

$ nslookup smashbrosxwii.sake.gs.wiimmfi.de 8.8.8.8

Name : smashbrosxwii.sake.gs.wiimmfi.de

Address: 46.4.79.141

$ nslookup smashbrosxwii.sake.wiimmfi.de 8.8.8.8

Name : smashbrosxwii.sake.wiimmfi.de

EDIT:
With another profile (through my Japanese SSBB) I was also able to see my replay. Surprisingly, it also appears others successfully uploaded one more replay (see attachments).

Homebrew-User

Sadly, I can't make network dumps, nor connect using any DNS at the moment, so my only chance to test these features is using a patched game. I patched the game using the latest Wiimmfi patched from some years ago (version 3 I think), should I patch anything else besides that? I dont know if the URL you said is patched, maybe later i will check using an hex editor.

I dont know my PID, but my friend code is 0176-3467-4982 (PAL), and last time I connected was around 11:30 GMT (right after writing my last post)

Homebrew-User

@SuperNigaWii
Try to use RC24 DNS in your Wii Network settings as a primary DNS. The submissions should be working after that.

Sadly, I can't connect using DNS of any kind at the moment, so unless I manually patch all the URLs on the game, I won't be able to continue, sorry.smashbrosxwii.sake.gamespy.com is the only URL that the RC24 DNS patches, or there're more?

If you want, we can do some quick Basic Brawl matches to test Spectator mode.

Homebrew-User

@SuperNigaWii
It should be the only domain (smashbrosxwii.sake.gamespy.com) you need to redirect but I don't think you'll have enough space to patch because I think the only working domain is smashbrosxwii.sake.gs.wiimmfi.de. You'll have to wait until smashbrosxwii.sake.wiimmfi.de points to Wiimmfi SAKE. Can't you find what is the currently (automatically) chosen DNS and put it as a secondary DNS server?