[EXPERIMENTAL] Smash Service & Spectator mode

      [EXPERIMENTAL] Smash Service & Spectator mode

      Introduction


      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:
      1. Submission of stages, pictures and replays.
      2. 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.
      Bilder
      • RSBP01-1.png

        147,68 kB, 756×432, 3.385 mal angesehen
      I've made some tests and this is what I'm getting so far:

      - I can change the online options fine, no problems or errors here.

      - 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.
      @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

      1. $ nslookup sake.gs.wiimmfi.de 8.8.8.8
      2. Name : sake.gs.wiimmfi.de
      3. Address: 46.4.79.141

      Gamespy SAKE server

      Quellcode

      1. $ nslookup smashbrosxwii.sake.gamespy.com 8.8.8.8
      2. Name : ec2-54-210-138-129.compute-1.amazonaws.com
      3. Address: 54.210.138.129

      Gamespy SAKE server redirected properly using another DNS server

      Quellcode

      1. $ nslookup smashbrosxwii.sake.gamespy.com 164.132.44.106
      2. Name : smashbrosxwii.sake.gamespy.com
      3. Address: 46.4.79.141

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

      Quellcode

      1. $ nslookup smashbrosxwii.sake.gs.wiimmfi.de 8.8.8.8
      2. Name : smashbrosxwii.sake.gs.wiimmfi.de
      3. Address: 46.4.79.141
      4. $ nslookup smashbrosxwii.sake.wiimmfi.de 8.8.8.8
      5. 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).
      Bilder
      • RSBJ01-1.png

        497,25 kB, 1.592×916, 230 mal angesehen
      • RSBJ01-2.png

        334,06 kB, 1.592×916, 224 mal angesehen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sepalani ()

      @Sepalani

      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)

      Sepalani schrieb:

      @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.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von SuperNigaWii ()

      @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?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sepalani ()

      Maidvelia schrieb:

      Anymore development or updates on this?
      Spectator mode works, and some data is on the server to be sent to clients. However, since both @'Wiimm''s patcher and @'MrBean35000vr''s disc patcher does not patch gamespy urls (but they're both busy, so no need to hassle them), if a user isn't using a DNS, such as RC24's, that correctly changes the IP of sake.gamespy.com to the right server, they can't upload spectator data or submit files

      I currently host the DLS1, GAMESTATS, and Peerchat server for Wiimmfi. if you have any issues with leaderboards (excluding MKW!), Mystery Gifts or other in-game downloadables, or Pokémon Wi-Fi Plaza, I can try to help!
      Hopefully, just having RC24 DNS should work.
      @Wiimm would it be possible to update wit (and wiimmfi patcher) to also patch *.gamespy.com? The only issue is that gamespy.com is 11 char, and gs.wiimmfi.de is 13 - the only game I've seen on NWFC using gamespy.com is SSBB, which uses sake.gamespy.com - maybe patch it to sake.wiimmfi.de?

      @MrBean35000vr similarly, would the disc patcher be updatable at some point in the future? ^^

      I currently host the DLS1, GAMESTATS, and Peerchat server for Wiimmfi. if you have any issues with leaderboards (excluding MKW!), Mystery Gifts or other in-game downloadables, or Pokémon Wi-Fi Plaza, I can try to help!

      PokeAcer schrieb:

      @Wiimm would it be possible to update wit (and wiimmfi patcher) to also patch *.gamespy.com? The only issue is that gamespy.com is 11 char, and gs.wiimmfi.de is 13 - the only game I've seen on NWFC using gamespy.com is SSBB, which uses sake.gamespy.com - maybe patch it to sake.wiimmfi.de?

      For clearness: "sake.gamespy.com" is replaced by "sake.wiimmfi.de"! That's all?

      I have it implanted it now and tested it with 11 games of my test suite (but not released yet). The patched main.dol differs only for SSBB:

      Quellcode

      1. < http://%s.sake.gamespy.com/SakeFileServer/download.aspx?fileid=%d&gameid=%d&pid=%d
      2. < http://%s.sake.gamespy.com/SakeFileServer/upload.aspx?gameid=%d&pid=%d
      3. ---
      4. > http://%s.sake.wiimmfi.de/SakeFileServer/download.aspx?fileid=%d&gameid=%d&pid=%d
      5. > http://%s.sake.wiimmfi.de/SakeFileServer/upload.aspx?gameid=%d&pid=%d
      No changed for the other games.

      Now I have to release wit and to update the SAKE server settings to accept "sake.wiimmfi.de".

      WIT: Wiimms ISO Tools
      Verwaltet Plain ISO, WDF, WIA, CISO, WBFS, FST: kann Extrahieren, Erstellen, Patchen, Mischen und Überprüfen

      SZS: Wiimms SZS Tools
      Verwaltet SZS-, BRRES-, U8-, BMG-, BREFT-Dateien uvm.



      PN ohne persönlichen Charakter werden ignoriert. Support-Anfragen gehören ins Forum.

      PokeAcer schrieb:

      Hopefully, just having RC24 DNS should work
      It unfortunately may require for RC24 to be fully installed, but IDK yet.

      Wiimm schrieb:

      PokeAcer schrieb:

      @Wiimm would it be possible to update wit (and wiimmfi patcher) to also patch *.gamespy.com? The only issue is that gamespy.com is 11 char, and gs.wiimmfi.de is 13 - the only game I've seen on NWFC using gamespy.com is SSBB, which uses sake.gamespy.com - maybe patch it to sake.wiimmfi.de?
      For clearness: "sake.gamespy.com" is replaced by "sake.wiimmfi.de"! That's all?

      I have it implanted it now and tested it with 11 games of my test suite (but not released yet). The patched main.dol differs only for SSBB:

      Quellcode

      1. < http://%s.sake.gamespy.com/SakeFileServer/download.aspx?fileid=%d&gameid=%d&pid=%d
      2. < http://%s.sake.gamespy.com/SakeFileServer/upload.aspx?gameid=%d&pid=%d
      3. ---
      4. > http://%s.sake.wiimmfi.de/SakeFileServer/download.aspx?fileid=%d&gameid=%d&pid=%d
      5. > http://%s.sake.wiimmfi.de/SakeFileServer/upload.aspx?gameid=%d&pid=%d
      No changed for the other games.

      Now I have to release wit and to update the SAKE server settings to accept "sake.wiimmfi.de".
      Is it possible you can send me a (NTSC-U) SSBB main.dol with sake.wiimmfi.de instead of sake.gamespy.com, when you're done?

      FancyDolphin schrieb:

      PokeAcer schrieb:

      Hopefully, just having RC24 DNS should work
      It unfortunately may require for RC24 to be fully installed, but IDK yet.
      No, it 100% doesn't - RC24's DNS is just making it point sake.gamespy.com to Wiimmfi (source: I added the line in).

      FancyDolphin schrieb:

      Is it possible you can send me a (NTSC-U) SSBB main.dol with sake.wiimmfi.de instead of sake.gamespy.com, when you're done?
      You can make one yourself when the patcher is released ^^

      I currently host the DLS1, GAMESTATS, and Peerchat server for Wiimmfi. if you have any issues with leaderboards (excluding MKW!), Mystery Gifts or other in-game downloadables, or Pokémon Wi-Fi Plaza, I can try to help!

      PokeAcer schrieb:

      FancyDolphin schrieb:

      PokeAcer schrieb:

      Hopefully, just having RC24 DNS should work
      It unfortunately may require for RC24 to be fully installed, but IDK yet.
      No, it 100% doesn't - RC24's DNS is just making it point sake.gamespy.com to Wiimmfi (source: I added the line in).

      FancyDolphin schrieb:

      Is it possible you can send me a (NTSC-U) SSBB main.dol with sake.wiimmfi.de instead of sake.gamespy.com, when you're done?
      You can make one yourself when the patcher is released ^^
      1. Oh, I guess that makes sense.
      2. bUt WhEn?!!!!111!!!!
      Hi; that's not an issue of the smash spectator service - a lot of people play in friend rooms only, because the netcode of Smash is awful and doesn't like to work often.

      I currently host the DLS1, GAMESTATS, and Peerchat server for Wiimmfi. if you have any issues with leaderboards (excluding MKW!), Mystery Gifts or other in-game downloadables, or Pokémon Wi-Fi Plaza, I can try to help!