--- deliantra/server/ext/metaserver.ext 2007/09/09 12:52:48 1.6 +++ deliantra/server/ext/metaserver.ext 2007/11/14 08:09:46 1.7 @@ -11,31 +11,24 @@ our $PREFIX = ""; our $SUFFIX = "trt"; -our $UPDATE_METASERVER = Event->timer ( - reentrant => 0, - after => 5, - interval => 299, - hard => 1, - data => cf::WF_AUTOCANCEL, - cb => 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: $!"; +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 $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; + 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; - }, -); + syswrite $socket, $pkt; +};