… | |
… | |
22 | Proto => 'udp', |
22 | Proto => 'udp', |
23 | PeerAddr => $cf::CFG{metaserver_metaserver}, |
23 | PeerAddr => $cf::CFG{metaserver_metaserver}, |
24 | LocalAddr => $cf::CFG{metaserver_serveraddr} |
24 | LocalAddr => $cf::CFG{metaserver_serveraddr} |
25 | or die "metaserver socket creation error: $!"; |
25 | or die "metaserver socket creation error: $!"; |
26 | |
26 | |
27 | my $num_players = grep |
27 | my $num_players = cf::player::num_playing; |
28 | $_->ob->map |
|
|
29 | && !$_->hidden |
|
|
30 | && !$_->ob->flag (cf::FLAG_WIZ), |
|
|
31 | cf::player::list; |
|
|
32 | |
28 | |
33 | my $pkt = sprintf "%s|%d|%s|%s|%d|%d|%d", |
29 | my $pkt = sprintf "%s|%d|%s|%s|%d|%d|%d", |
34 | $cf::CFG{metaserver_servername}, |
30 | $cf::CFG{metaserver_servername}, |
35 | $num_players, |
31 | $num_players, |
36 | "$PREFIX$VERSION$SUFFIX", |
32 | "$PREFIX$VERSION$SUFFIX", |
37 | $cf::CFG{metaserver_comment}, |
33 | $cf::CFG{metaserver_comment}, |
38 | 0, # ibytes |
34 | 0, # ibytes |
39 | 0, # obytes |
35 | 0, # obytes |
40 | time - $cf::uptime; |
36 | time - $cf::UPTIME; |
41 | |
37 | |
42 | syswrite $socket, $pkt; |
38 | syswrite $socket, $pkt; |
43 | }, |
39 | }, |
44 | ); |
40 | ); |
45 | |
41 | |