quake-mrtg.pl
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:1k
源码类别:

SNMP编程

开发平台:

C/C++

  1. #!/usr/bin/perl5
  2. #
  3. #  quake-mrtg.pl
  4. #  counts the number of players currently on a given
  5. #  quake2/quakeworld/unreal/etc server, using the 'qstat' 
  6. #  program available from: ftp://ftp.activesw.com/pub/quake/
  7. #
  8. #  Usage:
  9. #   Target[quakeserv]:  `quake-mrtg.pl quake.server.com 27910 Q2`
  10. #   
  11. #   ^^^ Gets usage from a Q2 server running on quake.server.com, 
  12. #       port 27910.
  13. #
  14. #  - joey miller, inficad communications, llc.
  15. #    <joeym@inficad.com>, 2/5/1999
  16. #
  17. my($qstat) = "./qstat";
  18. $| = 1;
  19. if ( scalar(@ARGV) < 3 ) {
  20.     print STDERR "usage: $0 server.address port game-typenn";
  21.     print STDERR "tgame-types: QS, QW, QWM, H2S, HWS, Q2, UNS, HLS, SNSn";
  22.     print STDERR "tQW = quakeworld, Q2 = quake2, etc, etcn";
  23.     exit -1;
  24. }
  25. my($serv) = $ARGV[0];
  26. my($port) = $ARGV[1];
  27. my($game) = $ARGV[2];
  28. if ( ! open(QSTAT, "$qstat -raw : -default $game $serv:$port |") ) {
  29.     print STDERR "Couldn't exec $qstatn";
  30.     exit -2;
  31. }
  32. my($users);
  33. while(<QSTAT>) {
  34.     ($users) = (split(/:/))[6];
  35.     last;
  36. }
  37. close(QSTAT);
  38. print "$usersn";
  39. print "$usersn";
  40. print "0n";
  41. print "$serv:$portn";
  42.     
  43.