Added r query for pinging
This commit is contained in:
parent
25c543fa3b
commit
99d00cf6a9
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"python.pythonPath": "/usr/bin/python3"
|
||||||
|
}
|
|
@ -30,9 +30,33 @@ def query_i():
|
||||||
|
|
||||||
return packet
|
return packet
|
||||||
|
|
||||||
|
def query_r():
|
||||||
|
packet_data = []
|
||||||
|
|
||||||
|
rules = get_rules()
|
||||||
|
packet_data.append(len(rules)) # len_rules
|
||||||
|
|
||||||
|
for name, value in rules.items():
|
||||||
|
packet_data.append(len(name)) # len_name
|
||||||
|
packet_data.append(name)
|
||||||
|
packet_data.append(len(value)) # len_value
|
||||||
|
packet_data.append(value)
|
||||||
|
|
||||||
|
flat_packet_data = [y for x in packet_data for y in x] # flattens the packet data arrays to one stream
|
||||||
|
|
||||||
|
packet = struct.pack(b"<H" + b"c%dsc%ds" * packet_data[0] # using len_rules
|
||||||
|
% [y for x in rules.items() for y in x], # array of only rules entries
|
||||||
|
*flat_packet_data)
|
||||||
|
|
||||||
|
return packet
|
||||||
|
|
||||||
def get_online_players(): #TODO
|
def get_online_players(): #TODO
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
RESPONSE = { #TODO: r, c, d & p (https://wiki.sa-mp.com/wiki/Query_Mechanism)
|
def get_rules(): #TODO
|
||||||
b"i": query_i
|
return {"Rule name sample": "Rule value"}
|
||||||
|
|
||||||
|
RESPONSE = { #TODO: c, d & p (https://wiki.sa-mp.com/wiki/Query_Mechanism)
|
||||||
|
b"i": query_i,
|
||||||
|
b"r": query_r
|
||||||
}
|
}
|
Reference in New Issue
Block a user