From 8a4bf716002a017de77fe7df301ef8e4aaf00a2e Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 9 Apr 2021 11:00:49 -0300 Subject: Initial commit --- conf/groups.conf | 489 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 489 insertions(+) create mode 100644 conf/groups.conf (limited to 'conf/groups.conf') 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 +-------------- + +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/logs.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 + +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 + } +} +) -- cgit v1.2.3-60-g2f50