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.1 by root, Fri Dec 15 19:29:18 2006 UTC vs.
Revision 1.2 by root, Sun Jan 21 21:28:27 2007 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines