#! perl # metaserver reports use Coro::Socket; $cf::CFG{metaserver_comment} or return; our $VERSION = cf::VERSION; our $PREFIX = ""; our $SUFFIX = "trt"; our $UPDATE_METASERVER = cf::periodic 299, Coro::unblock_sub { my $socket = new Coro::Socket Proto => 'udp', PeerAddr => $cf::CFG{metaserver_metaserver}, LocalAddr => $cf::CFG{metaserver_serveraddr} or die "metaserver socket creation error: $!"; my $num_players = cf::player::num_playing; my $pkt = sprintf "%s|%d|%s|%s|%d|%d|%d", $cf::CFG{metaserver_servername}, $num_players, "$PREFIX$VERSION$SUFFIX", $cf::CFG{metaserver_comment}, 0, # ibytes 0, # obytes time - $cf::UPTIME; syswrite $socket, $pkt; };