// Admin tools by gy_be (version 0.5.0) // // How to install: download this file and put it into `config/` directory // as `atools.cfg` and add `exec config/atools.cfg` to `autoexec.cfg`. // // How to configure: press `X` to open admin tools menu, // there you can set some settings and list servers you have admin on. // Servers are organized into groups that share same password. // Server groups for some servers are built-in, // just edit in the password if you know it. // // Alternatively, use `atools_group` and `atools_server` commands in `autoexec.cfg`. // // Added commands: // // aban - instant ban by client number // abanname - instant ban by name // abanip - instant ban by IP // akick - instant kick // whoare - list IPs of all players without claiming admin // awhoare - list full IPs of all players // findcnbyip - get client number by IP // claimadmin - claim admin // withadmin - execute a command as admin // atools_group - add a server group // atools_server - add a server to the last added group // // See in-game documentation for more information. persistidents 1 checkinit mapstartalways ::amenu::detect check2init ::atools::use_name 0 check2init ::atools::name "" check2init ::atools::auto_drop 0 check2init ::atools::auto_drop_delay 1000 check2init ::atools::take_ss 1 check2init ::atools::default_reason "default reason" persistidents 0 // Admin menu start ::amenu::menuitemtextinput = [ ::amenu::menuitemtextinput::label = $arg1 ::amenu::menuitemtextinput::initial = $arg2 ::amenu::menuitemtextinput::action = $arg3 if (> $numargs 3) [ ::amenu::menuitemtextinput::max_len = $arg4 ] [ ::amenu::menuitemtextinput::max_len = 256 ] ::amenu::menuitemtextinput::unused_var = (concatword "::amenu::menuitemtextinput::unused::" (strreplace $::amenu::menuitemtextinput::label " " "_")) if (! (checkalias $::amenu::menuitemtextinput::unused_var)) [ addListOnQuit $::amenu::menuitemtextinput::unused_var ] alias $::amenu::menuitemtextinput::unused_var 1 ::amenu::menuitemtextinput::default_exp = ( concatword "if $" $::amenu::menuitemtextinput::unused_var " [" $::amenu::menuitemtextinput::unused_var " = 0; result [" $::amenu::menuitemtextinput::initial "]]" ) menuitemtextinput $::amenu::menuitemtextinput::label $::amenu::menuitemtextinput::default_exp $::amenu::menuitemtextinput::action "" $::amenu::menuitemtextinput::max_len ] addListOnQuit [ ::amenu::menuitemtextinput::label ::amenu::menuitemtextinput::initial ::amenu::menuitemtextinput::action ::amenu::menuitemtextinput::max_len ::amenu::menuitemtextinput::unused_var ::amenu::menuitemtextinput::default_exp ] ::amenu::perm_alias = [ ::amenu::perm_alias::persistidents = $persistidents persistidents 1 alias $arg1 $arg2 persistidents $::amenu::perm_alias::persistidents delalias ::amenu::perm_alias::persistidents ] ::amenu::get_server_var = [ result (concatword "::amenu::server_group_" $arg1 "_" $arg2) ] ::amenu::get_descr_var = [ result (concatword "::amenu::server_descr_" $arg1 "_" $arg2) ] ::amenu::get_password_var = [ result (concatword "::amenu::group_password_" $arg1) ] ::amenu::get_servers_var = [ result (concatword "::amenu::group_servers_" $arg1) ] ::amenu::splitout_ip = [ result (substr $arg1 0 (strpos $arg1 ":")) ] ::amenu::splitout_port = [ result (substr $arg1 (+ 1 (strpos $arg1 ":"))) ] ::amenu::have_current_server = [ ::amenu::have_current_server::server_var = (::amenu::get_server_var (curserver 1) (curserver 3)) result (checkalias $::amenu::have_current_server::server_var) ] addListOnQuit [::amenu::have_current_server::server_var] ::amenu::current_server_group = [ ::amenu::current_server_group::server_var = (::amenu::get_server_var (curserver 1) (curserver 3)) result (getalias $::amenu::current_server_group::server_var) ] addListOnQuit [::amenu::current_server_group::server_var] ::amenu::current_server_descr = [ ::amenu::current_server_descr::descr_var = (::amenu::get_descr_var (curserver 1) (curserver 3)) result (getalias $::amenu::current_server_descr::descr_var) ] addListOnQuit [::amenu::current_server_descr::descr_var] ::amenu::detect = [ ::amenu::detect::password = "" ::amenu::detect::label = "" if (::amenu::have_current_server) [ ::amenu::detect::server_group = (::amenu::current_server_group) ::amenu::detect::password = (getalias (::amenu::get_password_var $::amenu::detect::server_group)) ::amenu::detect::label = (concatword "'" $::amenu::detect::server_group "'") if (! (strcmp (::amenu::current_server_descr) "!")) [ ::amenu::detect::label = (concatword $::amenu::detect::label " (" (::amenu::current_server_descr) ")") ] if (strcmp $::amenu::detect::password "!") [ echo (concatword "Detected " $::amenu::detect::label " server but no password is set.") ::amenu::detect::password = "" ] [ echo (concatword "Detected " $::amenu::detect::label " server, admin tools are ready.") ] ] [ echo "Could not detect server." ] apassword = $::amenu::detect::password ] addListOnQuit [::amenu::detect::password ::amenu::detect::server_group ::amenu::detect::password ::amenu::detect::label] ::amenu::perm_alias = [ ::amenu::perm_alias::persistidents = $persistidents persistidents 1 alias $arg1 $arg2 persistidents $::amenu::perm_alias::persistidents ] addListOnQuit [::amenu::perm_alias::persistidents] ::amenu::perm_add2list = [ if (strcmp (getalias $arg1) "!") [ ::amenu::perm_alias $arg1 $arg2 ] [ ::amenu::perm_alias $arg1 (concat (getalias $arg1) $arg2) ] ] ::amenu::perm_replace = [ ::amenu::perm_replace::new_list = "" looplist (getalias $arg1) ::amenu::perm_replace::value [ if (strcmp $::amenu::perm_replace::value $arg2) [ add2list ::amenu::perm_replace::new_list $arg3 ] [ add2list ::amenu::perm_replace::new_list $::amenu::perm_replace::value ] ] ::amenu::perm_alias $arg1 $::amenu::perm_replace::new_list ] addListOnQuit [::amenu::perm_replace::new_list ::amenu::perm_replace::value] ::amenu::perm_remove = [ ::amenu::perm_remove::new_list = "" looplist (getalias $arg1) ::amenu::perm_remove::value [ if (! (strcmp $::amenu::perm_remove::value $arg2)) [ add2list ::amenu::perm_remove::new_list $::amenu::perm_remove::value ] ] if (strcmp $::amenu::perm_remove::new_list "") [ ::amenu::perm_alias $arg1 "!" ] [ ::amenu::perm_alias $arg1 $::amenu::perm_remove::new_list ] ] addListOnQuit [::amenu::perm_remove::new_list ::amenu::perm_remove::value] ::amenu::validate_ip = [ ::amenu::validate_ip::value = $arg1 ::amenu::validate_ip::res = "" if (strcmp $::amenu::validate_ip::value "") [ ::amenu::validate_ip::res = "IP can not be empty" ] [ parsestring $::amenu::validate_ip::value ::amenu::validate_ip::char [ if (! (|| (strcmp $::amenu::validate_ip::char ".") (testchar $::amenu::validate_ip::char 0))) [ ::amenu::validate_ip::res = "IP can contain only dots and digits" breakparse ] ] ] result $::amenu::validate_ip::res ] addListOnQuit [::amenu::validate_ip::value ::amenu::validate_ip::res ::amenu::validate_ip::char __::amenu::validate_ip::char] ::amenu::validate_port = [ ::amenu::validate_port::value = $arg1 ::amenu::validate_port::res = "" if (strcmp $::amenu::validate_port::value "") [ ::amenu::validate_port::res = "Port can not be empty" ] [ parsestring $::amenu::validate_port::value ::amenu::validate_port::char [ if (! (testchar $::amenu::validate_port::char 0)) [ ::amenu::validate_port::res = "port can contain only digits" breakparse ] ] ] result $::amenu::validate_port::res ] addListOnQuit [::amenu::validate_port::value ::amenu::validate_port::res ::amenu::validate_port::char __::amenu::validate_port::char] ::amenu::validate_group = [ ::amenu::validate_group::value = $arg1 ::amenu::validate_group::res = "" if (strcmp $::amenu::validate_group::value "") [ ::amenu::validate_group::res = "server group name can not be empty" ] [ parsestring $::amenu::validate_group::value ::amenu::validate_group::char [ if (! (|| (strstr "!#%&'*+,-.:;<>?@^_`{|}~" $::amenu::validate_group::char) (testchar $::amenu::validate_group::char 2))) [ ::amenu::validate_group::res = "server group name can contain only letters, digits, and some punctuation" breakparse ] ] ] result $::amenu::validate_group::res ] addListOnQuit [::amenu::validate_group::value ::amenu::validate_group::res ::amenu::validate_group::char __::amenu::validate_group::char] ::amenu::validate_server = [ ::amenu::validate_server::res = (::amenu::validate_ip $arg1) if (strcmp $::amenu::validate_server::res "") [ ::amenu::validate_server::res = (::amenu::validate_port $arg2) if (strcmp $::amenu::validate_server::res "") [ ::amenu::validate_server::res = (::amenu::validate_group $arg3) if (strcmp $::amenu::validate_server::res "") [ if (! (checkalias (::amenu::get_password_var $arg3))) [ ::amenu::validate_server::res = (concatword "server group '" $arg3 "' does not exist") ] ] ] ] result $::amenu::validate_server::res ] addListOnQuit [::amenu::validate_server::res] ::amenu::add_group = [ ::amenu::add_group::name = $arg1 ::amenu::add_group::password = $arg2 if (strcmp $::amenu::add_group::password "") [ ::amenu::add_group::password = "!" ] ::amenu::add_group::error = (::amenu::validate_group $::amenu::add_group::name) if (strcmp $::amenu::add_group::error "") [ if (checkalias (::amenu::get_password_var $::amenu::add_group::name)) [ echo (concatword (c 3) "Error: " (c 5) "server group '" $::amenu::add_group::name "' already exists.") ] [ ::amenu::perm_add2list ::amenu::groups $::amenu::add_group::name ::amenu::perm_alias (::amenu::get_servers_var $::amenu::add_group::name) "!" ::amenu::perm_alias (::amenu::get_password_var $::amenu::add_group::name) $::amenu::add_group::password ] ] [ echo (concatword (c 3) "Error: " (c 5) $::amenu::add_group::error ".") ] ] addListOnQuit [::amenu::add_group::name ::amenu::add_group::password ::amenu::add_group::error] ::amenu::show_add_group_menu = [ ::amenu::show_add_group_menu::name = "Add server group" closemenu $::amenu::show_add_group_menu::name delmenu $::amenu::show_add_group_menu::name newmenu $::amenu::show_add_group_menu::name ::amenu::show_add_group_menu::group = "" ::amenu::show_add_group_menu::password = "" ::amenu::menuitemtextinput "Group name: " "" [::amenu::show_add_group_menu::group = $arg1] menuitem " Single word, some punctuation is allowed." -1 ::amenu::menuitemtextinput "Admin password: " "" [::amenu::show_add_group_menu::password = $arg1] menuitem " Leave empty if unknown." -1 menuitem "" -1 menuitem "Save" [ ::amenu::add_group $::amenu::show_add_group_menu::group $::amenu::show_add_group_menu::password closemenu $::amenu::show_add_group_menu::name ::amenu::show_view_groups_menu ] showmenu $::amenu::show_add_group_menu::name ] addListOnQuit [::amenu::show_add_group_menu::name ::amenu::show_add_group_menu::group ::amenu::show_add_group_menu::password] ::amenu::show_edit_group_menu = [ ::amenu::show_edit_group_menu::group = $arg1 ::amenu::show_edit_group_menu::name = (concatword "Edit " $::amenu::show_edit_group_menu::group " server group") closemenu $::amenu::show_edit_group_menu::name delmenu $::amenu::show_edit_group_menu::name newmenu $::amenu::show_edit_group_menu::name ::amenu::show_edit_group_menu::password_var = (::amenu::get_password_var $::amenu::show_edit_group_menu::group) ::amenu::show_edit_group_menu::password = (getalias $::amenu::show_edit_group_menu::password_var) if (strcmp $::amenu::show_edit_group_menu::password "!") [ ::amenu::show_edit_group_menu::password = "" ] ::amenu::show_edit_group_menu::new_group = $::amenu::show_edit_group_menu::group ::amenu::show_edit_group_menu::new_password = $::amenu::show_edit_group_menu::password ::amenu::menuitemtextinput "Group name: " $::amenu::show_edit_group_menu::group [::amenu::show_edit_group_menu::new_group = $arg1] menuitem " Single word, some punctuation is allowed." -1 ::amenu::menuitemtextinput "Admin password: " $::amenu::show_edit_group_menu::password [::amenu::show_edit_group_menu::new_password = $arg1] menuitem " Leave empty if unknown." -1 menuitem "" -1 menuitem "Save" [ ::amenu::show_edit_group_menu::error = (::amenu::validate_group $::amenu::show_edit_group_menu::new_group) if (strcmp $::amenu::show_edit_group_menu::error "") [ ::amenu::perm_replace ::amenu::groups $::amenu::show_edit_group_menu::group $::amenu::show_edit_group_menu::new_group delalias $::amenu::show_edit_group_menu::password_var ::amenu::show_edit_group_menu::new_password_var = (::amenu::get_password_var $::amenu::show_edit_group_menu::new_group) if (strcmp $::amenu::show_edit_group_menu::new_password "") [ ::amenu::perm_alias $::amenu::show_edit_group_menu::new_password_var "!" ] [ ::amenu::perm_alias $::amenu::show_edit_group_menu::new_password_var $::amenu::show_edit_group_menu::new_password ] ::amenu::show_edit_group_menu::servers_var = (::amenu::get_servers_var $::amenu::show_edit_group_menu::group) ::amenu::show_edit_group_menu::servers = (getalias $::amenu::show_edit_group_menu::servers_var) delalias $::amenu::show_edit_group_menu::servers_var ::amenu::show_edit_group_menu::new_servers_var = (::amenu::get_servers_var $::amenu::show_edit_group_menu::new_group) ::amenu::perm_alias $::amenu::show_edit_group_menu::new_servers_var $::amenu::show_edit_group_menu::servers looplist $::amenu::show_edit_group_menu::servers ::amenu::show_edit_group_menu::server [ ::amenu::show_edit_group_menu::ip = (::amenu::splitout_ip $::amenu::show_edit_group_menu::server) ::amenu::show_edit_group_menu::port = (::amenu::splitout_port $::amenu::show_edit_group_menu::server) ::amenu::perm_alias (::amenu::get_server_var $::amenu::show_edit_group_menu::ip $::amenu::show_edit_group_menu::port) $::amenu::show_edit_group_menu::new_group ] ] [ echo (concatword (c 3) "Error: " (c 5) $::amenu::show_edit_group_menu::error ".") ] closemenu $::amenu::show_edit_group_menu::name closemenu (concatword $::amenu::show_edit_group_menu::group " servers") ::amenu::show_view_groups_menu ] showmenu $::amenu::show_edit_group_menu::name ] addListOnQuit [ ::amenu::show_edit_group_menu::group ::amenu::show_edit_group_menu::name ::amenu::show_edit_group_menu::password_var ::amenu::show_edit_group_menu::password ::amenu::show_edit_group_menu::new_group ::amenu::show_edit_group_menu::new_password ::amenu::show_edit_group_menu::error ::amenu::show_edit_group_menu::new_password_var ::amenu::show_edit_group_menu::servers_var ::amenu::show_edit_group_menu::servers ::amenu::show_edit_group_menu::new_servers_var ::amenu::show_edit_group_menu::server ::amenu::show_edit_group_menu::ip ::amenu::show_edit_group_menu::port ] ::amenu::show_delete_group_menu = [ ::amenu::show_delete_group_menu::group = $arg1 ::amenu::show_delete_group_menu::name = (concatword "Delete " $::amenu::show_delete_group_menu::group " server group") closemenu $::amenu::show_delete_group_menu::name delmenu $::amenu::show_delete_group_menu::name newmenu $::amenu::show_delete_group_menu::name menuitem "Yes" [ ::amenu::perm_remove ::amenu::groups $::amenu::show_delete_group_menu::group delalias (::amenu::get_password_var $::amenu::show_delete_group_menu::group) ::amenu::show_delete_group_menu::servers_var = (::amenu::get_servers_var $::amenu::show_delete_group_menu::group) looplist (getalias $::amenu::show_delete_group_menu::servers_var) ::amenu::show_delete_group_menu::server [ ::amenu::show_delete_group_menu::ip = (::amenu::splitout_ip $::amenu::show_delete_group_menu::server) ::amenu::show_delete_group_menu::port = (::amenu::splitout_port $::amenu::show_delete_group_menu::server) delalias (::amenu::get_server_var $::amenu::show_delete_group_menu::ip $::amenu::show_delete_group_menu::port) delalias (::amenu::get_descr_var $::amenu::show_delete_group_menu::ip $::amenu::show_delete_group_menu::port) ] delalias $::amenu::show_delete_group_menu::servers_var closemenu $::amenu::show_delete_group_menu::name closemenu (concatword $::amenu::show_delete_group_menu::group " servers") ::amenu::show_view_groups_menu ] menuitem "No" [ closemenu $::amenu::show_delete_group_menu::name ] menuinitselection 1 showmenu $::amenu::show_delete_group_menu::name ] addListOnQuit [ ::amenu::show_delete_group_menu::group ::amenu::show_delete_group_menu::name ::amenu::show_delete_group_menu::servers_var ::amenu::show_delete_group_menu::server ::amenu::show_delete_group_menu::ip ::amenu::show_delete_group_menu::port ] ::amenu::add_server = [ ::amenu::add_server::ip = $arg1 ::amenu::add_server::port = $arg2 ::amenu::add_server::group = $arg3 if (> $numargs 3) [ ::amenu::add_server::descr = $arg4 ] [ ::amenu::add_server::descr = "" ] if (strcmp $::amenu::add_server::descr "") [ ::amenu::add_server::descr = "!" ] ::amenu::add_server::error = (::amenu::validate_server $::amenu::add_server::ip $::amenu::add_server::port $::amenu::add_server::group) if (strcmp $::amenu::add_server::error "") [ ::amenu::add_server::server_var = (::amenu::get_server_var $::amenu::add_server::ip $::amenu::add_server::port) if (! (checkalias $::amenu::add_server::server_var)) [ ::amenu::perm_add2list (::amenu::get_servers_var $::amenu::add_server::group) (concatword $::amenu::add_server::ip ":" $::amenu::add_server::port) ::amenu::perm_alias (::amenu::get_server_var $::amenu::add_server::ip $::amenu::add_server::port) $::amenu::add_server::group ::amenu::perm_alias (::amenu::get_descr_var $::amenu::add_server::ip $::amenu::add_server::port) $::amenu::add_server::descr ] [ ::amenu::add_server::error = (concatword "server '" $::amenu::add_server::ip ":" $::amenu::add_server::port "' already exists") ::amenu::add_server::error = (concatword $::amenu::add_server::error " (in server group '" (getalias $::amenu::add_server::server_var) "')") ] ] if (! (strcmp $::amenu::add_server::error "")) [ echo (concatword (c 3) "Error: " (c 5) $::amenu::add_server::error ".") ] ] addListOnQuit [ ::amenu::add_server::ip ::amenu::add_server::port ::amenu::add_server::group ::amenu::add_server::descr ::amenu::add_server::error ::amenu::add_server::server_var ] ::amenu::show_add_server_menu = [ ::amenu::show_add_server_menu::ip = $arg1 ::amenu::show_add_server_menu::port = $arg2 ::amenu::show_add_server_menu::group = $arg3 ::amenu::show_add_server_menu::from_group = $arg4 ::amenu::show_add_server_menu::descr = "" if (strcmp $::amenu::show_add_server_menu::group "") [ ::amenu::show_add_server_menu::name = "Add server" ] [ ::amenu::show_add_server_menu::name = (concatword "Add " $::amenu::show_add_server_menu::group " server") ] closemenu $::amenu::show_add_server_menu::name delmenu $::amenu::show_add_server_menu::name newmenu $::amenu::show_add_server_menu::name ::amenu::menuitemtextinput "IP: " $::amenu::show_add_server_menu::ip [::amenu::show_add_server_menu::ip = $arg1] ::amenu::menuitemtextinput "Port: " $::amenu::show_add_server_menu::port [::amenu::show_add_server_menu::port = $arg1] ::amenu::menuitemtextinput "Description (optional): " "" [::amenu::show_add_server_menu::descr = $arg1] if (strcmp $::amenu::show_add_server_menu::group "") [ ::amenu::menuitemtextinput "Server group: " $::amenu::show_add_server_menu::group [::amenu::show_add_server_menu::group = $arg1] ] menuitem "" -1 menuitem "Save" [ ::amenu::add_server $::amenu::show_add_server_menu::ip $::amenu::show_add_server_menu::port $::amenu::show_add_server_menu::group $::amenu::show_add_server_menu::descr closemenu $::amenu::show_add_server_menu::name if $::amenu::show_add_server_menu::from_group [ closemenu (concatword $::amenu::show_add_server_menu::group " servers") closemenu "Server groups" ::amenu::show_main_menu ::amenu::show_view_groups_menu ::amenu::show_view_group_menu $::amenu::show_add_server_menu::group ] [ ::amenu::show_main_menu ] ] if (! (strcmp $::amenu::show_add_server_menu::ip "")) [ menuinitselection 2 ] showmenu $::amenu::show_add_server_menu::name ] addListOnQuit [ ::amenu::show_add_server_menu::name ::amenu::show_add_server_menu::ip ::amenu::show_add_server_menu::port ::amenu::show_add_server_menu::group ::amenu::show_add_server_menu::from_group ::amenu::show_add_server_menu::descr ] ::amenu::show_edit_server_menu = [ ::amenu::show_edit_server_menu::ip = $arg1 ::amenu::show_edit_server_menu::port = $arg2 ::amenu::show_edit_server_menu::id = (concatword $::amenu::show_edit_server_menu::ip ":" $::amenu::show_edit_server_menu::port) ::amenu::show_edit_server_menu::name = (concatword "Edit " $::amenu::show_edit_server_menu::id " server") closemenu $::amenu::show_edit_server_menu::name delmenu $::amenu::show_edit_server_menu::name newmenu $::amenu::show_edit_server_menu::name ::amenu::show_edit_server_menu::server_var = (::amenu::get_server_var $::amenu::show_edit_server_menu::ip $::amenu::show_edit_server_menu::port) ::amenu::show_edit_server_menu::group = (getalias $::amenu::show_edit_server_menu::server_var) ::amenu::show_edit_server_menu::descr_var = (::amenu::get_descr_var $::amenu::show_edit_server_menu::ip $::amenu::show_edit_server_menu::port) ::amenu::show_edit_server_menu::descr = (getalias $::amenu::show_edit_server_menu::descr_var) if (strcmp $::amenu::show_edit_server_menu::descr "!") [ ::amenu::show_edit_server_menu::descr = "" ] ::amenu::show_edit_server_menu::new_ip = $::amenu::show_edit_server_menu::ip ::amenu::show_edit_server_menu::new_port = $::amenu::show_edit_server_menu::port ::amenu::show_edit_server_menu::new_descr = $::amenu::show_edit_server_menu::descr ::amenu::menuitemtextinput "IP: " $::amenu::show_edit_server_menu::ip [::amenu::show_edit_server_menu::new_ip = $arg1] ::amenu::menuitemtextinput "Port: " $::amenu::show_edit_server_menu::port [::amenu::show_edit_server_menu::new_port = $arg1] ::amenu::menuitemtextinput "Description (optional): " $::amenu::show_edit_server_menu::descr [::amenu::show_edit_server_menu::new_descr = $arg1] menuitem "" -1 menuitem "Save" [ ::amenu::show_edit_server_menu::error = (::amenu::validate_server $::amenu::show_edit_server_menu::new_ip $::amenu::show_edit_server_menu::new_port $::amenu::show_edit_server_menu::group) if (strcmp $::amenu::show_edit_server_menu::error "") [ ::amenu::show_edit_server_menu::new_id = (concatword $::amenu::show_edit_server_menu::new_ip ":" $::amenu::show_edit_server_menu::new_port) ::amenu::show_edit_server_menu::new_server_var = (::amenu::get_server_var $::amenu::show_edit_server_menu::new_ip $::amenu::show_edit_server_menu::new_port) ::amenu::show_edit_server_menu::new_descr_var = (::amenu::get_descr_var $::amenu::show_edit_server_menu::new_ip $::amenu::show_edit_server_menu::new_port) if (&& (checkalias $::amenu::show_edit_server_menu::new_server_var) (! (strcmp $::amenu::show_edit_server_menu::new_id $::amenu::show_edit_server_menu::id))) [ ::amenu::show_edit_server_menu::error = (concatword "server '" $::amenu::show_edit_server_menu::new_ip ":" $::amenu::show_edit_server_menu::new_port "' already exists") ::amenu::show_edit_server_menu::error = (concatword $::amenu::show_edit_server_menu::error " (in server group '" (getalias $::amenu::show_edit_server_menu::new_server_var) "')") ] [ ::amenu::perm_replace (::amenu::get_servers_var $::amenu::show_edit_server_menu::group) $::amenu::show_edit_server_menu::id $::amenu::show_edit_server_menu::new_id delalias $::amenu::show_edit_server_menu::server_var delalias $::amenu::show_edit_server_menu::descr_var if (strcmp $::amenu::show_edit_server_menu::new_descr "") [ ::amenu::show_edit_server_menu::new_descr = "!" ] ::amenu::perm_alias $::amenu::show_edit_server_menu::new_descr_var $::amenu::show_edit_server_menu::new_descr ::amenu::perm_alias $::amenu::show_edit_server_menu::new_server_var $::amenu::show_edit_server_menu::group ] ] if (! (strcmp $::amenu::show_edit_server_menu::error "")) [ echo (concatword (c 3) "Error: " (c 5) $::amenu::show_edit_server_menu::error ".") ] closemenu $::amenu::show_edit_server_menu::name closemenu (concatword $::amenu::show_edit_server_menu::ip ":" $::amenu::show_edit_server_menu::port " server") closemenu (concatword $::amenu::show_edit_server_menu::group " servers") closemenu "Server groups" ::amenu::show_main_menu ::amenu::show_view_groups_menu ::amenu::show_view_group_menu $::amenu::show_edit_server_menu::group ] showmenu $::amenu::show_edit_server_menu::name ] addListOnQuit [ ::amenu::show_edit_server_menu::ip ::amenu::show_edit_server_menu::port ::amenu::show_edit_server_menu::id ::amenu::show_edit_server_menu::name ::amenu::show_edit_server_menu::server_var ::amenu::show_edit_server_menu::group ::amenu::show_edit_server_menu::descr_var ::amenu::show_edit_server_menu::descr ::amenu::show_edit_server_menu::new_ip ::amenu::show_edit_server_menu::new_port ::amenu::show_edit_server_menu::new_descr ::amenu::show_edit_server_menu::error ::amenu::show_edit_server_menu::new_server_var ::amenu::show_edit_server_menu::new_descr_var ::amenu::show_edit_server_menu::new_id ] ::amenu::show_delete_server_menu = [ ::amenu::show_delete_server_menu::ip = $arg1 ::amenu::show_delete_server_menu::port = $arg2 ::amenu::show_delete_server_menu::id = (concatword $::amenu::show_delete_server_menu::ip ":" $::amenu::show_delete_server_menu::port) ::amenu::show_delete_server_menu::name = (concatword "Delete " $::amenu::show_delete_server_menu::id " server") closemenu $::amenu::show_delete_server_menu::name delmenu $::amenu::show_delete_server_menu::name newmenu $::amenu::show_delete_server_menu::name ::amenu::show_delete_server_menu::server_var = (::amenu::get_server_var $::amenu::show_delete_server_menu::ip $::amenu::show_delete_server_menu::port) ::amenu::show_delete_server_menu::group = (getalias $::amenu::show_delete_server_menu::server_var) ::amenu::show_delete_server_menu::servers_var = (::amenu::get_servers_var $::amenu::show_delete_server_menu::group) menuitem "Yes" [ ::amenu::perm_remove $::amenu::show_delete_server_menu::servers_var $::amenu::show_delete_server_menu::id delalias $::amenu::show_delete_server_menu::server_var delalias (::amenu::get_descr_var $::amenu::show_delete_server_menu::ip $::amenu::show_delete_server_menu::port) closemenu $::amenu::show_delete_server_menu::name closemenu (concatword $::amenu::show_delete_server_menu::id " server") closemenu (concatword $::amenu::show_delete_server_menu::group " servers") closemenu "Server groups" ::amenu::show_main_menu ::amenu::show_view_groups_menu ::amenu::show_view_group_menu $::amenu::show_edit_server_menu::group ] menuitem "No" [ closemenu $::amenu::show_delete_server_menu::name ] menuinitselection 1 showmenu $::amenu::show_delete_server_menu::name ] addListOnQuit [ ::amenu::show_delete_server_menu::ip ::amenu::show_delete_server_menu::port ::amenu::show_delete_server_menu::id ::amenu::show_delete_server_menu::name ::amenu::show_delete_server_menu::server_var ::amenu::show_delete_server_menu::group ::amenu::show_delete_server_menu::servers_var ] ::amenu::show_view_server_menu = [ ::amenu::show_view_server_menu::ip = $arg1 ::amenu::show_view_server_menu::port = $arg2 ::amenu::show_view_server_menu::name = (concatword $::amenu::show_view_server_menu::ip ":" $::amenu::show_view_server_menu::port " server") closemenu $::amenu::show_view_server_menu::name delmenu $::amenu::show_view_server_menu::name newmenu $::amenu::show_view_server_menu::name ::amenu::show_view_server_menu::group = (getalias (::amenu::get_server_var $::amenu::show_view_server_menu::ip $::amenu::show_view_server_menu::port)) ::amenu::show_view_server_menu::descr = (getalias (::amenu::get_descr_var $::amenu::show_view_server_menu::ip $::amenu::show_view_server_menu::port)) ::amenu::show_view_server_menu::password = (getalias (::amenu::get_password_var $::amenu::show_view_server_menu::group)) menuitem "Connect to this server" [ if (strcmp $::amenu::show_view_server_menu::password "!") [ connect $::amenu::show_view_server_menu::ip $::amenu::show_view_server_menu::port ] [ connect $::amenu::show_view_server_menu::ip $::amenu::show_view_server_menu::port $::amenu::show_view_server_menu::password ] ] menuitem "Edit this server" [::amenu::show_edit_server_menu $::amenu::show_view_server_menu::ip $::amenu::show_view_server_menu::port] menuitem "Delete this server" [::amenu::show_delete_server_menu $::amenu::show_view_server_menu::ip $::amenu::show_view_server_menu::port [ closemenu $::amenu::show_view_server_menu::name ]] menuitem "" -1 menuitem (concatword "IP: " $::amenu::show_view_server_menu::ip) -1 menuitem (concatword "Port: " $::amenu::show_view_server_menu::port) -1 if (! (strcmp $::amenu::show_view_server_menu::descr "!")) [ menuitem (concatword "Description: " $::amenu::show_view_server_menu::descr) -1 ] if (strcmp $::amenu::show_view_server_menu::password "!") [ ::amenu::show_view_server_menu::label = " (no password)" ] [ ::amenu::show_view_server_menu::label = "" ] menuitem (concatword "Group: " $::amenu::show_view_server_menu::group $::amenu::show_view_server_menu::label) -1 showmenu $::amenu::show_view_server_menu::name ] addListOnQuit [ ::amenu::show_view_server_menu::ip ::amenu::show_view_server_menu::port ::amenu::show_view_server_menu::name ::amenu::show_view_server_menu::descr ::amenu::show_view_server_menu::group ::amenu::show_view_server_menu::password ::amenu::show_view_server_menu::label ] ::amenu::show_view_group_menu = [ ::amenu::show_view_group_menu::group = $arg1 ::amenu::show_view_group_menu::name = (concatword $::amenu::show_view_group_menu::group " servers") closemenu $::amenu::show_view_group_menu::name delmenu $::amenu::show_view_group_menu::name newmenu $::amenu::show_view_group_menu::name menuitem "Edit this server group" [::amenu::show_edit_group_menu $::amenu::show_view_group_menu::group] menuitem "Delete this server group" [::amenu::show_delete_group_menu $::amenu::show_view_group_menu::group] menuitem "Add server" [::amenu::show_add_server_menu "" "" $::amenu::show_view_group_menu::group 1] ::amenu::show_view_group_menu::servers = (getalias (::amenu::get_servers_var $::amenu::show_view_group_menu::group)) if (! (strcmp $::amenu::show_view_group_menu::servers "!")) [ menuitem "" -1 looplist $::amenu::show_view_group_menu::servers ::amenu::show_view_group_menu::server [ ::amenu::show_view_group_menu::ip = (::amenu::splitout_ip $::amenu::show_view_group_menu::server) ::amenu::show_view_group_menu::port = (::amenu::splitout_port $::amenu::show_view_group_menu::server) ::amenu::show_view_group_menu::descr = (getalias (::amenu::get_descr_var $::amenu::show_view_group_menu::ip $::amenu::show_view_group_menu::port)) if (strcmp $::amenu::show_view_group_menu::descr "!") [ ::amenu::show_view_group_menu::descr = $::amenu::show_view_group_menu::server ] ::amenu::show_view_group_menu::command = (concat "::amenu::show_view_server_menu" $::amenu::show_view_group_menu::ip $::amenu::show_view_group_menu::port) menuitem $::amenu::show_view_group_menu::descr $::amenu::show_view_group_menu::command ] ] showmenu $::amenu::show_view_group_menu::name ] addListOnQuit [ ::amenu::show_view_group_menu::group ::amenu::show_view_group_menu::name ::amenu::show_view_group_menu::servers ::amenu::show_view_group_menu::server ::amenu::show_view_group_menu::ip ::amenu::show_view_group_menu::port ::amenu::show_view_group_menu::descr ::amenu::show_view_group_menu::command ] ::amenu::show_reset_menu = [ ::amenu::show_reset_menu::name = "Reset default server groups" closemenu $::amenu::show_reset_menu::name delmenu $::amenu::show_reset_menu::name newmenu $::amenu::show_reset_menu::name menuitem "Yes" [ ::atools::reset_default_groups closemenu $::amenu::show_reset_menu::name closemenu "Server groups" ::amenu::show_main_menu ::amenu::show_view_groups_menu ] menuitem "No" [ closemenu $::amenu::show_reset_menu::name ] menuinitselection 1 showmenu $::amenu::show_reset_menu::name ] addListOnQuit [::amenu::show_reset_menu::name] ::amenu::show_view_groups_menu = [ ::amenu::show_view_groups_menu::name = "Server groups" closemenu $::amenu::show_view_groups_menu::name delmenu $::amenu::show_view_groups_menu::name newmenu $::amenu::show_view_groups_menu::name menuitem "Add server group" [::amenu::show_add_group_menu] menuitem "Reset default server groups" [::amenu::show_reset_menu] if (! (strcmp $::amenu::groups "!")) [ menuitem "" -1 looplist $::amenu::groups ::amenu::show_view_groups_menu::group [ ::amenu::show_view_groups_menu::servers = (getalias (::amenu::get_servers_var $::amenu::show_view_groups_menu::group)) ::amenu::show_view_groups_menu::servers_num = 0 if (strcmp $::amenu::show_view_groups_menu::servers "!") [ ::amenu::show_view_groups_menu::servers_num = 0 ] [ ::amenu::show_view_groups_menu::servers_num = (listlen $::amenu::show_view_groups_menu::servers) ] if (= $::amenu::show_view_groups_menu::servers_num 1) [ ::amenu::show_view_groups_menu::label = "1 server" ] [ ::amenu::show_view_groups_menu::label = (concat $::amenu::show_view_groups_menu::servers_num "servers") ] ::amenu::show_view_groups_menu::password = (getalias (::amenu::get_password_var $::amenu::show_view_groups_menu::group)) if (strcmp $::amenu::show_view_groups_menu::password "!") [ ::amenu::show_view_groups_menu::label = (concatword $::amenu::show_view_groups_menu::label ", no password") ] ::amenu::show_view_groups_menu::item_name = (concatword $::amenu::show_view_groups_menu::group " (" $::amenu::show_view_groups_menu::label ")") ::amenu::show_view_groups_menu::command = (concat "::amenu::show_view_group_menu" $::amenu::show_view_groups_menu::group) menuitem $::amenu::show_view_groups_menu::item_name $::amenu::show_view_groups_menu::command ] ] showmenu $::amenu::show_view_groups_menu::name ] addListOnQuit [ ::amenu::show_view_groups_menu::name ::amenu::show_view_groups_menu::group ::amenu::show_view_groups_menu::servers ::amenu::show_view_groups_menu::servers_num ::amenu::show_view_groups_menu::password ::amenu::show_view_groups_menu::label ::amenu::show_view_groups_menu::item_name ::amenu::show_view_groups_menu::command ] ::amenu::show_settings_menu = [ ::amenu::show_settings_menu::name = "Admin tools settings" closemenu $::amenu::show_settings_menu::name delmenu $::amenu::show_settings_menu::name newmenu $::amenu::show_settings_menu::name menuitemkeyinput "Atools menu bind (ENTER to edit): " ::amenu::show_main_menu menuitemcheckbox "Drop admin after use: " [result $::atools::auto_drop] [::amenu::perm_alias ::atools::auto_drop $arg1] ::amenu::menuitemtextinput " Drop delay (milliseconds): " $::atools::auto_drop_delay [::amenu::perm_alias ::atools::auto_drop_delay $arg1] menuitemcheckbox "Take screenshot of ban log message: " [result $::atools::take_ss] [::amenu::perm_alias ::atools::take_ss $arg1] menuitemcheckbox "Change name when claiming admin: " [result $::atools::use_name] [::amenu::perm_alias ::atools::use_name $arg1] ::amenu::menuitemtextinput " Admin name: " $::atools::name [::amenu::perm_alias ::atools::name $arg1] 15 ::amenu::menuitemtextinput "Default ban reason: " $::atools::default_reason [::amenu::perm_alias ::atools::default_reason $arg1] showmenu $::amenu::show_settings_menu::name ] addListOnQuit [::amenu::show_settings_menu::name] ::amenu::show_main_menu = [ ::amenu::show_main_menu::name = "Admin tools v0.5.0" closemenu $::amenu::show_main_menu::name delmenu $::amenu::show_main_menu::name newmenu $::amenu::show_main_menu::name if (::amenu::have_current_server) [ if (strcmp (::amenu::current_server_descr) "!") [ ::amenu::show_main_menu::descr = (::amenu::current_server_group) ] [ ::amenu::show_main_menu::descr = (::amenu::current_server_descr) ] menuitem (concatword "View current server (" $::amenu::show_main_menu::descr ")") [::amenu::show_view_server_menu (curserver 1) (curserver 3) ::amenu::show_main_menu] ] [ menuitem "Add current server" [::amenu::show_add_server_menu (curserver 1) (curserver 3) "" 0] ] menuitem "Manage server groups" [::amenu::show_view_groups_menu] menuitem "Settings" [::amenu::show_settings_menu] showmenu $::amenu::show_main_menu::name ] addListOnQuit [::amenu::show_main_menu::name ::amenu::show_main_menu::descr] // Admin menu end docsection "Admin tools" docident [claimadmin] [Claims admin if not already claimed. Returns 1 on success, 0 on failure.] claimadmin = [ if (! (player1 role)) [ if (|| (! (checkalias apassword)) (strcmp $apassword "")) [ echo (concatword (c 3) "Error: " (c 5) "admin password is not set.") result 0 ] [ if ($::atools::use_name) [ name $::atools::name ] setadmin 1 $apassword result 1 ] ] [ result 1 ] ] ::atools::withadmin::delay = 10 ::atools::withadmin::tries = 200 ::atools::withadmin::loop = [ if (player1 role) [ execute $::atools::withadmin::command if $::atools::auto_drop [ sleep $::atools::auto_drop_delay [ setadmin 0 name $::withadmin::prev_name ] 1 ] ] [ if (<= $::atools::withadmin::sleeps 1) [ echo "withadmin timed out." ] [ -- ::atools::withadmin::sleeps sleep $::atools::withadmin::delay [::atools::withadmin::loop] 1 ] ] ] docident [withadmin] [Executes a command after claiming admin.] docargument [C] [The command to execute] [] [0]; withadmin = [ ::atools::withadmin::command = $arg1 ::withadmin::prev_name = $curname if (claimadmin) [ ::atools::withadmin::sleeps = $::atools::withadmin::tries ::atools::withadmin::loop ] ] addListOnQuit [::atools::withadmin::command ::withadmin::prev_name ::atools::withadmin::sleeps] ::atools::valid_reason = [ ::atools::valid_reason::res = $arg1 if (<= (strlen $::atools::valid_reason::res) 3) [ ::atools::valid_reason::res = (concatword $::atools::valid_reason::res "...") ] result $::atools::valid_reason::res ] addListOnQuit [::atools::valid_reason::res] docident [akick] [Kicks the specified player as admin.] docargument [CN] [The player to kick] [Client number] [0] docargument [R] [Kick reason, will be extended if too short] [] [0] akick = [ ::atools::akick::cn = $arg1 ::atools::akick::reason = (::atools::valid_reason $arg2) withadmin [ vote 2 sleep 10 [ kick $::atools::akick::cn $::atools::akick::reason ] 1 ] ] addListOnQuit [::atools::akick::cn ::atools::akick::reason] docident [aban] [Bans the specified player as admin. Prints player IP to console and screenshots it.] docargument [CN] [The player to ban] [Client number] [0] docargument [R] [Ban reason, will be extended if too short or replaced with a default if empty] [] [0] aban = [ ::atools::aban::cn = $arg1 ::atools::aban::reason = $arg2 if (strcmp $::atools::aban::reason "") [ ::atools::aban::reason = $::atools::default_reason ] ::atools::aban::reason = (::atools::valid_reason $::atools::aban::reason) withadmin [ ::atools::aban::ip = (player $::atools::aban::cn ip) ::atools::aban::name = (player $::atools::aban::cn name) ::atools::aban::msg = (concatword "Banned " $::atools::aban::name " (IP: " $::atools::aban::ip "), reason: " $::atools::aban::reason ", server: " $::amenu::detect::label ".") echo $::atools::aban::msg vote 2 sleep 10 [ ban $::atools::aban::cn $::atools::aban::reason if $::atools::take_ss [ consize 10 conskip -1 sleep 300 [ screenshot sleep 100 [ consize 6 conskip -1 ] 1 ] 1 ] ] 1 ] ] addListOnQuit [::atools::aban::cn ::atools::aban::reason ::atools::aban::ip ::atools::aban::name ::atools::aban::msg] docident [abanname] [Bans the specified player by name as admin. Prints player IP to console and screenshots it.] docargument [N] [The player to ban] [Name] [0] docargument [R] [Ban reason, will be extended if too short or replaced with a default if empty] [] [0] abanname = [ ::atools::abanname::name = $arg1 ::atools::abanname::reason = $arg2 ::atools::abanname::cn = (findcn $::atools::abanname::name) if (= $::atools::abanname::cn -1) [ echo (concatword "No player named " $::atools::abanname::name) ] [ aban $::atools::abanname::cn $::atools::abanname::reason ] ] addListOnQuit [::atools::abanname::name ::atools::abanname::reason ::atools::abanname::cn] nickcomplete abanname ::atools::maskip = [ ::atools::maskip::ip = $arg1 ::atools::maskip::res = ".x" ::atools::maskip::after_dot = 0 parsestring $::atools::maskip::ip ::atools::maskip::char [ if $::atools::maskip::after_dot [ ::atools::maskip::res = (concatword $::atools::maskip::char $::atools::maskip::res) ] [ if (strcmp $::atools::maskip::char ".") [ ::atools::maskip::after_dot = 1 ] ] ] 1 result $::atools::maskip::res ] addListOnQuit [::atools::maskip::ip ::atools::maskip::res ::atools::maskip::after_dot ::atools::maskip::char __::atools::maskip::char] docident [findcnbyip] [Find client number (cn) given an IP.] docargument [IP] [The IP string] [] [0] docremark [The lowest byte of the IP is ignored.] findcnbyip = [ ::atools::findcnbyip::ip = (::atools::maskip $arg1) ::atools::findcnbyip::res = -1 loop ::atools::findcnbyip::i (+ (highestcn) 1) [ if (isclient $::atools::findcnbyip::i) [ ::atools::findcnbyip::player_ip = (::atools::maskip (player $::atools::findcnbyip::i ip)) if (strcmp $::atools::findcnbyip::player_ip $::atools::findcnbyip::ip) [ ::atools::findcnbyip::res = $::atools::findcnbyip::i ] ] ] result $::atools::findcnbyip::res ] addListOnQuit [::atools::findcnbyip::ip ::atools::findcnbyip::res ::atools::findcnbyip::i ::atools::findcnbyip::player_ip] docident [abanip] [Bans the specified player by IP as admin. Prints player IP to console and screenshots it.] docargument [IP] [The player to ban] [IP string] [0] docargument [R] [Ban reason, will be extended if too short or replaced with a default if empty] [] [0] abanip = [ ::atools::abanip::ip = $arg1 ::atools::abanip::reason = $arg2 ::atools::abanip::cn = (findcnbyip $::atools::abanip::ip) if (= $::atools::abanip::cn -1) [ echo (concatword "No player with IP matching " (::atools::maskip $::atools::abanip::ip)) ] [ aban $::atools::abanip::cn $::atools::abanip::reason ] ] addListOnQuit [::atools::abanip::ip ::atools::abanip::reason ::atools::abanip::cn] docident [whoare] [Echo the list of connected players and their IPs.] whoare = [ loop ::atools::whoare::i (+ (highestcn) 1) [ if (isclient $::atools::whoare::i) [ ::atools::whoare::name = (player $::atools::whoare::i name) ::atools::whoare::ip = (player $::atools::whoare::i ip) echo (concatword $::atools::whoare::name " (" $::atools::whoare::i "): " $::atools::whoare::ip) ] ] ] addListOnQuit [::atools::whoare::i ::atools::whoare::name ::atools::whoare::ip] docident [awhoare] [Echo the list of connected players and their IPs as admin.] awhoare = [ withadmin [ whoare ] ] docident [atools_group] [Add a server group.] docargument [N] [Group name] [Single word, some punctuation is allowed] [0] docargument [P] [Password] [Optional] [0] docremark [If the group already exists, its password is updated, if provided.] atools_group = [ ::atools::group::name = $arg1 ::atools::group::password = $arg2 ::atools::group::error = (::amenu::validate_group $::atools::group::name) if (strcmp $::atools::group::error "") [ ::atools::group::password_var = (::amenu::get_password_var $::atools::group::name) if (checkalias $::atools::group::password_var) [ if (! (strcmp $::atools::group::password "")) [ ::amenu::perm_alias $::atools::group::password_var $::atools::group::password ] ] [ ::amenu::add_group $::atools::group::name $::atools::group::password ] ] [ echo (concatword (c 3) "Error: " (c 5) $::atools::group::error ".") ] ] addListOnQuit [::atools::group::name ::atools::group::password ::atools::group::error ::atools::group::password_var] docident [atools_server] [Add a server to the last added group.] docargument [IP] [Server IP] [] [0] docargument [P] [Server port] [] [0] docargument [D] [Server description] [Optional] [0] docremark [If the server already exists, its description is updated.] atools_server = [ ::atools::server::ip = $arg1 ::atools::server::port = $arg2 ::atools::server::descr = $arg3 ::atools::server::group = (getalias "::atools::group::name") ::atools::server::error = (::amenu::validate_server $::atools::server::ip $::atools::server::port $::atools::server::group) if (strcmp $::atools::server::error "") [ ::atools::server::descr_var = (::amenu::get_descr_var $::atools::server::ip $::atools::server::port) if (checkalias $::atools::server::descr_var) [ if (! (strcmp $::atools::server::descr "")) [ ::amenu::perm_alias $::atools::server::descr_var $::atools::server::descr ] ] [ ::amenu::add_server $::atools::server::ip $::atools::server::port $::atools::server::group $::atools::server::descr ] ] [ echo (concatword (c 3) "Error: " (c 5) $::atools::server::error ".") ] ] addListOnQuit [::atools::server::ip ::atools::server::port ::atools::server::descr ::atools::server::group ::atools::server::error ::atools::server::descr_var] ::atools::reset_default_groups = [ atools_group w00p atools_server 62.210.131.155 1999 "Aura 1" atools_server 62.210.131.155 2999 "Aura 2" atools_server 62.210.131.155 3999 "Aura 3" atools_server 62.210.131.155 4999 "Aura 4" atools_server 62.210.131.155 10000 "Aura Ladder 1" atools_server 62.210.131.155 28763 "Aura Ladder 2" atools_server 45.34.167.87 1999 "Califa 1" atools_server 45.34.167.87 28763 "Califa Ladder" atools_group frag.gq atools_server 154.127.61.199 5500 "Selenium - Johannesburg, South Africa" atools_server 154.127.61.199 5555 "Cadmium - Johannesburg, South Africa" atools_server 139.59.2.63 5500 "Sodium - Bangalore, India" atools_server 139.59.2.63 5555 "Aluminum - Bangalore, India" atools_server 107.191.56.242 5500 "Radium - Sydney, Australia" atools_server 107.191.56.242 5555 "Cobalt - Sydney, Australia" atools_server 185.99.132.109 5500 "Rubidium - New Zealand" atools_server 185.99.132.109 5555 "Nickel - New Zealand" atools_server 31.220.7.213 5500 "Carbon - Stockholm, Sweden" atools_server 31.220.7.213 5555 "Tungsten - Stockholm, Sweden" atools_server 81.4.107.119 5500 "Krypton - Alblasserdam, Netherlands" atools_server 81.4.107.119 5555 "Iron - Alblasserdam, Netherlands" atools_server 192.99.139.152 5500 "Oxygen - Montreal, Canada" atools_server 192.99.139.152 5555 "Titanium - Montreal, Canada" atools_server 149.56.249.50 5500 "Neon - Quebec, Canada" atools_server 149.56.249.50 5555 "Zinc - Quebec, Canada" atools_server 45.58.49.82 5500 "Lithium - Atlanta, Georgia" atools_server 45.58.49.82 5555 "Gold - Atlanta, Georgia" atools_server 45.58.52.254 5500 "Arsenic - Dallas, Texas" atools_server 45.58.52.254 5555 "Niobium - Dallas, Texas" atools_server 104.223.64.157 5500 "Nitrogen - Los Angeles, California" atools_server 104.223.64.157 5555 "Silver - Los Angeles, California" atools_server 107.191.116.149 5500 "Hydrogen - Seattle, Washington" atools_server 107.191.116.149 5555 "Platinum - Seattle, Washington" atools_server 181.41.217.37 9999 "Brazil Public #1 - Sao Paulo, Brazil" atools_server 181.41.217.37 1111 "Brazil Match #1 - Sao Paulo, Brazil" atools_server 191.96.4.182 9999 "Brazil Public #2 - Sao Paulo, Brazil" atools_server 191.96.4.182 1111 "Brazil Match #2 - Sao Paulo, Brazil" atools_group PSY atools_server 151.80.242.147 8000 "[PSY]Brussels" atools_server 151.80.242.147 9000 "[PSY]Matches" atools_server 151.80.242.147 10000 "[PSY]Training/Mapping" atools_server 151.80.242.147 16000 "[PSY]Friends" atools_server 151.80.242.147 28763 "[PSY]Public" atools_group BVH atools_server 212.51.143.140 28900 "BVH 1VS1 #1" atools_server 212.51.143.140 28902 "BVH 1VS1 #2" atools_server 212.51.143.140 28904 "BVH 2VS2 #3" atools_server 212.51.143.140 28906 "BVH 2VS2 #4" atools_server 212.51.143.140 28908 "BVH 4VS4 #5" atools_server 212.51.143.140 28910 "BVH 4VS4 #6" atools_server 212.51.143.140 28912 "BVH 8VS8 #7" atools_server 212.51.143.140 28914 "BVH 8VS8 #8" atools_group aCKa atools_server 37.187.176.129 9000 "[aCKa]Custom" atools_server 37.187.176.129 9002 "[aCKa]Nostalgic" atools_server 37.187.176.129 9999 "[aCKa]Assault" atools_server 37.187.176.129 28765 "[aCKa]Europa" atools_group SE atools_server 46.239.122.33 29762 "Jelly Club |SE| Me0w" atools_server 46.239.122.33 29764 "Marshmallow |SE|" atools_server 46.239.122.33 29766 "BunnyCOOP* |SE|" atools_group Pi_ atools_server 139.59.142.56 5000 "Pi_ Public #1" atools_server 139.59.142.56 6000 "Pi_ Public #2" atools_server 139.59.142.56 7000 "Pi_ Public #3" atools_server 139.59.142.56 5555 "Pi_ Match #1" atools_server 139.59.142.56 6666 "Pi_ Match #2" atools_server 139.59.142.56 7777 "Pi_ Private #1" atools_group Brute atools_server 90.191.207.200 28886 "BRUTE (T)OSOK" atools_group Avengers atools_server 137.74.61.119 11111 "Avengers" atools_group German atools_server 93.186.197.163 28763 "[GERMAN] .:[FREE]:." ] persistidents 1 if (! (checkalias ::amenu::groups)) [ ::amenu::groups = "!" bind X ::amenu::show_main_menu ::atools::reset_default_groups ]