#!/usr/bin/perl use strict; #use warnings; #use diagnostics; use CGI; my $query = new CGI; print $query->header(); use IO::Socket::INET; print "
"; print " UPS Status "; my $sock = new IO::Socket::INET->new(PeerPort=>20100, Proto=>'udp', PeerAddr=>'207.210.215.108') or die "something went wrong: $! "; my $request = "\xff\xff\xff\xff\x67\x65\x74\x69\x6e\x66\x6f\x20\x78\x78\x78"; $sock->send($request); my $text; $sock->recv($text,235); my ($maxclients, $clients, $gametype, $mapname, $needpass); $text =~ s/\\/ /g; my @data = split(' ', $text); my $count = 0; foreach (@data) { chomp; if ($_ =~ m/sv_maxclients/) { print " $data[($count+1)] "; } if ($_ =~ m/clients/ && !($_ = m/sv_maxclients/)) { print " $data[($count+1)] "; } if ($_ =~ m/gametype/) { print " $data[($count+1)] "; } if ($_ =~ m/mapname/) { print " $data[($count+1)] "; } if ($_ =~ m/needpass/) { print " $data[($count+1)] "; } $count++; } print "
";