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