Gamestats Server

      Gamestats Server

      Hello,
      since some games use the gamestats Server of GameSpy(Mario Strikers Charged, SSBB, The Last Story and others) and it's more or less necessary for the games, I want to recreate this Server.
      To do this, I need your help. I need network dumps oft every game using the Gamestats Server, the more dumps I have, the better are the chances of a recreation.
      Since we don't habe much time left to dump, everyone's help is appreciated.
      Tomorrow I'll setup a Github repository for the development of this Server as I could need help in the recreation.
      I would develop the Server in C# ASP.Net, because the official one is also developed in ASP.Net

      Dumps can be sent to me via private message. If you need help with dumping(e.g. finding where the Client connects to the Gamestats Server), just ask. I'll answer asap.
      Here's the Github Repository, with a little license to protect this software from leechers:
      github.com/ciapa1998/Wiimmfi-Gamestats-Server

      Games I'm working on:
      • Super Smash Bros. Brawl <- I either need to patch some things out of the game or completely understand the encryption and key generating.
      • The Last Story <- Folder structure completed
      • Mario Strikers Charged <- Started analyzing of the game

      If you wish me to analyze more games, please write it here in this thread and provide as much network dumps of the Gamestats Server as possible.
      14.932 bytes pure destruction.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Xidus () aus folgendem Grund: Added "Working on"-List

      I don't know if it uses the Gamestats Server. Try to dump every function of the WFC and search for gamestats in the dumps. There'll be a resolve packet for the gamestats(2).gs.nintendowifi.com domain in the DNS packets if it supports the Gamestats Server.
      Yes, you need to get the Dumps in NoSSL mode. It's unimportant if this is achieved using the SSL Tunnel by Toad King or using a NoSSL patched Version of Dolphin, even if I prefer the Dolphin way, since it's better to read. Google Dolphin wifi connection on how to setup Dolphin and visit save-nintendo-wifi.com for a patched Dolphin version.
      14.932 bytes pure destruction.

      Ciapa schrieb:

      Yes, you need to get the Dumps in NoSSL mode. It's unimportant if this is achieved using the SSL Tunnel by Toad King or using a NoSSL patched Version of Dolphin, even if I prefer the Dolphin way, since it's better to read. Google Dolphin wifi connection on how to setup Dolphin and visit save-nintendo-wifi.com for a patched Dolphin version.
      According to this guide, do packets get dumped automatically or do I still have to dump manually?
      SSBB, so we get in the best case the spectator function to run ;)
      I'll upload the dump possibly in a few minutes.
      Vegetarier sind viel grausamer als gedacht. Ein Schwein kann wenigstens wegrennen, aber ein Salat?!? :D :P

      Kein Support per PN! Wir sind in einem Forum, und ein Forum lebt aus Fragen und Antworten.
      Was auch wichtig ist: Immer auf die Rechtschreibung achten!


      Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


      Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.




      Wer mir und sich selbst 500mb gratis-Speicher schenken will, kann sich ja unter diesem >Link<unter Dropbox registrieren ;)

      Wii Konsole mit Firmware 4.1
      Mit Internet
      Zwei Gamecube-Controller
      2 Wii Fernbedienungen, von denen eine kaputt ist (ich frag mich immer noch wie das möglich ist...)
      Gemoddet nach den Regeln des ALTEN UHGs, aufgefrischt mit dem IOS-Update im neuen UHG.

      Okay, well now I have a dump with only once spectating, but with login and logout. I'll send it to you via PM. When I get home from school, I'm going to create additional dumps.
      Vegetarier sind viel grausamer als gedacht. Ein Schwein kann wenigstens wegrennen, aber ein Salat?!? :D :P

      Kein Support per PN! Wir sind in einem Forum, und ein Forum lebt aus Fragen und Antworten.
      Was auch wichtig ist: Immer auf die Rechtschreibung achten!


      Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


      Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.




      Wer mir und sich selbst 500mb gratis-Speicher schenken will, kann sich ja unter diesem >Link<unter Dropbox registrieren ;)

      Wii Konsole mit Firmware 4.1
      Mit Internet
      Zwei Gamecube-Controller
      2 Wii Fernbedienungen, von denen eine kaputt ist (ich frag mich immer noch wie das möglich ist...)
      Gemoddet nach den Regeln des ALTEN UHGs, aufgefrischt mit dem IOS-Update im neuen UHG.

      Currently I'm working on the Gamestats support for the games The Last Story and SSBB. If anyone could test things out later on today, it would be really good. But before the test I need to rewrite the DLS1 Server script as I host both Servers on the same IP and the same port, so I need to recode this Server in PHP or ASP.Net
      If someone can help me with testing, he or she should write me a PN with the game Name and if he/she can come on the Teamspeak Server so I know how I can organize the testings.
      14.932 bytes pure destruction.
      Thanks, I'll look into it. Seems some responses of the gamestats server are hex encoded in some weird way(normal decoders fail with more or less just "?" in the strings)
      In the first try this afternoon I'll send some dummy results and see what Brawl does with them.
      if someone has hints for decoding the hexadecimal strings, here's one of them:

      Quellcode

      1. \002\000\000\000\000\000\000\000\2413\310\000\340\232\000\000\336\a\000\000\004\000\000\000\022\000\000\000\021\000\000\000\030\000\000\000\000\000\000\000\336\a\000\000\004\000\000\000\022\000\000\000\021\000\000\000\030\000\0
      14.932 bytes pure destruction.

      HNKii64 schrieb:

      I have a legit copy of Golden eye 007. Is that gamestat server based as well?
      Plus, do I have to turn on no-ssl code?
      No it isn't. And neither are the CoD games. Apart from naswii they don't use any nintendo servers at all. They rely on servers hosted by DemonWare:

      Goldeneye

      Quellcode

      1. stun.us.demonware.net 209.170.124.117
      2. stun.eu.demonware.net 209.170.72.124
      3. stun.jp.demonware.net (CNAME stun.us.demonware.net) 209.170.124.117
      4. stun.au.demonware.net (CNAME stun.eu.demonware.net) 209.170.72.124
      5. jb2010-wii-live.auth.mmp3.demonware.net 209.170.72.28
      6. jb2010-wii-live.lsg.mmp3.demonware.net 209.170.72.27
      7. naswii.nintendowifi.net 69.25.139.143 [SSL]

      Call of Duty: Black Ops

      Quellcode

      1. cod7-wii-auth-dw.prod.demonware.net 209.170.72.26
      2. cod7-wii-lobby-dw.prod.demonware.net 209.170.72.13
      3. naswii.nintendowifi.net 69.25.139.143 [SSL]
      4. stun.us.demonware.net 209.170.124.117
      5. stun.eu.demonware.net 209.170.72.124

      Call of Duty: Modern Warfare 3

      Quellcode

      1. mw3-wii-auth.prod.demonware.net 209.170.124.209
      2. mw3-wii-lsg.prod.demonware.net 209.170.124.211
      3. naswii.nintendowifi.net 69.25.139.143 [SSL]
      4. mw3-stun.us.demonware.net (CNAME stun.us.demonware.net) 209.170.124.117
      5. mw3-stun.eu.demonware.net (CNAME stun.eu.demonware.net) 209.170.72.124


      The only game I looked at that uses the gamestats servers is "Conduit 2". Which is also one of the games that uses the dls1 server to get updates.

      Quellcode

      1. gpcm.gs.nintendowifi.net 69.10.30.242
      2. gpsp.gs.nintendowifi.net 69.10.30.241
      3. gamestats.gs.nintendowifi.net 69.10.30.240
      4. gamestats2.gs.nintendowifi.net 69.10.30.234
      5. conduit2wii.available.gs.nintendowifi.net 69.10.30.248
      6. conduit2wii.natneg1.gs.nintendowifi.net 69.10.30.254
      7. conduit2wii.natneg2.gs.nintendowifi.net 69.10.30.253
      8. conduit2wii.natneg3.gs.nintendowifi.net 69.10.30.252
      9. conduit2wii.master.gs.nintendowifi.net 69.10.30.248
      10. conduit2wii.gamestats.gs.nintendowifi.net 69.10.30.240
      11. conduit2wii.gamestats2.gs.nintendowifi.net 69.10.30.234
      12. conduit2wii.ms9.gs.nintendowifi.net 69.10.30.247
      13. naswii.nintendowifi.net 69.25.139.143 [SSL]
      14. dls1.nintendowifi.net 49.129.26.161 [SSL]
      Alles anzeigen

      Thassalar schrieb:

      The only game I looked at that uses the gamestats servers is "Conduit 2". Which is also one of the games that uses the dls1 server to get updates.

      Do you have dumps of Conduit 2 so we can get it working with the DLS1 and the Gamestats Server?

      Update: My main goal atm is to get Mario Strikers Charged to work. Some parts are easy to achieve(almost nothing needed to reverse), but some parts are very hard to understand.
      14.932 bytes pure destruction.

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

      Ciapa schrieb:

      Yes it helps very much, my dls1 is a generic one, it supports almost every game after configuration. I just need to decode the Gamestats Responses.

      There you go, that's a capture of all the traffic to my wii during Conduit 2 gameplay. So there's a lot of stuff you'll have to ignore.
      If you need to know what was going on let me know. I got video of it captured with a webcam. But ffmpeg let me down completely with dropping framerates, so the timeline of the video is completely fried.

      EDIT: Conduit 2 has got updates before, so this capture was made with the already up to date version of it.

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Thassalar () aus folgendem Grund: Typos, Extension and Attachment removal

      I just talked with Nagato about the gamestats server and he gave me some hints on how to generate the hashes and so on, but he also said it could be different between NDS and Wii Games or even different between every game. I also got a working copy of a Gamestats Server for Pokemon Gen 5, so this could also help me a bit.
      About the hashes at the end of every response:
      It seems that this string is generated with the following function

      Quellcode

      1. sha1("HZEdGCzcGGLvguqUEKQN"+urlsafe_base64(response)+"HZEdGCzcGGLvguqUEKQN")

      Where HZEdGCzcGGLvguqUEKQN is the Key for the game, here Pokemon Gen 5.
      If someone has any ideas/informations about the keys used here, I would appreciate every hint about it.
      14.932 bytes pure destruction.
      We're almost there. I can connect with the Game Mario Strikers Charged without any Error Code, but the message "Error while loading Statistics"("Fehler beim Laden der Statistik").
      To fix this, I need someone who can compile a special Wireshark version for me. It can be for Linux, Windows or Mac OS X(that what's the best for you, I can use everything). If anyone can do this, please write me a PN(it's open for everyone). I need this as soon as possible, as this seems to be the last step to a Working Gamestats Server.
      14.932 bytes pure destruction.
      Unfortunately, I can not until tomorrow afternoon. So, if you can't find anyone, I'm there later.
      Vegetarier sind viel grausamer als gedacht. Ein Schwein kann wenigstens wegrennen, aber ein Salat?!? :D :P

      Kein Support per PN! Wir sind in einem Forum, und ein Forum lebt aus Fragen und Antworten.
      Was auch wichtig ist: Immer auf die Rechtschreibung achten!


      Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


      Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.




      Wer mir und sich selbst 500mb gratis-Speicher schenken will, kann sich ja unter diesem >Link<unter Dropbox registrieren ;)

      Wii Konsole mit Firmware 4.1
      Mit Internet
      Zwei Gamecube-Controller
      2 Wii Fernbedienungen, von denen eine kaputt ist (ich frag mich immer noch wie das möglich ist...)
      Gemoddet nach den Regeln des ALTEN UHGs, aufgefrischt mit dem IOS-Update im neuen UHG.

      @Ciapa: The TCP-Gamestats-Server on port 29920 does use a login protocol similar as the GPCM one - but xor-ed with "GameSpy3D":

      Quellcode

      1. \lc\1\challenge\FUZUMYZUEM\id\1\final\
      2. \auth\\gamename\itadakistwii\response\20fb119a53b1708f4d128ce2e1f7d934\port\0\id\1\final\
      3. \lc\2\sesskey\1478221351\proof\0\id\1\final\
      4. \authp\\authtoken\NDSTx9dTzSzqDJriiujXlFE2N3ayKtIrQXAU1tdrQr5x/ey+q0lOjTmTIvbYJ+Z8mZakqGIxyThMTYr+bzfo/1REEiwQ3s7/n3R94pc5peBVolkfvG/VkGVFdmz88VV+jMD\resp\11fcfc2224589c91c37500207f095bb3\lid\0\final\
      5. \pauthr\480548757\lid\0\final\
      6. \setpd\\pid\480548757\ptype\3\dindex\0\kv\1\lid\0\length\149\data\\itast_friend_p\AEcAYQBzAHQAIABBAAAAAAAAAAAAAAAIAG4AbwAgAG4AYQBtAGUAAAAAAABAQIAAAADs-4LSEASIADGACKIIjAhYFEq4jQCKAIolBAAAAAAAAAAAAAAAAAAAAAAAAAAAn1E*\final\
      7. \setpdr\1\lid\0\pid\480548757\mod\1400512810\final\


      So if someone wants to make this Gamestats server, it also has to communicate with nas and gpcm.

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Leseratte ()

      Leseratte schrieb:

      @Ciapa: The TCP-Gamestats-Server on port 29920 does use a login protocol similar as the GPCM one - but xor-ed with "GameSpy3D":

      Quellcode

      1. \lc\1\challenge\FUZUMYZUEM\id\1\final\
      2. \auth\\gamename\itadakistwii\response\20fb119a53b1708f4d128ce2e1f7d934\port\0\id\1\final\
      3. \lc\2\sesskey\1478221351\proof\0\id\1\final\
      4. \authp\\authtoken\NDSTx9dTzSzqDJriiujXlFE2N3ayKtIrQXAU1tdrQr5x/ey+q0lOjTmTIvbYJ+Z8mZakqGIxyThMTYr+bzfo/1REEiwQ3s7/n3R94pc5peBVolkfvG/VkGVFdmz88VV+jMD\resp\11fcfc2224589c91c37500207f095bb3\lid\0\final\
      5. \pauthr\480548757\lid\0\final\
      6. \setpd\\pid\480548757\ptype\3\dindex\0\kv\1\lid\0\length\149\data\\itast_friend_p\AEcAYQBzAHQAIABBAAAAAAAAAAAAAAAIAG4AbwAgAG4AYQBtAGUAAAAAAABAQIAAAADs-4LSEASIADGACKIIjAhYFEq4jQCKAIolBAAAAAAAAAAAAAAAAAAAAAAAAAAAn1E*\final\
      7. \setpdr\1\lid\0\pid\480548757\mod\1400512810\final\


      So if someone wants to make this Gamestats server, it also has to communicate with nas and gpcm.


      I understand better why some part of the string aren't readable. When I resolved the domain name for the gamestats servers we went down from 92030/70 to 92020 error code. I tried to send garbage values to see if it will ignore them but this is not the case.

      If I understand correctly, the game pays attention to nas, gpcm and gamestats responses? I can try to forge a gamestats server answer which will be used without the nas/gpcm responses and hope the game will ignore them.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Leseratte () aus folgendem Grund: Quote corrected.

      Leseratte schrieb:


      That won't work. The gamestats has to communicate with the nas and gpcm login servers.


      Hum, instead I could use altwfc as an alternative server. I see they implemented the gamestats server. If I'm able to get the game work there, I'll be able here. The only difference would be the fact I don't have access to the nas/gpcm information. However I can make dummy functions you'll replace by the ones calling the appropriate server.

      Maybe, you'll get one working before I did, but it may worth a try.