mirror of
https://github.com/barronwaffles/dwc_network_server_emulator.git
synced 2026-07-12 22:21:55 -05:00
Implemented response for "otherslist"
This commit is contained in:
parent
9ca80fa6f9
commit
6b5ffc8543
|
|
@ -363,8 +363,33 @@ class PlayerSearch(LineReceiver):
|
|||
utils.print_log("Found unknown search command, don't know how to handle '%s'." % data_parsed['__cmd__'])
|
||||
|
||||
def perform_otherslist(self, data_parsed):
|
||||
# How do you handle opids? It doesn't seem *too* important so skip over it for now.
|
||||
self.transport.write(bytes("\\otherslist\\\\oldone\\\\final\\"))
|
||||
# Reference: http://wiki.tockdom.com/wiki/MKWii_Network_Protocol/Server/gpsp.gs.nintendowifi.net
|
||||
# Example from: filtered-mkw-log-2014-01-01-ct1310.eth
|
||||
# \otherslist\\o\146376154\uniquenick\2m0isbjmvRMCJ2i5321j\o\192817284\uniquenick\1jhggtmghRMCJ2jrsh23\o\302594991\uniquenick\7dkjp51v5RMCJ2nr3vs9\o\368031897\uniquenick\1v7p3qmkpRMCJ1o8f56p\o\447214276\uniquenick\7dkt0p6gtRMCJ2ljh72h\o\449615791\uniquenick\4puvrm1g4RMCJ00ho3v1\o\460250854\uniquenick\4rik5l1u1RMCJ0tc3fii\o\456284963\uniquenick\1unitvi86RMCJ1b10u02\o\453830866\uniquenick\7de3q52dbRMCJ2877ss2\o\450197498\uniquenick\3qtutr1ikRMCJ38gem1n\o\444241868\uniquenick\67tp53bs9RMCJ1abs7ej\o\420030955\uniquenick\5blesqia3RMCJ322bbd6\o\394609454\uniquenick\0hddp7mq2RMCJ30uv7r7\o\369478991\uniquenick\59de9c2bhRMCJ0re0fii\o\362755626\uniquenick\5tte2lif7RMCJ0cscgtg\o\350951571\uniquenick\7aeummjlaRMCJ3li4ls2\o\350740680\uniquenick\484uiqhr4RMCJ18opoj0\o\349855648\uniquenick\5blesqia3RMCJ1c245dn\o\324078642\uniquenick\62go5gpt0RMCJ0v0uhc9\o\304111337\uniquenick\4lcg6ampvRMCJ1gjre51\o\301273266\uniquenick\1dhdpjhn8RMCJ2da6f9h\o\193178453\uniquenick\3pcgu0299RMCJ3nhu50f\o\187210028\uniquenick\3tau15a9lRMCJ2ar247h\o\461622261\uniquenick\59epddrnkRMCJ1t2ge7l\oldone\\final\
|
||||
|
||||
msg_d = []
|
||||
msg_d.append(('__cmd__', "otherslist"))
|
||||
msg_d.append(('__cmd_val__', ""))
|
||||
|
||||
if "numopids" in data_parsed and "opids" in data_parsed:
|
||||
numopids = int(data_parsed['numopids'])
|
||||
opids = data_parsed['opids'].split('|')
|
||||
|
||||
if len(opids) != numopids:
|
||||
print "Unexpected number of opids, got %d, expected %d." % (len(opids), numopids)
|
||||
|
||||
# Return all uniquenicks despite any unexpected/missing opids
|
||||
for opid in opids:
|
||||
profile = self.db.get_profile_from_profileid(opid)
|
||||
|
||||
if profile != None:
|
||||
msg_d.append(('o', opid))
|
||||
msg_d.append(('uniquenick', profile['uniquenick']))
|
||||
|
||||
msg_d.append(('oldone', ""))
|
||||
msg = gs_query.create_gamespy_message(msg_d)
|
||||
|
||||
self.transport.write(bytes(msg))
|
||||
|
||||
|
||||
sessions = {}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user