summaryrefslogtreecommitdiff
path: root/conf/groups.conf
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-04-09 11:00:49 -0300
committerJesusaves <cpntb1@ymail.com>2021-04-09 11:00:49 -0300
commit8a4bf716002a017de77fe7df301ef8e4aaf00a2e (patch)
tree4947d0b015baad639fa07133369e9a09c8a468bc /conf/groups.conf
downloadserverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.gz
serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.bz2
serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.xz
serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.zip
Initial commit
Diffstat (limited to 'conf/groups.conf')
-rw-r--r--conf/groups.conf489
1 files changed, 489 insertions, 0 deletions
diff --git a/conf/groups.conf b/conf/groups.conf
new file mode 100644
index 00000000..4e57b899
--- /dev/null
+++ b/conf/groups.conf
@@ -0,0 +1,489 @@
+/*
+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/logs.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
+
+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"
+ level: 0
+ inherit: ( /*empty list*/ )
+ commands: {
+ help: true
+ commands: true
+ duel: true
+ accept: true
+ reject: true
+ invite: true
+ leave: true
+ noask: true // Autoreject duels
+ email: true
+ request: true
+ time: true
+ jailtime: true
+ rates: true
+ breakguild: true
+ changegm: true
+ // Bugfix-level commands
+ hominfo: true
+ refresh: 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
+ mobinfo: true
+ iteminfo: true
+ whodrops: true
+ homstats: true
+ whereis: true
+ tee: true
+ log: true
+ // Server Spam Limit commands
+ showexp: true
+ showzeny: true
+ showdelay: true
+ // Community Commands
+ channel: true
+ // Convenience Commands
+ autotrade: true
+ // KillSteal commands (???)
+ noks: true
+ }
+ log_commands: true
+ permissions: {
+ show_client_version: true
+ }
+},
+// ===== Support
+{
+ id: 20
+ name: "Support"
+ inherit: ( "Trusted Player" )
+ level: 20
+ commands: {
+ // Information Commands
+ version: true
+ where: [true, true]
+ who: true
+ who2: true
+ who3: true
+ whomap: true
+ whomap2: true
+ whomap3: true
+ users: 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
+ }
+ log_commands: true
+ permissions: {
+ send_gm: true
+ receive_requests: true
+ view_equipment: true
+ }
+},
+{
+ id: 21
+ name: "Support (Hidden)"
+ inherit: ( "Support" )
+ level: 20
+ commands: {
+ }
+ log_commands: true
+ permissions: {
+ send_gm: false
+ }
+},
+// ===== Developer
+{
+ id: 40
+ name: "Developer"
+ inherit: ( "Support" )
+ level: 40
+ 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
+ }
+ log_commands: true
+ permissions: {
+ }
+},
+{
+ id: 41
+ name: "Developer (Hidden)"
+ inherit: ( "Developer" )
+ level: 40
+ commands: {
+ }
+ log_commands: true
+ permissions: {
+ send_gm: false
+ }
+},
+// ===== Event Coordinator
+{
+ id: 50
+ name: "Event Coordinator"
+ inherit: ( "Support" )
+ level: 50
+ commands: {
+ fakename: true
+ hide: 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
+ }
+ log_commands: true
+ permissions: {
+ }
+},
+{
+ id: 51
+ name: "Event Coordinator (Hidden)"
+ inherit: ( "Event Coordinator" )
+ level: 50
+ commands: {
+ }
+ log_commands: true
+ permissions: {
+ send_gm: false
+ }
+},
+// ===== Game Master
+{
+ id: 60
+ name: "Game Master"
+ inherit: ( "Support" )
+ level: 60
+ 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
+ hide: 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
+
+ }
+ 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" )
+ level: 60
+ commands: {
+ }
+ log_commands: true
+ permissions: {
+ send_gm: false
+ }
+},
+// ===== Community Coordinator (GM/DEV)
+{
+ id: 80
+ name: "Community Coordinator"
+ inherit: ( "Support", "Developer", "Event Coordinator", "Game Master" )
+ level: 80
+ 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]
+
+ }
+ log_commands: true
+ permissions: {
+ any_warp: true
+ }
+},
+{
+ id: 81
+ name: "Community Coordinator (Hidden)"
+ inherit: ( "Community Coordinator" )
+ level: 80
+ commands: {
+ }
+ log_commands: true
+ permissions: {
+ send_gm: false
+ }
+},
+// ===== Administrator
+// (There isn't a hidden admin yet)
+{
+ id: 99
+ name: "Administrator"
+ level: 99
+ inherit: ( "Community Coordinator" )
+ commands: {
+ /* not necessary due to all_commands: true */
+ }
+ log_commands: true
+ permissions: {
+ can_trade_bound: false
+ can_party: true
+ all_skill: false
+ all_equipment: true
+ skill_unconditional: false
+ use_check: true
+ use_changemaptype: true
+ all_commands: true
+ hchsys_admin: true
+ }
+}
+)