groups.conf 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  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. /* no commands by default */
  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. command_enable: 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. }
  121. },
  122. {
  123. id: 2
  124. name: "Support"
  125. inherit: ( "Super Player" )
  126. level: 1
  127. commands: {
  128. version: true
  129. where: true
  130. jumpto: true
  131. who: true
  132. who2: true
  133. who3: true
  134. whomap: true
  135. whomap2: true
  136. whomap3: true
  137. users: true
  138. broadcast: true
  139. localbroadcast: true
  140. }
  141. log_commands: true
  142. permissions: {
  143. receive_requests: true
  144. view_equipment: true
  145. }
  146. },
  147. {
  148. id: 3
  149. name: "Script Manager"
  150. inherit: ( "Support" )
  151. level: 1
  152. commands: {
  153. tonpc: true
  154. hidenpc: true
  155. shownpc: true
  156. loadnpc: true
  157. unloadnpc: true
  158. npcmove: true
  159. addwarp: true
  160. }
  161. log_commands: true
  162. permissions: {
  163. any_warp: true
  164. }
  165. },
  166. {
  167. id: 4
  168. name: "Event Manager"
  169. inherit: ( "Support" )
  170. level: 1
  171. commands: {
  172. monster: true
  173. monstersmall: true
  174. monsterbig: true
  175. killmonster2: true
  176. cleanarea: true
  177. cleanmap: true
  178. item: [true, true]
  179. zeny: [true, true]
  180. disguise: [true, true]
  181. undisguise: [true, true]
  182. size: [true, true]
  183. raise: true
  184. raisemap: true
  185. day: true
  186. night: true
  187. skillon: true
  188. skilloff: true
  189. pvpon: true
  190. pvpoff: true
  191. gvgon: true
  192. gvgoff: true
  193. allowks: true
  194. me: true
  195. marry: true
  196. divorce: true
  197. refreshall: true
  198. }
  199. log_commands: true
  200. permissions: {
  201. can_trade: false
  202. any_warp: true
  203. }
  204. },
  205. {
  206. id: 5
  207. name: "VIP"
  208. inherit: ( "Player" ) /* can do everything Players can */
  209. level: 0
  210. commands: {
  211. rates: true
  212. who: true
  213. }
  214. permissions: {
  215. /* no permissions by default */
  216. }
  217. },
  218. {
  219. id: 10
  220. name: "Law Enforcement"
  221. inherit: ( "Support" )
  222. level: 2
  223. commands: {
  224. hide: true
  225. follow: true
  226. kick: true
  227. disguise: true
  228. fakename: true
  229. option: true
  230. speed: true
  231. warp: true
  232. kill: true
  233. recall: true
  234. ban: true
  235. block: true
  236. jail: true
  237. jailfor: true
  238. mute: true
  239. storagelist: true
  240. cartlist: true
  241. itemlist: true
  242. stats: true
  243. }
  244. log_commands: true
  245. permissions: {
  246. join_chat: true
  247. kick_chat: true
  248. hide_session: true
  249. who_display_aid: true
  250. hack_info: true
  251. any_warp: true
  252. view_hpmeter: true
  253. }
  254. },
  255. {
  256. id: 99
  257. name: "Admin"
  258. level: 99
  259. inherit: ( "Support", "Law Enforcement" )
  260. commands: {
  261. /* not necessary due to all_commands: true */
  262. }
  263. log_commands: true
  264. permissions: {
  265. can_trade: true
  266. can_party: true
  267. all_skill: false
  268. all_equipment: false
  269. skill_unconditional: false
  270. use_check: true
  271. use_changemaptype: true
  272. all_commands: true
  273. channel_admin: true
  274. can_trade_bounded: true
  275. item_unconditional: false
  276. bypass_stat_onclone: true
  277. bypass_max_stat: true
  278. /* all_permission: true */
  279. }
  280. }
  281. )