|
@@ -1,28 +1,73 @@
|
|
|
+-- How to configure the SQL based access level system :
|
|
|
+--
|
|
|
+-- There are two tables.
|
|
|
+--
|
|
|
+-- First one is named acess_levels and it's meant to define the different possible
|
|
|
+-- groups a GM can belong to.
|
|
|
+--
|
|
|
+-- You can see in this table six predefined GM groups. Each group has a different
|
|
|
+-- accessLevel, and GM's access_level in the characters table should match with
|
|
|
+-- one of these. You could define as many groups as needed and give them whatever
|
|
|
+-- number you wanted to, from 1 to 255. Nevertheless please note the fact that
|
|
|
+-- there is one group that will be reserved for allmighty administrators, and this
|
|
|
+-- group is bound to the following rules:
|
|
|
+--
|
|
|
+-- * There's no need/way to restrict the commands this group is able to run, its
|
|
|
+-- members will be able to perform ANY admin_command.
|
|
|
+--
|
|
|
+-- * One number must be reserved for this group, and by default it is set to 127.
|
|
|
+--
|
|
|
+-- * In order to change this default group number or its name/title colors,
|
|
|
+-- you should look at the Character.properties configuration file and
|
|
|
+-- change the value of MasterAccessLevel, MasterNameColor and MasterTitleColor
|
|
|
+-- respectively.
|
|
|
+--
|
|
|
+-- * You should better not use this group as a part of any childs hierarchy.
|
|
|
+--
|
|
|
+-- In our predefined set of examples, access_level=1 is for the highest admin,
|
|
|
+-- and access_level=3 is for Event GMs.
|
|
|
+--
|
|
|
+-- The rest of the access_levels table columns are expected to be self explanatory.
|
|
|
+--
|
|
|
+-- And there is a second table named admin_command_access_rights and in this table
|
|
|
+-- administrators should add every command they wanted GMs to use.
|
|
|
+--
|
|
|
+-- We left just one query here to show how commands should be added to the table:
|
|
|
+--
|
|
|
+-- INSERT IGNORE INTO `admin_command_access_rights` VALUES ('admin_admin','6');
|
|
|
+--
|
|
|
+-- If an administrator wanted to grant his GMs from group 4 the usage of the //para
|
|
|
+-- command, he should just copy our example and replace values like this:
|
|
|
+--
|
|
|
+-- INSERT IGNORE INTO `admin_command_access_rights` VALUES ('admin_para','4');
|
|
|
+--
|
|
|
+-- So on, for each command there should be a record in this table. And it would be
|
|
|
+-- advisable to use one query per command to avoid messups ;)
|
|
|
+
|
|
|
-- ---------------------------------
|
|
|
-- Table structure for access_levels
|
|
|
-- ---------------------------------
|
|
|
CREATE TABLE IF NOT EXISTS `access_levels` (
|
|
|
- `access_level` mediumint(9) NOT NULL,
|
|
|
- `name` varchar(255) NOT NULL default '',
|
|
|
- `name_color` varchar(6) NOT NULL default 'FFFFFF',
|
|
|
- `title_color` varchar(6) NOT NULL default 'FFFFFF',
|
|
|
- `child_access` varchar(255) NOT NULL default '',
|
|
|
- `is_gm` tinyint(1) NOT NULL default 0,
|
|
|
- `allow_peace_attack` tinyint(1) NOT NULL default 0,
|
|
|
- `allow_fixed_res` tinyint(1) NOT NULL default 0,
|
|
|
- `allow_transaction` tinyint(1) NOT NULL default 0,
|
|
|
- `allow_altg` tinyint(1) NOT NULL default 0,
|
|
|
- `give_damage` tinyint(1) NOT NULL default 0,
|
|
|
- `take_aggro` tinyint(1) NOT NULL default 0,
|
|
|
- `gain_exp` tinyint(1) NOT NULL default 0,
|
|
|
- PRIMARY KEY (`access_level`)
|
|
|
+ `accessLevel` MEDIUMINT(9) NOT NULL,
|
|
|
+ `name` VARCHAR(255) NOT NULL DEFAULT '',
|
|
|
+ `nameColor` CHAR(6) NOT NULL DEFAULT 'FFFFFF',
|
|
|
+ `titleColor` CHAR(6) NOT NULL DEFAULT 'FFFFFF',
|
|
|
+ `childAccess` VARCHAR(255) NOT NULL DEFAULT '',
|
|
|
+ `isGm` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
|
+ `allowPeaceAttack` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
|
+ `allowFixedRes` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
|
+ `allowTransaction` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
|
+ `allowAltg` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
|
+ `giveDamage` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
|
+ `takeAggro` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
|
+ `gainExp` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
|
+ PRIMARY KEY (`accessLevel`)
|
|
|
) ;
|
|
|
|
|
|
INSERT IGNORE INTO `access_levels` VALUES
|
|
|
-(1,'Admin','0FF000','FFFFFF','2;3;4;5;6',1,1,1,1,1,1,1,1),
|
|
|
-(2,'Head GM','0C0000','FFFFFF','5;6',0,0,1,1,1,1,1,1),
|
|
|
-(3,'Event GM','00C000','FFFFFF','5;6',0,0,1,0,1,0,0,0),
|
|
|
-(4,'Support GM','000C00','FFFFFF','5;6',0,0,1,0,1,0,0,0),
|
|
|
-(5,'General GM','0000C0','FFFFFF','6',0,0,1,0,1,0,0,0),
|
|
|
-(6,'Test GM','FFFFFF','FFFFFF','','0',0,1,0,1,0,0,0);
|
|
|
-
|
|
|
+(1,'Admin','0FF000','0FF000','2;3;4;5;6',1,1,1,1,1,1,1,1),
|
|
|
+(2,'Head GM','0C0000','0C0000','5;6',0,0,1,1,1,1,1,1),
|
|
|
+(3,'Event GM','00C000','00C000','5;6',0,0,1,0,1,0,0,0),
|
|
|
+(4,'Support GM','000C00','000C00','5;6',0,0,1,0,1,0,0,0),
|
|
|
+(5,'General GM','0000C0','0000C0','6',0,0,1,0,1,0,0,0),
|
|
|
+(6,'Test GM','FFFFFF','FFFFFF','','0',0,1,0,1,0,0,0);
|