… | |
… | |
68 | . ($pl->peaceful ? " [peaceful]" : " [HOSTILE]") |
68 | . ($pl->peaceful ? " [peaceful]" : " [HOSTILE]") |
69 | . ($ns->afk ? " [AFK]" : "") |
69 | . ($ns->afk ? " [AFK]" : "") |
70 | . ($ob->flag (cf::FLAG_WIZ) ? " [WIZ]" : "") |
70 | . ($ob->flag (cf::FLAG_WIZ) ? " [WIZ]" : "") |
71 | . " [" . $pl->ns->version . "]" |
71 | . " [" . $pl->ns->version . "]" |
72 | . " [" . ($pl->peaceful || $privileged ? $ob->map->visible_name : $ob->region->name) . "]" |
72 | . " [" . ($pl->peaceful || $privileged ? $ob->map->visible_name : $ob->region->name) . "]" |
73 | . (sprintf " [rtt %.3fs]", $pl->ns->rtt * 1e-6) |
73 | . (sprintf " [rtt %.3fs]", $pl->ns->tcpi_rtt * 1e-6) |
74 | . ($privileged ? " " . $pl->ns->host : "") |
74 | . ($privileged ? " " . $pl->ns->host : "") |
75 | } sort { (lc $a->ob->name) cmp (lc $b->ob->name) } @pl |
75 | } sort { (lc $a->ob->name) cmp (lc $b->ob->name) } @pl |
76 | ), |
76 | ), |
77 | eval { "* IRC: " . join ", ", ext::irc::users }, |
77 | eval { "* IRC: " . join ", ", ext::irc::users }, |
78 | ) |
78 | ) |
… | |
… | |
185 | } |
185 | } |
186 | |
186 | |
187 | cf::register_command mapinfo => sub { |
187 | cf::register_command mapinfo => sub { |
188 | my ($ob) = @_; |
188 | my ($ob) = @_; |
189 | |
189 | |
|
|
190 | my $observe = $ob->contr->observe; |
|
|
191 | |
190 | my $map = $ob->contr->observe->map |
192 | my $map = $observe->map |
191 | or return; |
193 | or return; |
192 | $ob->reply (undef, (sprintf "%s (%s) %s", $map->name, $map->path, $ob->region->longname)); |
194 | $ob->reply (undef, (sprintf "%s (%s) %s", $map->name, $map->path, $observe->region->longname)); |
193 | $ob->reply (undef, (sprintf "players: %d difficulty: %d size: %d start: %dx%d timeout: %d", |
195 | $ob->reply (undef, (sprintf "players: %d difficulty: %d size: %d start: %dx%d timeout: %d", |
194 | (scalar $map->players), $map->difficulty, $map->width, $map->height, $map->enter_x, $map->enter_y, $map->timeout)) |
196 | (scalar $map->players), $map->difficulty, $map->width, $map->height, $map->enter_x, $map->enter_y, $map->timeout)) |
195 | if $ob->flag (cf::FLAG_WIZ); |
197 | if $ob->flag (cf::FLAG_WIZ); |
196 | $ob->reply (undef, $map->msg); |
198 | $ob->reply (undef, $map->msg); |
197 | |
199 | |
… | |
… | |
286 | |
288 | |
287 | return $ob->reply (undef, sprintf "Output rate is presently %dbps.", $ob->contr->ns->max_rate / $cf::TICK) |
289 | return $ob->reply (undef, sprintf "Output rate is presently %dbps.", $ob->contr->ns->max_rate / $cf::TICK) |
288 | unless $arg > 0; |
290 | unless $arg > 0; |
289 | |
291 | |
290 | # minimum is 5k/s |
292 | # minimum is 5k/s |
|
|
293 | # maximum is 100k/s, this should be configurable |
291 | $ob->contr->ns->max_rate ((List::Util::max 5000, $arg) * $cf::TICK); |
294 | $ob->contr->ns->max_rate ((List::Util::max 5000, List::Util::min 100000, $arg) * $cf::TICK); |
292 | $ob->reply (undef, sprintf "Output rate now set to %dbps.", $ob->contr->ns->max_rate / $cf::TICK); |
295 | $ob->reply (undef, sprintf "Output rate now set to %dbps.", $ob->contr->ns->max_rate / $cf::TICK); |
293 | |
296 | |
294 | 1 |
297 | 1 |
295 | }; |
298 | }; |
296 | |
299 | |