123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- /*
- 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
- --------------
- <id>
- Unique group number. The only required field.
- <name>
- 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
- (db/item_trade.txt).
- <commands>
- A group of settings
- <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
- 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
- atcommandlog. If setting is omitted in a group definition, false is assumed.
- Requires 'log_commands' to be enabled in 'conf/log_athena.conf'.
- <permissions>
- A group of settings
- <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
- 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: {
- changedress: true
- }
- permissions: {
- /* without this basic permissions regular players could not
- trade or party */
- can_trade: true
- can_party: true
- attendance: 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
- autoloottype: true
- autotrade: true
- request: true
- go: true
- breakguild: true
- channel: true
- langtype: true
- }
- permissions: {
- attendance: false
- }
- },
- {
- 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
- }
- log_commands: true
- permissions: {
- receive_requests: true
- view_equipment: 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: 1
- commands: {
- monster: true
- monstersmall: true
- monsterbig: true
- killmonster2: true
- cleanarea: true
- cleanmap: true
- item: [true, true]
- zeny: [true, true]
- disguise: [true, true]
- undisguise: [true, true]
- size: [true, true]
- raise: true
- raisemap: true
- day: true
- night: true
- skillon: true
- skilloff: true
- pvpon: true
- pvpoff: true
- gvgon: true
- gvgoff: true
- allowks: true
- me: true
- marry: true
- divorce: true
- refreshall: true
- }
- log_commands: true
- permissions: {
- can_trade: false
- any_warp: true
- }
- },
- {
- id: 5
- name: "VIP"
- inherit: ( "Player" ) /* can do everything Players can */
- level: 0
- commands: {
- rates: true
- who: true
- }
- permissions: {
- /* no permissions by default */
- }
- },
- {
- id: 10
- name: "Law Enforcement"
- inherit: ( "Support" )
- level: 2
- 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
- }
- 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
- }
- },
- {
- 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
- command_enable: 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
- bypass_stat_onclone: true
- bypass_max_stat: true
- /* all_permission: true */
- }
- }
- )
|