Irbyz/aftershock-xe

live gameserver information

Closed this issue · 3 comments

If i send a UDP Packet containing "\xFF\xFF\xFF\xFFgetinfo xxx" or “\xFF\xFF\xFF\xFFgetstatus xxx” to gameserver port , i will get the normal output cmd line tool qstat is polling.
Is there a way to enhance these functions serverside or could there be a function like getgamestatus, that outputs the information the ingame scoreboard is containing or the xml stats output ? (CA/CTF/TDM results and teammembers especially) ?

ok matchinfo is suitable for the task.
maybe the damage values per player should be included and we have to test ctf for cap/assist/defense points. Dunno about accuracy, dont think thats interesting for a liveview.
demo livestats on stupidctf.tk left side box or simply the xhr poll : http://stupidctf.tk/llive?v=2&_=1546461147600

update : tested ctf, awards are missing (cap,ass,def)

wrote a parsertest with nodejs and q3-rcon
{ game: { fraglimit: '0', timelimit: '20', leveltime: '66850', starttime: '-1', g_gametype: '4', mapname: 'q3w2', sv_hostname: '^2OA CTF League 2018 ^1U^4K', sv_maxclients: '18', g_maxGameClients: '10', sv_fps: '40', g_dowarmup: '1', g_instantgib: '0', capturelimit: '8', g_needpass: '0', g_rockets: '0', g_ruleset: '342476', g_reduceLightningDamage: '1', g_reduceRailDamage: '1', g_reduceMachinegunDamage: '1', scores_red: '0', scores_blue: '0', roundnumber: '0', revision: '326', g_password: '' }, players: [ { name: '^1raGe|^7aur^f!^7n', login: 'aurin', hash: '', team: '3', score: '0', frags: '0', death: '0', time: '59' }, { name: '^1d^4i^2l^3Z^7n^1i^7K^1*', login: '', hash: '', team: '2', score: '0', frags: '0', death: '0', time: '58' }, { name: '^5{^7T^2-^7L^5}^3^^7W^3a^7CKY', login: '', hash: '', team: '2', score: '0', frags: '1', death: '0', time: '62' }, { name: '^Yra^nG^Ye^n|^YHo^nM^Yme_de_noir', login: '', hash: '', team: '3', score: '0', frags: '0', death: '0', time: '66' }, { name: '^1raGe|^7Mr^3.^1JJ', login: '', hash: '', team: '2', score: '0', frags: '0', death: '0', time: '62' }, { name: '^7Vashta narada', login: '', hash: '', team: '1', score: '0', frags: '0', death: '1', time: '60' }, { name: '^YS^7e^YX^7y^X-^YB^Xa^Yt^Xm^Ya^Xn', login: '', hash: '', team: '1', score: '0', frags: '0', death: '0', time: '60' } ] }

works

Added these 5 for every player. When not in CTF the last three values will probably just be 0

				cl->dmgdone,
				cl->dmgtaken,
				cl->ps.persistant[PERS_DEFEND_COUNT],
				cl->ps.persistant[PERS_ASSIST_COUNT],
				cl->ps.persistant[PERS_CAPTURES]