Closed thezionmainframe closed 3 years ago
Tried to reproduce but the servers you listed don't have players.
Try blackmarsh.hexenworld.org:26902. I am online now and will try to get a second player to log in.
quakestat -h2s blackmarsh.hexenworld.org:26902 -P will reproduce the issue.
It's only saying there is 1 player :(
I have a second player who just joined. Please also check here: https://hexenworld.org/qstat/
It shows 2 players connected but only lists one name.
quakestat -h2s blackmarsh.hexenworld.org:26902 -P ADDRESS PLAYERS MAP RESPONSE TIME NAME blackmarsh.hexenworld.org:26902 3/8 0/0 demo1 1307 / 4 bmiller
Thanks for getting the players on the server for a test case.
Can you try the fix in #115 please.
That worked perfect! I now see 2 players :)
I do see that player ping always shows 0. Is this a limitation of qstat?
I was reading the 2.10 documentation and it says the following for $PLAYERPING: "The player's ping time to the server. This value is not available from Half-Life or Ghost Recon servers."
Looking at the Hexen 2 server source code it only provides the following items per player:
So no ping is not part of the data the server sends I'm afraid.
qstat does not return a list of all connected players and their stats when multiple players are connected to a Hexen II server. This works perfectly with other games like HexenWorld or Heretic II for example.
Multiple players are reported by $PLAYERS in server.txt so the output will look like: 2/8 (as it should) but only one $PLAYERNAME and stats for that player are reported in the output.
qstat -f hexen2.txt -Th header.txt -Ts server.txt -Tp player.txt -P|grep -v -e 'DOWN|TIMEOUT|192.168.|ERROR|HOSTNOTFOUND|^$'
contents of hexen2.txt: h2s blackmarsh.hexenworld.org:26900 h2s blackmarsh.hexenworld.org:26901 h2s blackmarsh.hexenworld.org:26902
contents of header.txt: ,SERVER NAME,ADDRESS,PLAYERS,MAP,GAME
contents of server.txt: $TYPE,$SERVERNAME,$HOSTNAME,$PLAYERS/$MAXPLAYERS,$MAP,$GAME $PLAYERTEMPLATE
contents of player.txt: ,NAME,FRAGS,PING,TIME, ,$PLAYERNAME,$FRAGS,$PLAYERPING,$CONNECTTIME,
Actual output: ,SERVER NAME,ADDRESS,PLAYERS,MAP,GAME Hexen II,Hexen II DM w/ bots,blackmarsh.hexenworld.org:26900,0/8,ravdm2, Hexen II,Hexen II Coop Peanut,blackmarsh.hexenworld.org:26901,0/8,demo1, Hexen II,Hexen II DM,blackmarsh.hexenworld.org:26902,2/8,demo3, ,NAME,FRAGS,PING,TIME, ,player1,0,0, 1m,
Desired output: ,SERVER NAME,ADDRESS,PLAYERS,MAP,GAME Hexen II,Hexen II DM w/ bots,blackmarsh.hexenworld.org:26900,0/8,ravdm2, Hexen II,Hexen II Coop Peanut,blackmarsh.hexenworld.org:26901,0/8,demo1, Hexen II,Hexen II DM,blackmarsh.hexenworld.org:26902,2/8,demo3, ,NAME,FRAGS,PING,TIME, ,player1,0,0, 2m, ,player2,0,0, 1m,
On a separate note, I also noticed that no player ping is returned for Hexen II. Is this a limitation of qstat?