Before you install this plugin, read this entire readme file. (several times if necessary) This plugin must be the FIRST or at least before the base or adminmod default plugins in your PLUGIN.INI or it wont work. Before running this plugin, you MUST edit the .sma file to include YOUR ADMINS. The ones included are just for example. If you do not include YOUR admins' wonids in the .sma they will be denied access to commands. /*********************************************************************** * plugin_ejl_adminhierarchy.sma beta version 2.2 March 14/2002 * By: Eric Lidman Alias: Ludwig van Server: GNYSO-2 * * This plugin performs much the same function as the cvar * admin_highlander, except it is more flexible. It allows a group of * top admins to have their complete access (as specified in users.ini) * to admin commands, while admins not in the group will only have * limited access. Admins not in the top group are ranked 11-25. * If there are no admins from the top group on, only one admin, the * highest ranking admin from 11-25 will have their complete access. * So unlike admin_highlander, every admin still gets a little action, * such as access to csay, ban, kick etc., just nothing that affects the * whole server. This is a smarter admin_highlander. Also the rank has * nothing to do with access level. Two admins who have the same access * can be ranked differently. * * This plugin should be useful for servers with many admins. Only * admins in the top rank who are on at the time will have control over * the more "global" commands on the server -- commands which directly * affect more than one player such as admin_gravity or admin_map. * This way admins can argue about what the gravity will be, but only * the top admins can do anything about it -- until they leave, then the * next highest admin in the ranks takes control. It is aimed at keeping * order on the server. * * Known issues: Adminmod has difficulty detecting the first player/admin * or more connecting to the server after a startup or mapchange. As a * result, the plugin might not detect if a higher admin is on since it * relies on adminmod's connect routine to register an admin present. * My plugin tries to correct for this shortcoming in adminmod by * checking to see if a higher admin is on everytime someone chats, but * even this sometimes takes a while to work. Further, when an admin * attempts to use a "global" command, he will be re-registered in the * plugin. So a higher admin will never have his commands denied, even * if he wasnt detected at connect. The only possible error the plugin * can make is letting a lower admin execute global commands while a * higher admin is on -- which can be remedied by time (eventually the * higher admin will be picked up) or by the higher admin asserting his * authority by using a "global" command. * * This plugin also gives partial immunity to all admins. No one can * admin_ban, admin_kick, or admin_vote_kick any admin. Admins without * immunity in their access can still be slapped, slayed etc. This is * just a precaution to keep lower admins from gaining power by * kicking/banning higher admins. * * This plugin uses WONIDs for admin identification so it will not work * for lan games. WONIDs for your admins MUST be entered into the .sma. * * Make sure admin_highlander is set to 0 -- not 1 in your server.cfg * **********************************************************************/ //////////////////////////////////////////////////////////////////////// // More explanation as it appears in plugin_ejl_adminhierarchy.sma // // // example: #define ADMIN_01 // // // // // ADMIN_01 - ADMIN_10 are not subject to the admin hierarchy // // system and can all use any commands they already have access // // to simultaneously with other 1-10 admins. If you only have one // // or two top admins fill up the rest of the slots up to ADMIN_10 // // with the wonid of ADMIN_01. // // ADMIN_11 - ADMIN_25 are subject to the admin hierachy system, // // only the highest rank (11=highset 25=lowest) admin who is // // connected at the time can be can be the top admin on the server. // // Top admin is the only one who can do the more global commands, // // such as set the server's gravity or to change the map. If an // // admin from ADMIN_01 - ADMIN_10 is connected, no ADMIN_11 - // // ADMIN_25 will have their full power. Fill the empty slots in // // 11-25 with the lowest admin's wonid. // // // //////////////////////////////////////////////////////////////////////// Examples of how to enter your admins' info into the plugin: Only change the wonid and nicknames -- dont touch the "#define ADMIN_01" rank wonid // nickname (nickname not required) #define ADMIN_01 1748214 //lud #define ADMIN_02 1787990 //vodka #define ADMIN_03 69763 //floppy #define ADMIN_04 1152958 //alex #define ADMIN_05 1007840 //ben #define ADMIN_06 1035154 //vivaldi #define ADMIN_07 1035154 //nighthawk #define ADMIN_08 1731928 //DJ #define ADMIN_09 451889 //yuna #define ADMIN_10 451889 //////////////////////////////////////////////////////////////////////// #define ADMIN_11 552732 //al #define ADMIN_12 1580904 //kao #define ADMIN_13 1970123 //dark #define ADMIN_14 2236520 //mirr #define ADMIN_15 562636 //smallie #define ADMIN_16 2248937 //kreepy #define ADMIN_17 1589589 //fatcop #define ADMIN_18 1589589 #define ADMIN_19 1589589 #define ADMIN_20 1589589 #define ADMIN_21 1589589 #define ADMIN_22 1589589 #define ADMIN_23 1589589 #define ADMIN_24 1589589 #define ADMIN_25 1589589 Once you have your admins set in the plugin, you can compile it and put it on your server. Commands limited (considered "global") by this plugin: admin_map admin_denymap admin_fraglimit admin_cancelvote admin_prematch admin_teamplay admin_balance admin_pause admin_unpause admin_reload admin_pass admin_nopass admin_gravity admin_matrix admin_friendlyfire admin_restartround admin_timelimit admin_slayteam admin_hostname admin_cfg admin_servercfg admin_timebombs admin_fun admin_disco admin_t admin_ct admin_stack admin_lineup admin_enableallweapons admin_enableweapon admin_enablemenu admin_enableequipment admin_restrictallweapons admin_restrictweapon admin_restrictmenu admin_restrictequipment admin_rcon admin_execall admin_execclient admin_execteam