Gamestats Server

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      @Ciapa:
      Ok, I've done slightly modifications to my code allowing FC to be entered (I hope). But do not do it because you won't be able to log back.

      @Dominic:
      I'll have to test with you the FC registration system because the data I used comes from the dump I made with you. In fact, this will always work with your FC this way but maybe not with someone else :v/.

      If we can successfully exchange our FC, we will be able to try friend matchmaking and hopefully not be disconnected, otherwise we'll be screwed ><'.

      It seems the login problem doesn't came from the authtoken/resp the game sends me but the link it has with wiimmfi and gamestats server. Someone who doesn't have friend will connect fine. However when someone does have friends, it will sends more requests to nas.wiimmfi.de/pr and leads to a delbuddy request (why? it shouldn't remove a friend). After that it calls the gamestats server twice, one before, one after processing that delbuddy request, strange...

      @Wiimm:
      What does your server answer if I send "\ka\final\"? The game runs into an infinite loop during the login process when the profile has friends. Then I suppose there is a time out of some sort and the game keeps sending this endlessly each 1~2 minutes or so.

      Sepalani schrieb:

      "\ka\final\"
      ... then names and params are switched, because "\ka\\final\" is correct.

      Can you send me the dump?

      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.
      Yes, I meant "\ka\\final\" (I forgot a backslash ^^').

      Here are the dumps. login_success.cap contains the login process from the official servers (nossl patched) of someone who doesn't have friend. The other one is the attempt I tried with wiimmfi servers and my gamestats server having friends. The fact that's not working isn't the problem because this might have many reasons for that. I'm worried about the game running into an endless loop without raising any error and sending this over and over.
      Dateien
      • Login process.zip

        (9,99 kB, 69 mal heruntergeladen, zuletzt: )
      In the next days, after finishing debugging my project for schools anniversary, I'll update the Gamestats HTTP Server for Mario Strikers Charged. I'm going to try to add more records to see if i can manage to get Friend Rooms to work.
      Is anyone able to write me a tool which reads bytes 1-20(20 bytes), creates a SHA1 hash of bytes[] + done + bytes[] and if it doesn't equal a provided value, it tries bytes 2-21 and so on until it finds the right combination? C# won't do it... Would be a great help in reversing the Gamestats HTTP Server
      14.932 bytes pure destruction.
      @Ciapa:

      Something like that?

      Quellcode

      1. #! /usr/bin/python
      2. __author__="Sepalani"
      3. __date__ ="$Jul 21, 2014 7:43:06 PM$"
      4. import sys
      5. import hashlib
      6. def sha_check(a, b, bytes, value, verbose=0):
      7. m = hashlib.md5()
      8. m.update(bytes[a:b] + 'done' + bytes[a:b])
      9. s = m.digest()
      10. if verbose:
      11. print "[%d:%d] %s >>> %s" % (a, b, bytes[a:b], ":".join("{:02x}".format(ord(c)) for c in s))
      12. if s == value:
      13. print "Combination found:"
      14. print "[%d:%d] %s >>> %s" % (a, b, bytes[a:b], ":".join("{:02x}".format(ord(c)) for c in s))
      15. return True
      16. else:
      17. return False
      18. if __name__ == "__main__":
      19. if len(sys.argv) >= 3:
      20. try:
      21. f = open(sys.argv[1], 'rb')
      22. bytes = f.read()
      23. f.close()
      24. except:
      25. bytes = sys.argv[1]
      26. try:
      27. f = open(sys.argv[2], 'rb')
      28. val = f.read()
      29. f.close()
      30. except:
      31. val = sys.argv[2]
      32. a = 0
      33. b = 20
      34. v = 0
      35. if len(sys.argv) > 3:
      36. v = int(sys.argv[3])
      37. l = len(bytes)
      38. while b <= l:
      39. if sha_check(a, b, bytes, val, v):
      40. sys.exit(0)
      41. a += 1
      42. b += 1
      43. print "Combination not found!"
      44. else:
      45. print >> sys.stderr, "Invalid parameters!"
      46. print >> sys.stderr, "Usage: %s filename_or_string providen_value_or_file [verbose]" % sys.argv[0]
      Alles anzeigen
      Today, I've lost all data on one of my Servers due to a critical Hardware Crash. This Server was also storing all my Wiimmfi Projects, the MSCharged Gamestats, the Dump Collector and also the Fortune Street Gamestats by @Sepalani
      Currently I'm trying to rescur all the data I could rescue, but most files are damaged.
      I'll try to find the Sourcecode of my Gamestats and re-upload it in the next days. For Fortune Street I have to wait for @Sepalani ...

      Sorry, but I hope you can understand this.
      14.932 bytes pure destruction.
      @Ciapa:
      No problem ;v). It's still hard to maintain a server and have the require hardware to handle it. Plus all the little problems that can happen and may damage your infrastructure. This is a quiet painful task.

      I've uploaded the files I had from your git repository after my last change.
      Dateien
      • GSTCP.zip

        (16,87 kB, 84 mal heruntergeladen, zuletzt: )
      @Ciapa:
      That's really bad. But take this event to think about a backup system.

      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.
      @Sepalani
      When I try to execute it, I get following Error Code:

      Quellcode

      1. File "gamestats_server.py", line 34
      2. print ">>> %s" % val
      3. ^
      4. SyntaxError: invalid syntax
      5. C:\Users\Administrator\Desktop>


      Trying to fix this on my own, just as a little note for you.

      Edit:
      Turned out to be a Python3 Issue, Python2 fixes this.
      14.932 bytes pure destruction.

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

      Ciapa schrieb:

      @Sepalani
      When I try to execute it, I get following Error Code:

      Quellcode

      1. File "gamestats_server.py", line 34
      2. print ">>> %s" % val
      3. ^
      4. SyntaxError: invalid syntax
      5. C:\Users\Administrator\Desktop>


      Trying to fix this on my own, just as a little note for you.

      Edit:
      Turned out to be a Python3 Issue, Python2 fixes this.


      That's true, I'm programming python scripts through python2x not python3 ^^. I use(d) the old snprintf syntax used in Python2x which is considered as deprecated. Plus I also use(d) to this old print syntax likes the "print >> sys.stderr" which is also deprecated in Python3. In fact, my coding style is closer to the old school python2x one than the new python3 syntax with print and others keywords replaced with functions and others python3 modifications. This is why it's not supported in Python3 which replaces the print keyword with the print() function.
      Hello!

      @Ciapa you asked me to check everything was functional with Mario Strikers Charged on my YouTube video. I've done a quick test just now on the European version, and currently connecting is impossible. During the statistics retrieval phase, it immediately presents Error Code 98020. The reason for this, it seems, when I forced the game to print its logs, is that the server returned a 404 at some point (and an accompanying webpage). Unfortunately, the logs do not tell me what it actually attempted to access that presented this 404.

      Ciapa schrieb:

      @MrBean3500vr
      I don't own the game anymore, could you please create a traffic dump while the game connects? Maybe i just missed a point in the older codebase.


      Sorry about the delay. I still haven't had chance to test, but actually, it looks the problem is already resolved. I was able to sign on earlier just fine, and the American version also seems able to go online! I've not tried to play any matches yet, though.
      @MrBean35000vr I already fixed it, there was a bug inside the Rewrite Module that caused to cut the Parameters from the Request. Glad it works again.null
      Edit:
      Mario Strikers Charged won't work right now since I'm updating one of my Ubuntu Boxes(currently stuck on 13.09 and now updates are gone) which hosts a part of the Server Files.
      Should be back in 2-3 hours.
      14.932 bytes pure destruction.

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

      @Wiimm
      For the test Server, could you please set up a CName to gstest.ciapa.ml as Gamestats Server? I'm going to try to rebuild a real Gamestats Server in the next days/weeks and this would make testing mich easier.
      This is mainly for Mario Strikers Charged, but later I'll analyse other games not working right now, so every Gamestats Game could be redirected to this domain.
      14.932 bytes pure destruction.
      Doing some maintenance work - all Gamestats based games won't be playable from 21:00 CEST to 22:00 CEST.
      I'll move all Gamestats releated things to a new server dedicated just for Gamestats and other Wiimmfi releated projects. If someone needs hosting for something(DLS1 etc.) just drop me a PM so we can discuss it.
      Update: Finished. Everything should work again.
      14.932 bytes pure destruction.

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

      Hello again!

      @Ciapa
      Mario Strikers is currently returning 98020 when trying to retrieve stats right now. The error is a HTTP 404. The returned page says the path the game attempted to access was: /mschargedwii/web/client/get2.asp, which apparently does not exist.

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

      Yeah, I know oft it. I had to disable it for a time, since the data I'm responding seems to not be valid anymore.
      I'm trying to geht this up again, but it could take a while since I'm currently busy with exams.
      Maybe I'll get it on again at the weekend. I followed the whole code and everything was sent correctly, so I don't really know where the error came from. Maybe it has something to do with the changes Wiimm made to the GPCM Server.
      @Wiimm could wie discuss this the next time we're both onlinr on TS3?
      14.932 bytes pure destruction.