ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/metaserver.ext
(Generate patch)

Comparing deliantra/server/ext/metaserver.ext (file contents):
Revision 1.3 by root, Wed Jan 24 13:59:28 2007 UTC vs.
Revision 1.7 by root, Wed Nov 14 08:09:46 2007 UTC

5use Coro::Socket; 5use Coro::Socket;
6 6
7$cf::CFG{metaserver_comment} 7$cf::CFG{metaserver_comment}
8 or return; 8 or return;
9 9
10our $UPDATE_METASERVER = Event->timer ( 10our $VERSION = cf::VERSION;
11 reentrant => 0, 11our $PREFIX = "";
12 after => 5, 12our $SUFFIX = "trt";
13 interval => 299,
14 hard => 1,
15 data => cf::WF_AUTOCANCEL,
16 cb => Coro::unblock_sub {
17 my $socket = new Coro::Socket
18 Proto => 'udp',
19 PeerAddr => $cf::CFG{metaserver_metaserver},
20 LocalAddr => $cf::CFG{metaserver_serveraddr}
21 or die "metaserver socket creation error: $!";
22 13
23 my $num_players = grep 14our $UPDATE_METASERVER = cf::periodic 299, Coro::unblock_sub {
24 $_->ob->map 15 my $socket = new Coro::Socket
25 && !$_->hidden 16 Proto => 'udp',
26 && !$_->ob->flag (cf::FLAG_WIZ), 17 PeerAddr => $cf::CFG{metaserver_metaserver},
27 cf::player::list; 18 LocalAddr => $cf::CFG{metaserver_serveraddr}
19 or die "metaserver socket creation error: $!";
28 20
29 my $pkt = sprintf "%s|%d|%s|%s|%d|%d|%d", 21 my $num_players = cf::player::num_playing;
30 $cf::CFG{metaserver_servername},
31 $num_players,
32 cf::VERSION,
33 $cf::CFG{metaserver_comment},
34 0, # ibytes
35 0, # obytes
36 time - $cf::uptime;
37 22
38 syswrite $socket, $pkt; 23 my $pkt = sprintf "%s|%d|%s|%s|%d|%d|%d",
39 }, 24 $cf::CFG{metaserver_servername},
40); 25 $num_players,
26 "$PREFIX$VERSION$SUFFIX",
27 $cf::CFG{metaserver_comment},
28 0, # ibytes
29 0, # obytes
30 time - $cf::UPTIME;
41 31
32 syswrite $socket, $pkt;
33};
34

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines