ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/metaserver.ext
Revision: 1.5
Committed: Mon Apr 16 15:19:59 2007 UTC (17 years, 1 month ago) by root
Branch: MAIN
CVS Tags: rel-2_1
Changes since 1.4: +1 -1 lines
Log Message:
oopsie

File Contents

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