#!/usr/bin/perl # # quake-mrtg.pl # # counts the number of players currently on a given # quake2/quakeworld/unreal/etc server, using the 'qstat' # program available from: ftp://ftp.activesw.com/pub/quake/ # # Usage: # Target[quakeserv]: `quake-mrtg.pl quake.server.com 27910 Q2` # # ^^^ Gets usage from a Q2 server running on quake.server.com, # port 27910. # # - joey miller, inficad communications, llc. # <joeym@inficad.com>, 2/5/1999 # my($qstat) = "./qstat"; $| = 1; if ( scalar(@ARGV) < 3 ) { print STDERR "usage: $0 server.address port game-type\n\n"; print STDERR "\tgame-types: QS, QW, QWM, H2S, HWS, Q2, UNS, HLS, SNS\n"; print STDERR "\tQW = quakeworld, Q2 = quake2, etc, etc\n"; exit -1; } my($serv) = $ARGV[0]; my($port) = $ARGV[1]; my($game) = $ARGV[2]; if ( ! open(QSTAT, "$qstat -raw : -default $game $serv:$port |") ) { print STDERR "Couldn't exec $qstat\n"; exit -2; } my($users); while(<QSTAT>) { ($users) = (split(/:/))[6]; last; } close(QSTAT); print "$users\n"; print "$users\n"; print "0\n"; print "$serv:$port\n";