groups.conf 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. /*
  2. Player groups configuration file
  3. ---------------------------------
  4. This file defines "player groups" and their privileges.
  5. Each group has its id and name, lists of available commands and other
  6. permissions, and a list of other groups it inherits from.
  7. Group settings
  8. --------------
  9. <id>
  10. Unique group number. The only required field.
  11. <name>
  12. Any string. If empty, defaults to "Group <id>". It is used in several @who
  13. commands.
  14. <level>
  15. Equivalent of GM level, which was used in revisions before r15572. You can
  16. set it to any number, but usually it's between 0 (default) and 99. Members of
  17. groups with lower level can not perform some actions/commands (like @kick) on
  18. members of groups with higher level. It is what script command getgmlevel()
  19. returns. Group level can also be used to override trade restrictions
  20. (db/item_trade.txt).
  21. <commands>
  22. A group of settings
  23. <command name> : <bool>
  24. or
  25. <commandname> : [ <bool>, <bool> ]
  26. First boolean value is for atcommand, second one for charcommand. If set to
  27. true, group can use command. If only atcommand value is provided, false is
  28. assumed for charcommand. If a command name is not included, false is assumed for
  29. both atcommand and charcommand.
  30. For a full list of available commands, see: doc/atcommands.txt.
  31. Command names must not be aliases.
  32. <log_commands>
  33. Boolean value. If true then all commands used by the group will be logged to
  34. atcommandlog. If setting is omitted in a group definition, false is assumed.
  35. Requires 'log_commands' to be enabled in 'conf/log_athena.conf'.
  36. <permissions>
  37. A group of settings
  38. <permission> : <bool>
  39. If a permission is not included, false is assumed.
  40. For a full list of available permissions, see: doc/permissions.txt
  41. <inherit>
  42. A list of group names that given group will inherit commands and permissions
  43. from. Group names are case-sensitive.
  44. Inheritance results
  45. -------------------
  46. Both multiple inheritance (Group 2 -> Group 1 and Group 3 -> Group 1) and
  47. recursive inheritance (Group 3 -> Group 2 -> Group 1) are allowed.
  48. Inheritance rules should not create cycles (eg Group 1 inherits from Group 2,
  49. and Group inherits from Group 1 at the same time). Configuration with cycles is
  50. considered faulty and can't be processed fully by server.
  51. Command or permission is inherited ONLY if it's not already defined for the
  52. group.
  53. If group inherits from multiple groups, and the same command or permission is
  54. defined for more than one of these groups, it's undefined which one will be
  55. inherited.
  56. Syntax
  57. ------
  58. This config file uses libconfig syntax:
  59. http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files
  60. Upgrading from revisions before r15572
  61. -------------------------------------
  62. http://rathena.org/board/index.php?showtopic=58877
  63. */
  64. groups: (
  65. {
  66. id: 0 /* group 0 is the default group for every new account */
  67. name: "Player"
  68. level: 0
  69. inherit: ( /*empty list*/ )
  70. commands: {
  71. changedress: true
  72. }
  73. permissions: {
  74. /* without this basic permissions regular players could not
  75. trade or party */
  76. can_trade: true
  77. can_party: true
  78. attendance: true
  79. }
  80. },
  81. {
  82. id: 1
  83. name: "Super Player"
  84. inherit: ( "Player" ) /* can do everything Players can and more */
  85. level: 0
  86. commands: {
  87. /* informational commands */
  88. commands: true
  89. charcommands: true
  90. help: true
  91. rates: true
  92. uptime: true
  93. showdelay: true
  94. exp: true
  95. mobinfo: true
  96. iteminfo: true
  97. whodrops: true
  98. time: true
  99. jailtime: true
  100. hominfo: true
  101. homstats: true
  102. showexp: true
  103. showzeny: true
  104. whereis: true
  105. /* feature commands */
  106. refresh: true
  107. noask: true
  108. noks: true
  109. autoloot: true
  110. alootid: true
  111. autoloottype: true
  112. autotrade: true
  113. request: true
  114. go: true
  115. breakguild: true
  116. channel: true
  117. langtype: true
  118. }
  119. permissions: {
  120. attendance: false
  121. }
  122. },
  123. {
  124. id: 2
  125. name: "Support"
  126. inherit: ( "Super Player" )
  127. level: 1
  128. commands: {
  129. version: true
  130. where: true
  131. jumpto: true
  132. who: true
  133. who2: true
  134. who3: true
  135. whomap: true
  136. whomap2: true
  137. whomap3: true
  138. users: true
  139. broadcast: true
  140. localbroadcast: true
  141. }
  142. log_commands: true
  143. permissions: {
  144. receive_requests: true
  145. view_equipment: true
  146. }
  147. },
  148. {
  149. id: 3
  150. name: "Script Manager"
  151. inherit: ( "Support" )
  152. level: 1
  153. commands: {
  154. tonpc: true
  155. hidenpc: true
  156. shownpc: true
  157. loadnpc: true
  158. unloadnpc: true
  159. npcmove: true
  160. addwarp: true
  161. }
  162. log_commands: true
  163. permissions: {
  164. any_warp: true
  165. }
  166. },
  167. {
  168. id: 4
  169. name: "Event Manager"
  170. inherit: ( "Support" )
  171. level: 1
  172. commands: {
  173. monster: true
  174. monstersmall: true
  175. monsterbig: true
  176. killmonster2: true
  177. cleanarea: true
  178. cleanmap: true
  179. item: [true, true]
  180. zeny: [true, true]
  181. disguise: [true, true]
  182. undisguise: [true, true]
  183. size: [true, true]
  184. raise: true
  185. raisemap: true
  186. day: true
  187. night: true
  188. skillon: true
  189. skilloff: true
  190. pvpon: true
  191. pvpoff: true
  192. gvgon: true
  193. gvgoff: true
  194. allowks: true
  195. me: true
  196. marry: true
  197. divorce: true
  198. refreshall: true
  199. }
  200. log_commands: true
  201. permissions: {
  202. can_trade: false
  203. any_warp: true
  204. }
  205. },
  206. {
  207. id: 5
  208. name: "VIP"
  209. inherit: ( "Player" ) /* can do everything Players can */
  210. level: 0
  211. commands: {
  212. rates: true
  213. who: true
  214. }
  215. permissions: {
  216. /* no permissions by default */
  217. }
  218. },
  219. {
  220. id: 10
  221. name: "Law Enforcement"
  222. inherit: ( "Support" )
  223. level: 2
  224. commands: {
  225. hide: true
  226. follow: true
  227. kick: true
  228. disguise: true
  229. fakename: true
  230. option: true
  231. speed: true
  232. warp: true
  233. kill: true
  234. recall: true
  235. ban: true
  236. block: true
  237. jail: true
  238. jailfor: true
  239. mute: true
  240. storagelist: true
  241. cartlist: true
  242. itemlist: true
  243. stats: true
  244. }
  245. log_commands: true
  246. permissions: {
  247. join_chat: true
  248. kick_chat: true
  249. hide_session: true
  250. who_display_aid: true
  251. hack_info: true
  252. any_warp: true
  253. view_hpmeter: true
  254. }
  255. },
  256. {
  257. id: 99
  258. name: "Admin"
  259. level: 99
  260. inherit: ( "Support", "Law Enforcement" )
  261. commands: {
  262. /* not necessary due to all_commands: true */
  263. }
  264. log_commands: true
  265. permissions: {
  266. can_trade: true
  267. can_party: true
  268. command_enable: true
  269. all_skill: false
  270. all_equipment: false
  271. skill_unconditional: false
  272. use_check: true
  273. use_changemaptype: true
  274. all_commands: true
  275. channel_admin: true
  276. can_trade_bounded: true
  277. item_unconditional: false
  278. bypass_stat_onclone: true
  279. bypass_max_stat: true
  280. /* all_permission: true */
  281. }
  282. }
  283. )