diff options
-rw-r--r-- | conf/groups.conf | 425 |
1 files changed, 139 insertions, 286 deletions
diff --git a/conf/groups.conf b/conf/groups.conf index 60271a5b..8ebf7341 100644 --- a/conf/groups.conf +++ b/conf/groups.conf @@ -4,7 +4,7 @@ Player groups configuration file This file defines "player groups" and their privileges. -Each group has its id and name, lists of available commands and other +Each group has its id and name, lists of available commands and other permissions, and a list of other groups it inherits from. @@ -14,42 +14,42 @@ Group settings Unique group number. The only required field. <name> -Any string. If empty, defaults to "Group <id>". It is used in several @who +Any string. If empty, defaults to "Group <id>". It is used in several @who commands. <level> -Equivalent of GM level, which was used in revisions before r15572. You can -set it to any number, but usually it's between 0 (default) and 99. Members of -groups with lower level can not perform some actions/commands (like @kick) on -members of groups with higher level. It is what script command getgmlevel() -returns. Group level can also be used to override trade restrictions +Equivalent of GM level, which was used in revisions before r15572. You can +set it to any number, but usually it's between 0 (default) and 99. Members of +groups with lower level can not perform some actions/commands (like @kick) on +members of groups with higher level. It is what script command getgmlevel() +returns. Group level can also be used to override trade restrictions (db/item_trade.txt). <commands> A group of settings - <command name> : <bool> +<command name> : <bool> or - <commandname> : [ <bool>, <bool> ] -First boolean value is for atcommand, second one for charcommand. If set to -true, group can use command. If only atcommand value is provided, false is -assumed for charcommand. If a command name is not included, false is assumed for +<commandname> : [ <bool>, <bool> ] +First boolean value is for atcommand, second one for charcommand. If set to +true, group can use command. If only atcommand value is provided, false is +assumed for charcommand. If a command name is not included, false is assumed for both atcommand and charcommand. For a full list of available commands, see: doc/atcommands.txt. Command names must not be aliases. <log_commands> -Boolean value. If true then all commands used by the group will be logged to +Boolean value. If true then all commands used by the group will be logged to atcommandlog. If setting is omitted in a group definition, false is assumed. Requires 'log_commands' to be enabled in 'conf/logs.conf'. <permissions> A group of settings - <permission> : <bool> +<permission> : <bool> If a permission is not included, false is assumed. For a full list of available permissions, see: doc/permissions.txt <inherit> -A list of group names that given group will inherit commands and permissions +A list of group names that given group will inherit commands and permissions from. Group names are case-sensitive. Inheritance results @@ -57,121 +57,109 @@ Inheritance results Both multiple inheritance (Group 2 -> Group 1 and Group 3 -> Group 1) and recursive inheritance (Group 3 -> Group 2 -> Group 1) are allowed. -Inheritance rules should not create cycles (eg Group 1 inherits from Group 2, -and Group inherits from Group 1 at the same time). Configuration with cycles is +Inheritance rules should not create cycles (eg Group 1 inherits from Group 2, +and Group inherits from Group 1 at the same time). Configuration with cycles is considered faulty and can't be processed fully by server. -Command or permission is inherited ONLY if it's not already defined for the +Command or permission is inherited ONLY if it's not already defined for the group. -If group inherits from multiple groups, and the same command or permission is -defined for more than one of these groups, it's undefined which one will be +If group inherits from multiple groups, and the same command or permission is +defined for more than one of these groups, it's undefined which one will be inherited. Syntax ------ -This config file uses libconfig syntax: +This config file uses libconfig syntax: http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files - -0: Player -1: Trusted Player - -20/21: Support (Trusted Player + Common) - -40/41: Developer (Support + DEV) - -50/51: Event Coordinator (Support + EVTC) - -60/61: Game Master (Support + GM) - -80/81: Community Coordinator (Support + DEV + EVTC + GM) - -99: Administrator (All Perms) - -NYI commands: -hairstyle and haircolor (use @debug-look) -snow, sakura, clouds, clouds2, fog, fireworks, leaves, clearweather -changesex (faulty) -misceffect (I don't understand) - */ groups: ( { id: 0 /* group 0 is the default group for every new account */ - name: "Player" + name: "Tester" level: 0 inherit: ( /*empty list*/ ) commands: { - help: true - commands: true duel: true accept: true reject: true invite: true leave: true - noask: true // Autoreject duels + whogm: true email: true - request: true - time: true - jailtime: true + commands: true + help: true rates: true - breakguild: true - changegm: true - // Bugfix-level commands - hominfo: true - refresh: true - // KillSteal commands (???) - noks: true - } - permissions: { - /* without this basic permissions regular players could not - trade or party */ - can_trade: true - can_party: true - } -}, -// ===== Trusted Players and Bots -{ - id: 1 - name: "Trusted Player" - inherit: ( "Player" ) /* can do everything Players can and more */ - level: 1 - commands: { - // Information Commands - whogm: true uptime: true - charcommands: true - exp: true + showdelay: true mobinfo: true iteminfo: true whodrops: true + time: true + jailtime: true + hominfo: true homstats: true - whereis: true - tee: true - log: true - // Server Spam Limit commands showexp: true showzeny: true - showdelay: true - // Community Commands + whereis: true + refresh: true + noask: true + autoloot: true + alootid: true + autoloottype: true + request: true + breakguild: true channel: true - // Convenience Commands - autotrade: true + tee: true + log: true + version: true + jumpto: true + tonpc: true + save: true + load: true + monsterignore: true + warp: true + jump: true + heal: true + alive: true + dropall: true + item: true + item2: true + produce: true + refine: true + zeny: true + storage: true + repairall: true + storeall: true + itemreset: true + clearstorage: true + killable: true + speed: true + slide: true + blvl: true + jlvl: true + agi: true + vit: true + int: true + str: true + dex: true + luk: true + allstats: true + streset: true } - log_commands: true permissions: { - show_client_version: true + /* without this basic permissions regular players could not + trade or party */ + can_trade: true + can_party: true } }, -// ===== Support { - id: 20 - name: "Support" - inherit: ( "Trusted Player" ) - level: 20 + id: 1 + name: "Super Tester" + inherit: ( "Tester" ) /* can do everything Testers can and more */ + level: 2 commands: { - // Information Commands - version: true where: [true, true] who: true who2: true @@ -180,83 +168,63 @@ groups: ( whomap2: true whomap3: true users: true + mapinfo: true + gat: true mobsearch: true idsearch: true showmobs: true skillid: true - // Movement Commands - tonpc: true - jumpto: true - warp: true - jump: true - slide: true - memo: true - save: true - load: true - hugo: true - linus: true - // Community Commands - broadcast: true - localbroadcast: true - hidenpc: true - shownpc: true - stats: [true, true] - refresh: [true, true] - // Moderation Commands - kick: true - mute: true - unmute: true - // Convenience Commands - monsterignore: true - autoloot: true - alootid: true - autoloottype: true - storage: true - mail: true - effect: true + skilltree: true + hide: true + follow: true + heal: [true, true] + alive: [true, true] + monster: true + monstersmall: true + monsterbig: true + killmonster2: true + clone: [true, true] + slaveclone: [true, true] + evilclone: [true, true] + cleargstorage: true + killer: true + } + permissions: { + show_client_version: true + } +}, +{ + id: 20 + name: "Support Tester" + level: 20 + inherit: ( "Super Tester" ) + commands: { + /* dupe */ } log_commands: true permissions: { - send_gm: true - receive_requests: true - view_equipment: true } }, { id: 21 - name: "Support (Hidden)" - inherit: ( "Support" ) + name: "Support Tester (Hidden)" level: 20 + inherit: ( "Super Tester" ) commands: { + /* dupe */ } log_commands: true permissions: { send_gm: false } }, -// ===== Developer { id: 40 - name: "Developer" - inherit: ( "Support" ) + name: "Dev Tester" level: 40 + inherit: ( "Super Tester" ) commands: { - npcmove: true - day: true - night: true - gat: true - skilltree: true - heal: true - alive: true - loadnpc: true - unloadnpc: true - reloadnpc: true - delitem: true - refine: true - speed: true - itemreset: true - reset: true - mapinfo: true + /* dupe */ } log_commands: true permissions: { @@ -264,46 +232,24 @@ groups: ( }, { id: 41 - name: "Developer (Hidden)" - inherit: ( "Developer" ) + name: "Dev Tester (Hidden)" level: 40 + inherit: ( "Super Tester" ) commands: { + /* dupe */ } log_commands: true permissions: { send_gm: false } }, -// ===== Event Coordinator { id: 50 - name: "Event Coordinator" - inherit: ( "Support" ) + name: "EVTC Tester" level: 50 + inherit: ( "Super Tester" ) commands: { - fakename: true - invisible: true - - // Community Commands - heal: [true, true] - alive: [true, true] - monster: [true, true] - monstersmall: [true, true] - monsterbig: [true, true] - summon: [true, true] - killmonster2: [true, true] - cleanarea: [true, true] - cleanmap: true - clone: [true, true] - slaveclone: [true, true] - evilclone: [true, true] - disguise: [true, true] - undisguise: [true, true] - pvpon: true - pvpoff: true - gvgon: true - gvgoff: true - npctalk: true + /* dupe */ } log_commands: true permissions: { @@ -311,171 +257,78 @@ groups: ( }, { id: 51 - name: "Event Coordinator (Hidden)" - inherit: ( "Event Coordinator" ) + name: "EVTC Tester (Hidden)" level: 50 + inherit: ( "Super Tester" ) commands: { + /* dupe */ } log_commands: true permissions: { send_gm: false } }, -// ===== Game Master { id: 60 - name: "Game Master" - inherit: ( "Support" ) + name: "GM Tester" level: 60 + inherit: ( "Super Tester" ) commands: { - blvl: [true, true] - jlvl: [true, true] - str: [true, true] - agi: [true, true] - vit: [true, true] - int: [true, true] - dex: [true, true] - luk: [true, true] - allstats: true - invisible: true - speed: [true, true] - guild: [true, true] - - // Moderation Commands - jailfor: true - jail: true - unjail: true - ban: true - block: true - unban: true - delitem: [true, true] - mutearea: true - reset: [true, true] - itemreset: [true, true] - dropall: [true, true] - storeall: [true, true] - accinfo: true - storagelist: [true, true] - cartlist: [true, true] - itemlist: [true, true] - - // Community Commands - heal: [true, true] - alive: [true, true] - slide: [true, true] - warp: [true, true] - killer: true - killable: true - pvpon: true - pvpoff: true - gvgon: true - gvgoff: true - cvcon: true - cvcoff: true - killmonster: [true, true] - killmonster2: [true, true] - recall: true - cleanmap: true - nuke: [true, true] - skillon: true - skilloff: true - raisemap: true - npctalk: true - + /* dupe */ } log_commands: true permissions: { - who_display_aid: true - view_hpmeter: true - join_chat: true - kick_chat: true - hide_session: true - hack_info: true } }, { id: 61 - name: "Game Master (Hidden)" - inherit: ( "Game Master" ) + name: "GM Tester (Hidden)" level: 60 + inherit: ( "Super Tester" ) commands: { + /* dupe */ } log_commands: true permissions: { send_gm: false } }, -// ===== Community Coordinator (GM/DEV) { id: 80 - name: "Community Coordinator" - inherit: ( "Support", "Developer", "Event Coordinator", "Game Master" ) + name: "Coom Tester" level: 80 + inherit: ( "Super Tester" ) commands: { - addwarp: true - refine: [true, true] - repairall: [true, true] - allowks: true - item: [true, true] - item2: [true, true] - itembound: [true, true] - itembound2: [true, true] - zeny: [true, true] - - // Community Commands - raise: true - partyrecall: true - guildrecall: true - doom: true - doommap: true - refreshall: true // Use with caution - effect: [true, true] - marry: [true, true] // Use with caution - divorce: true - - // Change status and options - displaystatus: [true, true] - option: [true, true] - partyoption: [true, true] - - // Moderation Commands - clearstorage: true - cleargstorage: true - recallall: true - breakguild: [true, true] - changeleader: [true, true] - + /* dupe */ } log_commands: true permissions: { - any_warp: true } }, { id: 81 - name: "Community Coordinator (Hidden)" - inherit: ( "Community Coordinator" ) + name: "Coom Tester (Hidden)" level: 80 + inherit: ( "Super Tester" ) commands: { + /* dupe */ } log_commands: true permissions: { send_gm: false } }, -// ===== Administrator -// (There isn't a hidden admin yet) { id: 99 - name: "Administrator" + name: "Developer" level: 99 - inherit: ( "Community Coordinator" ) + inherit: ( "Super Tester" ) commands: { /* not necessary due to all_commands: true */ } log_commands: true permissions: { - can_trade_bound: false + can_trade_bound: true can_party: true all_skill: false all_equipment: true |