sepalani / gamestatshttp Goto Github PK
View Code? Open in Web Editor NEWA Nintendo's Gamestats2 server implementation.
A Nintendo's Gamestats2 server implementation.
Perhaps you should add some clarification of URLs when some URLs are not Gamestats? For example: animalcrossingds: axing is a bin file that triggers inbuilt info in the game (like a BBS message, and a message saying "happy whatever" from Nintendo)
Logs
Key: GamestatsKey(salt='yJyQPhlxyMqcyySsJHPO', constants=GamestatsKeyConstants(x=89389, y=30053, z=16384, checksum_secret=661526867))
[wrldgoowii] Handle put2.asp?pid=600185360
127.0.0.1 - - [02/Jul/2017 22:17:17] "GET /wrldgoowii/web/client/put2.asp?pid=600185360 HTTP/1.1" 200 -
[wrldgoowii] GET /web/client/put2.asp?pid=600185360&hash=452556db83aa7c9ec0284cec48cb5d96e8bd8465&data=J24v0BAaxiOcAAAA_wAAAAAAAADqAQAAjAAAAGFhYWFhYWVhYWFhYWFpYWFhYWFhYWFhYWliZGNhaGdnYWFhYWFpbGtpY2lsb3BpaWliZGNhaGdnY2RtZ2JrYmFhYWFhYWFhYWZoZWhlcGVmYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYW9sbGpuZWxhAAAAEgAAAAwAAABs
Key: GamestatsKey(salt='yJyQPhlxyMqcyySsJHPO', constants=GamestatsKeyConstants(x=89389, y=30053, z=16384, checksum_secret=661526867))
[wrldgoowii] Handle put2.asp?pid=600185360&hash=452556db83aa7c9ec0284cec48cb5d96e8bd8465&data=J24v0BAaxiOcAAAA_wAAAAAAAADqAQAAjAAAAGFhYWFhYWVhYWFhYWFpYWFhYWFhYWFhYWliZGNhaGdnYWFhYWFpbGtpY2lsb3BpaWliZGNhaGdnY2RtZ2JrYmFhYWFhYWFhYWZoZWhlcGVmYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYW9sbGpuZWxhAAAAEgAAAAwAAABs
127.0.0.1 - - [02/Jul/2017 22:17:19] Put2 request for wrldgoowii: {'hash': ['452556db83aa7c9ec0284cec48cb5d96e8bd8465'], 'pid': ['600185360'], 'data': ['J24v0BAaxiOcAAAA_wAAAAAAAADqAQAAjAAAAGFhYWFhYWVhYWFhYWFpYWFhYWFhYWFhYWliZGNhaGdnYWFhYWFpbGtpY2lsb3BpaWliZGNhaGdnY2RtZ2JrYmFhYWFhYWFhYWZoZWhlcGVmYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYW9sbGpuZWxhAAAAEgAAAAwAAABs']}
127.0.0.1 - - [02/Jul/2017 22:17:19] "GET /wrldgoowii/web/client/put2.asp?pid=600185360&hash=452556db83aa7c9ec0284cec48cb5d96e8bd8465&data=J24v0BAaxiOcAAAA_wAAAAAAAADqAQAAjAAAAGFhYWFhYWVhYWFhYWFpYWFhYWFhYWFhYWliZGNhaGdnYWFhYWFpbGtpY2lsb3BpaWliZGNhaGdnY2RtZ2JrYmFhYWFhYWFhYWZoZWhlcGVmYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYW9sbGpuZWxhAAAAEgAAAAwAAABs HTTP/1.1" 200 -
[..]
[wrldgoowii] GET /web/client/get2.asp?pid=600185360
Key: GamestatsKey(salt='yJyQPhlxyMqcyySsJHPO', constants=GamestatsKeyConstants(x=89389, y=30053, z=16384, checksum_secret=661526867))
[wrldgoowii] Handle get2.asp?pid=600185360
127.0.0.1 - - [02/Jul/2017 22:18:28] "GET /wrldgoowii/web/client/get2.asp?pid=600185360 HTTP/1.1" 200 -
[wrldgoowii] GET /web/client/get2.asp?pid=600185360&hash=cffe4d6b44d3df61111e66f4beb0ccecde072328&data=J24b7BAaxiMcAAAA_wAAAAAAAAACAAAADAAAAAEAAAAKAAAAQDgAAA==
Key: GamestatsKey(salt='yJyQPhlxyMqcyySsJHPO', constants=GamestatsKeyConstants(x=89389, y=30053, z=16384, checksum_secret=661526867))
[wrldgoowii] Handle get2.asp?pid=600185360&hash=cffe4d6b44d3df61111e66f4beb0ccecde072328&data=J24b7BAaxiMcAAAA_wAAAAAAAAACAAAADAAAAAEAAAAKAAAAQDgAAA==
127.0.0.1 - - [02/Jul/2017 22:18:30] Get2 request for wrldgoowii: {'hash': ['cffe4d6b44d3df61111e66f4beb0ccecde072328'], 'pid': ['600185360'], 'data': ['J24b7BAaxiMcAAAA_wAAAAAAAAACAAAADAAAAAEAAAAKAAAAQDgAAA==']}
127.0.0.1 - - [02/Jul/2017 22:18:30] "GET /wrldgoowii/web/client/get2.asp?pid=600185360&hash=cffe4d6b44d3df61111e66f4beb0ccecde072328&data=J24b7BAaxiMcAAAA_wAAAAAAAAACAAAADAAAAAEAAAAKAAAAQDgAAA== HTTP/1.1" 200 -
[ms2012wii] GET /web/client/get2.asp?pid=600259710```
In Inazuma Eleven GO Strikers 2013 (Inazumawii), players in the leaderboards that aren't top 20 are just considered 20th.
Here is an example:
This makes ranking-based matchmaking impossible and also affects the amount of points that you obtain for each match won (it's calculated based on the level of your opponent): unless your opponent is in the top 20, you would always get 20 points for each win.
Here's a screenshot from back when the official servers were still up:
Logs
Key: GamestatsKey(salt='FRFCvNXiZGQgfbWudVoP', constants=GamestatsKeyConstants(x=210477, y=25691, z=131072, checksum_secret=1725970804))
[drmariowii] Handle get2.asp?pid=600235521
127.0.0.1 - - [02/Jul/2017 22:23:17] "GET /drmariowii/web/client/get2.asp?pid=600235521 HTTP/1.1" 200 -
[drmariowii] GET /web/client/get2.asp?pid=600235521&hash=db52b13ebd843bdc6f6c9b459e37799a883a75dd&data=ZuA7jwDfxyIdAAEB_gEAAAEAAQABAAEBDAABAQAAAQAKAQEBAQEAAQ==
Key: GamestatsKey(salt='FRFCvNXiZGQgfbWudVoP', constants=GamestatsKeyConstants(x=210477, y=25691, z=131072, checksum_secret=1725970804))
[drmariowii] Handle get2.asp?pid=600235521&hash=db52b13ebd843bdc6f6c9b459e37799a883a75dd&data=ZuA7jwDfxyIdAAEB_gEAAAEAAQABAAEBDAABAQAAAQAKAQEBAQEAAQ==
127.0.0.1 - - [02/Jul/2017 22:23:17] Get2 request for drmariowii: {'hash': ['db52b13ebd843bdc6f6c9b459e37799a883a75dd'], 'pid': ['600235521'], 'data': ['ZuA7jwDfxyIdAAEB_gEAAAEAAQABAAEBDAABAQAAAQAKAQEBAQEAAQ==']}
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 51808)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 596, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 331, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/SocketServer.py", line 652, in __init__
self.handle()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "gamestats_server.py", line 61, in do_GET
self.server.gamestats_router.do_GET(self, gamename, path)
File "/home/billy/services/HTTPGameStats/project/routers/__init__.py", line 31, in <lambda>
self.do(handler, gamename, path, routes)
File "/home/billy/services/HTTPGameStats/project/routers/__init__.py", line 39, in do
return callback(handler, gamename, resource)
File "/home/billy/services/HTTPGameStats/project/routers/web.py", line 404, in handle_web_client
"put2.asp": client_put2
File "/home/billy/services/HTTPGameStats/project/routers/web.py", line 379, in handle
callback(handler, gamename, resource)
File "/home/billy/services/HTTPGameStats/project/routers/web.py", line 259, in client_get2
handler.server.gamestats_db
File "/home/billy/services/HTTPGameStats/project/gamestats_database.py", line 215, in web_get2
return db.web_get2(gamename, pid, region, category, mode, data)
File "/home/billy/services/HTTPGameStats/project/gamestats_database.py", line 193, in web_get2
raise ValueError("Unknown get2 mode: {}".format(mode))
ValueError: Unknown get2 mode: 4228141133
With the introduction of data decoding/encoding in commit b86bcdc I've had the database handler throw an exception when client_put2 is called :
InterfaceError: Error binding parameter 5 - probably unsupported type
As a (local) temporary fix wrapping/casting the parameter (player_data?) as a string has suppressed the issue.
Logs:
[ms2012wii] Handle put2.asp?pid=600259634&hash=3bd5c828607f2e0ac5caf0d1c749a15c9ca25876&data=KupN5C0lA97P42lWsuxpTJeMGlDnDIFJRiMdDQqE9nGPq-bD9_snvuvdHMme_mNX2Dv6CgZwZ-qS
127.0.0.1 - - [02/Jul/2017 22:21:13] Put2 request for ms2012wii: {'hash': ['3bd5c828607f2e0ac5caf0d1c749a15c9ca25876'], 'pid': ['600259634'], 'data': ['KupN5C0lA97P42lWsuxpTJeMGlDnDIFJRiMdDQqE9nGPq-bD9_snvuvdHMme_mNX2Dv6CgZwZ-qS']}
127.0.0.1 - - [02/Jul/2017 22:21:13] "GET /ms2012wii/web/client/put2.asp?pid=600259634&hash=3bd5c828607f2e0ac5caf0d1c749a15c9ca25876&data=KupN5C0lA97P42lWsuxpTJeMGlDnDIFJRiMdDQqE9nGPq-bD9_snvuvdHMme_mNX2Dv6CgZwZ-qS HTTP/1.1" 200 -
[ms2012wii] GET /web/client/get2.asp?pid=600259634
Key: GamestatsKey(salt='PHGNtRfxhuYjQYHfzDng', constants=GamestatsKeyConstants(x=60069, y=30413, z=134217728, checksum_secret=719997155))
[ms2012wii] Handle get2.asp?pid=600259634
127.0.0.1 - - [02/Jul/2017 22:21:14] "GET /ms2012wii/web/client/get2.asp?pid=600259634 HTTP/1.1" 200 -
[ms2012wii] GET /web/client/get2.asp?pid=600259634&hash=818edb033e7ef3652063755154c2ab7ce39cbdf9&data=KupKfNBDTD2NhdC1XuLkW-kr0Nr624eFT68rO5FCopu761mILdVX4A==
Key: GamestatsKey(salt='PHGNtRfxhuYjQYHfzDng', constants=GamestatsKeyConstants(x=60069, y=30413, z=134217728, checksum_secret=719997155))
[ms2012wii] Handle get2.asp?pid=600259634&hash=818edb033e7ef3652063755154c2ab7ce39cbdf9&data=KupKfNBDTD2NhdC1XuLkW-kr0Nr624eFT68rO5FCopu761mILdVX4A==
127.0.0.1 - - [02/Jul/2017 22:21:14] Get2 request for ms2012wii: {'hash': ['818edb033e7ef3652063755154c2ab7ce39cbdf9'], 'pid': ['600259634'], 'data': ['KupKfNBDTD2NhdC1XuLkW-kr0Nr624eFT68rO5FCopu761mILdVX4A==']}
127.0.0.1 - - [02/Jul/2017 22:21:14] "GET /ms2012wii/web/client/get2.asp?pid=600259634&hash=818edb033e7ef3652063755154c2ab7ce39cbdf9&data=KupKfNBDTD2NhdC1XuLkW-kr0Nr624eFT68rO5FCopu761mILdVX4A== HTTP/1.1" 200 -
[ms2012wii] GET /web/client/put2.asp?pid=600259634
Key: GamestatsKey(salt='PHGNtRfxhuYjQYHfzDng', constants=GamestatsKeyConstants(x=60069, y=30413, z=134217728, checksum_secret=719997155))
[ms2012wii] Handle put2.asp?pid=600259634
127.0.0.1 - - [02/Jul/2017 22:21:17] "GET /ms2012wii/web/client/put2.asp?pid=600259634 HTTP/1.1" 200 -
[ms2012wii] GET /web/client/put2.asp?pid=600259634&hash=1efe82c0905aa7e930a1edd8e2c5e202fed8b786&data=KupN6IT5_Cvtifff3fYBTY21SksWwukMkqCiNm9JtDGOVeejx5bVYuaxd_ZW1fK2KEpC6qWlfgz-
Key: GamestatsKey(salt='PHGNtRfxhuYjQYHfzDng', constants=GamestatsKeyConstants(x=60069, y=30413, z=134217728, checksum_secret=719997155))
[ms2012wii] Handle put2.asp?pid=600259634&hash=1efe82c0905aa7e930a1edd8e2c5e202fed8b786&data=KupN6IT5_Cvtifff3fYBTY21SksWwukMkqCiNm9JtDGOVeejx5bVYuaxd_ZW1fK2KEpC6qWlfgz-
127.0.0.1 - - [02/Jul/2017 22:21:17] Put2 request for ms2012wii: {'hash': ['1efe82c0905aa7e930a1edd8e2c5e202fed8b786'], 'pid': ['600259634'], 'data': ['KupN6IT5_Cvtifff3fYBTY21SksWwukMkqCiNm9JtDGOVeejx5bVYuaxd_ZW1fK2KEpC6qWlfgz-']}
127.0.0.1 - - [02/Jul/2017 22:21:17] "GET /ms2012wii/web/client/put2.asp?pid=600259634&hash=1efe82c0905aa7e930a1edd8e2c5e202fed8b786&data=KupN6IT5_Cvtifff3fYBTY21SksWwukMkqCiNm9JtDGOVeejx5bVYuaxd_ZW1fK2KEpC6qWlfgz- HTTP/1.1" 200 -
[ms2012wii] GET /web/client/get2.asp?pid=600259634
Key: GamestatsKey(salt='PHGNtRfxhuYjQYHfzDng', constants=GamestatsKeyConstants(x=60069, y=30413, z=134217728, checksum_secret=719997155))
[ms2012wii] Handle get2.asp?pid=600259634
127.0.0.1 - - [02/Jul/2017 22:21:18] "GET /ms2012wii/web/client/get2.asp?pid=600259634 HTTP/1.1" 200 -
[ms2012wii] GET /web/client/get2.asp?pid=600259634&hash=81788580f0bf48c722c42468590bdc533aa0cf0a&data=KupKfNBDTD2NhdC1XuLkW-kr0Nr624eFT68rO5FCopu761mILdVX4A==
Key: GamestatsKey(salt='PHGNtRfxhuYjQYHfzDng', constants=GamestatsKeyConstants(x=60069, y=30413, z=134217728, checksum_secret=719997155))
[ms2012wii] Handle get2.asp?pid=600259634&hash=81788580f0bf48c722c42468590bdc533aa0cf0a&data=KupKfNBDTD2NhdC1XuLkW-kr0Nr624eFT68rO5FCopu761mILdVX4A==
127.0.0.1 - - [02/Jul/2017 22:21:18] Get2 request for ms2012wii: {'hash': ['81788580f0bf48c722c42468590bdc533aa0cf0a'], 'pid': ['600259634'], 'data': ['KupKfNBDTD2NhdC1XuLkW-kr0Nr624eFT68rO5FCopu761mILdVX4A==']}
127.0.0.1 - - [02/Jul/2017 22:21:18] "GET /ms2012wii/web/client/get2.asp?pid=600259634&hash=81788580f0bf48c722c42468590bdc533aa0cf0a&data=KupKfNBDTD2NhdC1XuLkW-kr0Nr624eFT68rO5FCopu761mILdVX4A== HTTP/1.1" 200 -
Server Log:
[msolympicwii] GET /web/client/get2.asp?pid=600259735
Key: GamestatsKey(salt='kyYszdUlxukYsLNpDHPJ', constants=GamestatsKeyConstants(x=229637, y=11551, z=131072, checksum_secret=389375694))
[msolympicwii] Handle get2.asp?pid=600259735
127.0.0.1 - - [03/Jul/2017 00:28:05] "GET /MSolympicwii/web/client/get2.asp?pid=600259735 HTTP/1.1" 200 -
[msolympicwii] GET /web/client/get2.asp?pid=600259735&hash=419f5762aeb2445c90ee79c2d851ee64afa8e703&data=FzVk0JY8xiMcAAEBBwAAABIBAAABAAABDAEBAAEAAQAeAQEBAQABAA==
Key: GamestatsKey(salt='kyYszdUlxukYsLNpDHPJ', constants=GamestatsKeyConstants(x=229637, y=11551, z=131072, checksum_secret=389375694))
[msolympicwii] Handle get2.asp?pid=600259735&hash=419f5762aeb2445c90ee79c2d851ee64afa8e703&data=FzVk0JY8xiMcAAEBBwAAABIBAAABAAABDAEBAAEAAQAeAQEBAQABAA==
127.0.0.1 - - [03/Jul/2017 00:28:06] Get2 request for msolympicwii: {'hash': ['419f5762aeb2445c90ee79c2d851ee64afa8e703'], 'pid': ['600259735'], 'data': ['FzVk0JY8xiMcAAEBBwAAABIBAAABAAABDAEBAAEAAQAeAQEBAQABAA==']}
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 37622)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 596, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 331, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/SocketServer.py", line 652, in __init__
self.handle()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "gamestats_server.py", line 61, in do_GET
self.server.gamestats_router.do_GET(self, gamename, path)
File "/home/billy/services/HTTPGameStats/project/routers/__init__.py", line 31, in <lambda>
self.do(handler, gamename, path, routes)
File "/home/billy/services/HTTPGameStats/project/routers/__init__.py", line 39, in do
return callback(handler, gamename, resource)
File "/home/billy/services/HTTPGameStats/project/routers/web.py", line 404, in handle_web_client
"put2.asp": client_put2
File "/home/billy/services/HTTPGameStats/project/routers/web.py", line 379, in handle
callback(handler, gamename, resource)
File "/home/billy/services/HTTPGameStats/project/routers/web.py", line 259, in client_get2
handler.server.gamestats_db
File "/home/billy/services/HTTPGameStats/project/gamestats_database.py", line 215, in web_get2
return db.web_get2(gamename, pid, region, category, mode, data)
File "/home/billy/services/HTTPGameStats/project/gamestats_database.py", line 193, in web_get2
raise ValueError("Unknown get2 mode: {}".format(mode))
ValueError: Unknown get2 mode: 212925449
----------------------------------------
Rankings are top 30, and near my records (Maybe mode 5?).
PCAP: https://cdn.discordapp.com/attachments/219695042464317442/331229688385110019/wii.pcap
After running the server for a while, an AttributeError exception happens, which forces us to restart the server completely.
Here is an example :
Exception happened during processing of request from ('ip', 15434)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 293, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/SocketServer.py", line 655, in __init__
self.handle()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 320, in handle_one_request
if not self.parse_request():
File "/usr/lib/python2.7/BaseHTTPServer.py", line 253, in parse_request
self.send_error(400, "Bad request version (%r)" % version)
File "/usr/lib/python2.7/BaseHTTPServer.py", line 364, in send_error
self.log_error("code %d, message %s", code, message)
File "/usr/lib/python2.7/BaseHTTPServer.py", line 447, in log_error
self.log_message(format, *args)
File "gamestats_server.py", line 44, in log_message
self.headers.get('x-forwarded-for', self.address_string()),
AttributeError: GamestatsHTTPRequestHandler instance has no attribute 'headers'
Posted in Wii-Homebrew Board
codprojorlds DMSNakbmGAxdCBGOuDSC00008cb5000079ed01000000187828e5
fxtrainlvds WevQSShOLOAsCyrOMKdM000202e500005d1f0100000061fd28f3
gokakuds TeQxSAEKVjHgBSERaIvK000354ad00004ef5001000006c264ae9
gokakufs2ds rxKIKGNHXPYDlhTVwhFF0000f1b50000473d0000400030fb631d
oishiids oLeC5r16DYvsAdeqWo3v
otonatrainds RArnWUzZUOrIzNnRQiGd0002178500004851001000000dc10ff1
powprokundsi MGciIieQOsydTHfStgYm00000955000025b700004000309022e3
ppropocket14 EGZWUsLRPnbDyXwWWuPl000357dd000034f1000040005f1d3cbe
touchmast4dsi WshHovJkGouinxUGFIdy0003310d000025530400000043a40d5a
Gamestats / tcp games wii and wiiware I give a hand for the player who plays on wiimmfi is games that needs Gamestats and tcp part1
http://www.mediafire.com/file/ipl1fnn05h0ml6t/Gamestats%2CTCP+PACK1.txt
Unspecified "Issue when updating rankings".
Key: GamestatsKey(salt='ANUFPGFWrocBIUxNeKcZ', constants=GamestatsKeyConstants(x=112909, y=15911, z=16777216, checksum_secret=596716407))
[asobids] Handle put.asp?pid=600274300
127.0.0.1 - - [21/Aug/2017 22:36:41] "GET /asobids/web/client/put.asp?pid=600274300 HTTP/1.1" 200 -
[asobids] GET /web/client/put.asp?pid=600274300&hash=01688ea9181d42f1331e2aa65afd549fb888ddb7&data=I5EuIOKtszZhN0ken6NMLPa3EsJ4yP8jVY3KoJUBSRgShh66D0zeDiTykzTGbA==
Key: GamestatsKey(salt='ANUFPGFWrocBIUxNeKcZ', constants=GamestatsKeyConstants(x=112909, y=15911, z=16777216, checksum_secret=596716407))
[asobids] Handle put.asp?pid=600274300&hash=01688ea9181d42f1331e2aa65afd549fb888ddb7&data=I5EuIOKtszZhN0ken6NMLPa3EsJ4yP8jVY3KoJUBSRgShh66D0zeDiTykzTGbA==
127.0.0.1 - - [21/Aug/2017 22:36:41] Put request for asobids: {'hash': ['01688ea9181d42f1331e2aa65afd549fb888ddb7'], 'pid': ['600274300'], 'data': ['I5EuIOKtszZhN0ken6NMLPa3EsJ4yP8jVY3KoJUBSRgShh66D0zeDiTykzTGbA==']}
127.0.0.1 - - [21/Aug/2017 22:36:41] "GET /asobids/web/client/put.asp?pid=600274300&hash=01688ea9181d42f1331e2aa65afd549fb888ddb7&data=I5EuIOKtszZhN0ken6NMLPa3EsJ4yP8jVY3KoJUBSRgShh66D0zeDiTykzTGbA== HTTP/1.1" 200 -
[asobids] GET /web/client/get.asp?pid=600274300
Key: GamestatsKey(salt='ANUFPGFWrocBIUxNeKcZ', constants=GamestatsKeyConstants(x=112909, y=15911, z=16777216, checksum_secret=596716407))
[asobids] Handle get.asp?pid=600274300
127.0.0.1 - - [21/Aug/2017 22:36:42] "GET /asobids/web/client/get.asp?pid=600274300 HTTP/1.1" 200 -
[asobids] GET /web/client/get.asp?pid=600274300&hash=052579f08b2e4162a430341143b582e95057d6ce&data=I5EpdfPCcq5Ed5DEAatutnYPywCVHxcAjWf-SFEd6Fcs88CE
Key: GamestatsKey(salt='ANUFPGFWrocBIUxNeKcZ', constants=GamestatsKeyConstants(x=112909, y=15911, z=16777216, checksum_secret=596716407))
[asobids] Handle get.asp?pid=600274300&hash=052579f08b2e4162a430341143b582e95057d6ce&data=I5EpdfPCcq5Ed5DEAatutnYPywCVHxcAjWf-SFEd6Fcs88CE
127.0.0.1 - - [21/Aug/2017 22:36:43] Get request for asobids: {'hash': ['052579f08b2e4162a430341143b582e95057d6ce'], 'pid': ['600274300'], 'data': ['I5EpdfPCcq5Ed5DEAatutnYPywCVHxcAjWf-SFEd6Fcs88CE']}
127.0.0.1 - - [21/Aug/2017 22:36:43] "GET /asobids/web/client/get.asp?pid=600274300&hash=052579f08b2e4162a430341143b582e95057d6ce&data=I5EpdfPCcq5Ed5DEAatutnYPywCVHxcAjWf-SFEd6Fcs88CE HTTP/1.1" 200 -```
I see no rankings when connecting to it, and I get the error code 98020 with it. I verified that it uses Gamestats HTTP.
NOTE: The game will actually download and save the rankings, but gives a 98870 error while doing so.
Log:
[tatvscapwii] GET /web/client/get2.asp?pid=600259714
Key: GamestatsKey(salt='QFFeWypIFepXgAhZxeNy', constants=GamestatsKeyConstants(x=126373, y=13797, z=8192, checksum_secret=1750820196))
[tatvscapwii] Handle get2.asp?pid=600259714
127.0.0.1 - - [02/Jul/2017 22:50:30] "GET /tatvscapwii/web/client/get2.asp?pid=600259714 HTTP/1.1" 200 -
[tatvscapwii] GET /web/client/get2.asp?pid=600259714&hash=d814efa0880aec2d6ac2b2fc7a6de28a72c52e56&data=aFtns4I8xyMcAAAA_wAAAAAAAAAFAAAADAAAAAEAAAACAAAAAAAAAA==
Key: GamestatsKey(salt='QFFeWypIFepXgAhZxeNy', constants=GamestatsKeyConstants(x=126373, y=13797, z=8192, checksum_secret=1750820196))
[tatvscapwii] Handle get2.asp?pid=600259714&hash=d814efa0880aec2d6ac2b2fc7a6de28a72c52e56&data=aFtns4I8xyMcAAAA_wAAAAAAAAAFAAAADAAAAAEAAAACAAAAAAAAAA==
127.0.0.1 - - [02/Jul/2017 22:50:31] Get2 request for tatvscapwii: {'hash': ['d814efa0880aec2d6ac2b2fc7a6de28a72c52e56'], 'pid': ['600259714'], 'data': ['aFtns4I8xyMcAAAA_wAAAAAAAAAFAAAADAAAAAEAAAACAAAAAAAAAA==']}
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 55010)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 596, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 331, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/SocketServer.py", line 652, in __init__
self.handle()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "gamestats_server.py", line 61, in do_GET
self.server.gamestats_router.do_GET(self, gamename, path)
File "/home/billy/services/HTTPGameStats/project/routers/__init__.py", line 31, in <lambda>
self.do(handler, gamename, path, routes)
File "/home/billy/services/HTTPGameStats/project/routers/__init__.py", line 39, in do
return callback(handler, gamename, resource)
File "/home/billy/services/HTTPGameStats/project/routers/web.py", line 404, in handle_web_client
"put2.asp": client_put2
File "/home/billy/services/HTTPGameStats/project/routers/web.py", line 379, in handle
callback(handler, gamename, resource)
File "/home/billy/services/HTTPGameStats/project/routers/web.py", line 259, in client_get2
handler.server.gamestats_db
File "/home/billy/services/HTTPGameStats/project/gamestats_database.py", line 215, in web_get2
return db.web_get2(gamename, pid, region, category, mode, data)
File "/home/billy/services/HTTPGameStats/project/gamestats_database.py", line 193, in web_get2
raise ValueError("Unknown get2 mode: {}".format(mode))
ValueError: Unknown get2 mode: 5
----------------------------------------
str
vs bytes
issues.
Issues such as this would be much easier to deal with if a Web UI for generic records was able to be seen; even if per-game data couldnt be understood (and a way to implement custom record parsing should be an idea), it'd be a good idea to have an authentication-hidden page where you could delete inappropiate records etc.
Would it be possible to have some list that tells you what games have their keys extracted (i.e. not just looking in the TXT file) so people can extract keys for games we dont have? :3
Logs
127.0.0.1 - - [02/Jul/2017 22:05:00] "GET /dragonbzUSwii/web/client/get2.asp?pid=600259702 HTTP/1.1" 200 -
[dragonbzuswii] GET /web/client/get2.asp?pid=600259702&hash=c7a9a82e7f3556e28a4513ef0815623481975f14&data=BB1EWHc8xiIcAQABAgEAAAABAAEBAAEBDQEBAAABAAALAQABAAAAAQ==
Key: GamestatsKey(salt='TrLIEtuzsvehLFotgvhC', constants=GamestatsKeyConstants(x=114893, y=14159, z=131072, checksum_secret=69027210))
[dragonbzuswii] Handle get2.asp?pid=600259702&hash=c7a9a82e7f3556e28a4513ef0815623481975f14&data=BB1EWHc8xiIcAQABAgEAAAABAAEBAAEBDQEBAAABAAALAQABAAAAAQ==
127.0.0.1 - - [02/Jul/2017 22:05:01] Get2 request for dragonbzuswii: {'hash': ['c7a9a82e7f3556e28a4513ef0815623481975f14'], 'pid': ['600259702'], 'data': ['BB1EWHc8xiIcAQABAgEAAAABAAEBAAEBDQEBAAABAAALAQABAAAAAQ==']}
----------------------------------------
[..]
ValueError: Unknown get2 mode: 1141153833
----------------------------------------```
Sepalani said `It seems there is the same xor on each byte.`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.