/* 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 permissions, and a list of other groups it inherits from. Group settings -------------- Unique group number. The only required field. Any string. If empty, defaults to "Group ". It is used in several @who commands. 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). A group of settings : or : [ , ] 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. 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/log_athena.conf'. A group of settings : If a permission is not included, false is assumed. For a full list of available permissions, see: doc/permissions.txt A list of group names that given group will inherit commands and permissions from. Group names are case-sensitive. 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 considered faulty and can't be processed fully by server. 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 inherited. Syntax ------ This config file uses libconfig syntax: http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files Upgrading from revisions before r15572 ------------------------------------- http://rathena.org/board/index.php?showtopic=58877 */ groups: ( { id: 0 /* group 0 is the default group for every new account */ name: "Player" level: 0 inherit: ( /*empty list*/ ) commands: { /* no commands by default */ go: true who: true rates: true request: true return: true storage: true duel: true invite: true leave: true accept: true reject: true autoloot: true alootid: true whodrops: true whereis: true noask: true commands: true mi: true ii: true monsterinfo: true iteminfo: true mobinfo: true whodrops: true autotrade: true at: true } permissions: { /* without this basic permissions regular players could not trade or party */ can_trade: true can_party: true any_warp: true } }, { id: 1 name: "Super Player" inherit: ( "Player" ) /* can do everything Players can and more */ level: 0 commands: { /* informational commands */ commands: true charcommands: true help: true rates: true uptime: true showdelay: true exp: true mobinfo: true iteminfo: true whodrops: true time: true jailtime: true hominfo: true homstats: true showexp: true showzeny: true whereis: true /* feature commands */ refresh: true noask: true noks: true autoloot: true alootid: true autotrade: true request: true go: true breakguild: true channel: true langtype: true } permissions: { } }, { id: 2 name: "Support" inherit: ( "Super Player" ) level: 1 commands: { version: true where: true jumpto: true who: true who2: true who3: true whomap: true whomap2: true whomap3: true users: true broadcast: true localbroadcast: true speed: true disguise: true undisguise: true warp: true } log_commands: true permissions: { receive_requests: true view_equipment: true can_trade: false any_warp: true } }, { id: 3 name: "Script Manager" inherit: ( "Support" ) level: 1 commands: { tonpc: true hidenpc: true shownpc: true loadnpc: true unloadnpc: true npcmove: true addwarp: true } log_commands: true permissions: { any_warp: true } }, { id: 4 name: "Event Manager" inherit: ( "Support" ) level: 50 commands: { monster: true monstersmall: true monsterbig: true killmonster2: true cleanarea: true cleanmap: true item: [false, false] zeny: [false, false] disguise: [true, true] undisguise: [true, true] size: [true, true] raise: false raisemap: false day: false night: false skillon: true skilloff: true pvpon: true pvpoff: true gvgon: true gvgoff: true allowks: true me: true marry: true divorce: true refreshall: true partyrecall: true guildrecall: true recall: true speed: true hide: true kami: true kamib: true commands: true broadcast: true localbroadcast: true mi: true ii: true } log_commands: true permissions: { can_trade: true any_warp: true log_commands: true } }, { id: 10 name: "Law Enforcement" inherit: ( "Support" ) level: 70 commands: { hide: true follow: true kick: true disguise: true fakename: true option: true speed: true warp: true kill: true recall: true ban: true block: true jail: true jailfor: true mute: true storagelist: true cartlist: true itemlist: true stats: true partyrecall: true guildrecall: true undisguise: true job: true jlvl: true blvl: true mute: true unmute: true kami: true item: true } log_commands: true permissions: { join_chat: true kick_chat: true hide_session: true who_display_aid: true hack_info: true any_warp: true view_hpmeter: true can_trade: true } }, { id: 99 name: "Admin" level: 99 inherit: ( "Support", "Law Enforcement" ) commands: { /* not necessary due to all_commands: true */ } log_commands: true permissions: { can_trade: true can_party: true all_skill: false all_equipment: false skill_unconditional: false use_check: true use_changemaptype: true all_commands: true channel_admin: true can_trade_bounded: true item_unconditional: false } } )