ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/metaserver.ext
Revision: 1.6
Committed: Sun Sep 9 12:52:48 2007 UTC (16 years, 8 months ago) by root
Branch: MAIN
CVS Tags: rel-2_2, rel-2_3
Changes since 1.5: +2 -6 lines
Log Message:
*** empty log message ***

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.6 my $num_players = cf::player::num_playing;
28 root 1.1
29 root 1.2 my $pkt = sprintf "%s|%d|%s|%s|%d|%d|%d",
30     $cf::CFG{metaserver_servername},
31     $num_players,
32 root 1.4 "$PREFIX$VERSION$SUFFIX",
33 root 1.2 $cf::CFG{metaserver_comment},
34     0, # ibytes
35     0, # obytes
36 root 1.6 time - $cf::UPTIME;
37 root 1.2
38     syswrite $socket, $pkt;
39     },
40     );
41 root 1.1