game stat
-
Hi guys,
I'm gona try Plutonium (coming from Tecknogods) on MW3 first and hopefuly BO2.
I'm wondering if as opposed to tckgds, plutonium is supporting gamestat protocol (or rather Gamespy3/4) ? Like used in Gametracker.I am building a multi-game hosting with cross-game players statistics, fully relying on quake2stat cmd wich is using gamespy protocol. Is it compatible with your dedicated server ? It appear to be not the case with tckgds ..
If not, I plan to build a rcon/gamespy wrapper daemon but before I need to know :).
Thx
-
You can use the Q3 Protocol to query both IW5 and T6 Servers.
-
You can use the Q3 Protocol to query both IW5 and T6 Servers.
-
-
-
-
-
Ok, so I ended with developing a python script to trigger a RCON command and get the data.
For those who needs (not tested a lot yet to be honest !):
import socket import re Rconpassword = "YOUR_SERVER_RCON_PASSWORD" ServerIp = "YOUR_SERVER_IP" ServerPort = YOUR_SERVER_PORT def Rcon_GetPlayersInfo(Ip,Port,Pass): MsgBuffSize = 1500 PlayerStartRegex = r"-----\n" PlayerLineRegex = r"[\s]*(?P<num>-?\d+)[\s]+(?P<score>-?\d+)[\s]+(?P<bot>-?\d+)[\s]+(?P<ping>-?\d+)[\s]+(?P<guid>[0-9a-fA-F]+)[\s]+(?P<name>[^\s\\]+)[\s]+(?P<last_msg>\d+)[\s]+(?P<ip>[0-9.:]+)[\s]+(?P<qport>-?\d+)[\s]+(?P<rate>\d+)\n" msgClient = b'\xff\xff\xff\xffrcon ' + Pass.encode() + b' status\x00\xe6\xea' msgToSend = msgClient addrPort = (Ip, Port) bufferSize = MsgBuffSize s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.settimeout(0.1) bFetchOK = False nTry = 0 while (not bFetchOK and nTry < 10): try: s.sendto(msgToSend, addrPort) data = bytearray(s.recvfrom(bufferSize)[0]) bFetchOK = True except socket.timeout: nTry+=1 continue if not bFetchOK: return [] Newdata = bytearray() for _byte in data: if _byte == 0xff: continue else: Newdata.append(_byte) msg = Newdata.decode('ascii') pattern = re.compile(PlayerStartRegex) matchStart = pattern.search(msg) if matchStart is None: print('no match found, leaving') exit(0) pattern = re.compile(PlayerLineRegex) offset = matchStart.end() ar_players = [] while True: MatchPlayer = pattern.search(msg,offset) if MatchPlayer is not None: ar_players.append(MatchPlayer.groupdict()) offset = MatchPlayer.end() else : break; return ar_players ar_players=Rcon_GetPlayersInfo(ServerIp,ServerPort,Rconpassword) for player in ar_players: print ("=== Player " + player['name']) print (player['score']) print (player['bot']) print (player['ping']) print (player['guid']) print (player['name']) print (player['last_msg']) print (player['ip']) print (player['qport']) print (player['rate']) -
that you would have to talk to either raidmax about who made iw4madmin or maybe rekt over the server info timing out but if they python script works for you then congrats on helping out with something in the community it is always good to see new stuff coming to mw3
-
that you would have to talk to either raidmax about who made iw4madmin or maybe rekt over the server info timing out but if they python script works for you then congrats on helping out with something in the community it is always good to see new stuff coming to mw3
FragsAreUs
Thank you !
For the moment - actually, for the last 8 hours - my script seems to work really well !Not sure if the retry trick I had to add is because the server do not respond or if it respond too fast but anyway... I have so many other thinks to do on the project and Im a bit tired of wireshark for today

I have 2 MW3 server and soon 2 BO2 that I pool every 10 sec, its enough for this job
I will update this post in the future if I make new fixes / features

-
Bad news....
Player list is working very well, but scores always stay at 0

Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login