rendered paste body if ($more_parts[0] == 'list') { try { $found = false; $message = ''; //$even_parts = explode(' ', $more_parts[1], 2); $search_type = strtolower($more_parts[1]); $list = new BZFlag_Info(); $list_array = $list->serverlist(); $arr = array(); foreach ($list_array['servers'] as $name => $things) { if ($things['type'] == "CTF" && $search_type == "ctf") { $arr[$name] = $things['numtanks']; } if ($things['type'] == "FFA" && $search_type == "ffa") { $arr[$name] = $things['numtanks']; } if ($things['type'] == "Rabbit" && $search_type == "rabbit") { $arr[$name] = $things['numtanks']; } } arsort($arr, SORT_NUMERIC); $arr = array_slice($arr, 0, 5); if ($search_type == "all" || $search_type == "") { $message = 'Top 5 servers are: '; } elseif ($search_type == "rabbit") { $message = 'Top 5 rabbit servers are: '; } elseif ($search_type == "ctf") { $message = 'Top 5 CTF servers are: '; } elseif ($search_type == "ffa") { $message = 'Top 5 FFA servers are: '; } else { $message = 'No server of type \''.$search_type.'\' found.'; } foreach ($arr as $server => $count) { //$message .= $server.' ('.$count.' and '.$list_array['servers'][$server]['type'].') '; $message .= "".chr(2)."$server".chr(2)." ($count)("; if ($list_array['servers'][$server]['type'] == "CTF") { $message .= "".chr(2).chr(3)."05CTF".chr(3).chr(2).") "; } if ($list_array['servers'][$server]['type'] == "FFA") { $message .= "".chr(2).chr(3)."18FFA".chr(3).chr(2).") "; } if ($list_array['servers'][$server]['type'] == "Rabbit") { $message .= "".chr(2).chr(3)."01Rabbit".chr(3).chr(2).") "; } } $irc->message(SMARTIRC_TYPE_CHANNEL, $recip, $message); //$list->close(); } catch (Exception $error) { $message = 'Error connecting to bzflag list server with message: '.$error->getMessage().''; $irc->message(SMARTIRC_TYPE_CHANNEL, $recip, $message); } }