groups.conf 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  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. }
  79. },
  80. {
  81. id: 1
  82. name: "Super Player"
  83. inherit: ( "Player" ) /* can do everything Players can and more */
  84. level: 0
  85. commands: {
  86. /* informational commands */
  87. commands: true
  88. charcommands: true
  89. help: true
  90. rates: true
  91. uptime: true
  92. showdelay: true
  93. exp: true
  94. mobinfo: true
  95. iteminfo: true
  96. whodrops: true
  97. time: true
  98. jailtime: true
  99. hominfo: true
  100. homstats: true
  101. showexp: true
  102. showzeny: true
  103. whereis: true
  104. /* feature commands */
  105. refresh: true
  106. noask: true
  107. noks: true
  108. main: true
  109. autoloot: true
  110. alootid: true
  111. autotrade: true
  112. request: true
  113. go: true
  114. }
  115. permissions: {
  116. }
  117. },
  118. {
  119. id: 2
  120. name: "Support"
  121. inherit: ( "Super Player" )
  122. level: 1
  123. commands: {
  124. version: true
  125. where: true
  126. jumpto: true
  127. who: true
  128. who2: true
  129. who3: true
  130. whomap: true
  131. whomap2: true
  132. whomap3: true
  133. users: true
  134. broadcast: true
  135. localbroadcast: true
  136. }
  137. log_commands: true
  138. permissions: {
  139. receive_requests: true
  140. view_equipment: true
  141. }
  142. },
  143. {
  144. id: 3
  145. name: "Script Manager"
  146. inherit: ( "Support" )
  147. level: 1
  148. commands: {
  149. tonpc: true
  150. hidenpc: true
  151. shownpc: true
  152. loadnpc: true
  153. unloadnpc: true
  154. npcmove: true
  155. addwarp: true
  156. }
  157. log_commands: true
  158. permissions: {
  159. any_warp: true
  160. }
  161. },
  162. {
  163. id: 4
  164. name: "Event Manager"
  165. inherit: ( "Support" )
  166. level: 1
  167. commands: {
  168. monster: true
  169. monstersmall: true
  170. monsterbig: true
  171. killmonster2: true
  172. cleanmap: true
  173. item: [true, true]
  174. zeny: [true, true]
  175. disguise: [true, true]
  176. undisguise: [true, true]
  177. size: [true, true]
  178. raise: true
  179. raisemap: true
  180. day: true
  181. night: true
  182. skillon: true
  183. skilloff: true
  184. pvpon: true
  185. pvpoff: true
  186. gvgon: true
  187. gvgoff: true
  188. allowks: true
  189. me: true
  190. marry: true
  191. divorce: true
  192. }
  193. log_commands: true
  194. permissions: {
  195. can_trade: false
  196. any_warp: true
  197. }
  198. },
  199. {
  200. id: 10
  201. name: "Law Enforcement"
  202. inherit: ( "Support" )
  203. level: 2
  204. commands: {
  205. hide: true
  206. follow: true
  207. kick: true
  208. disguise: true
  209. fakename: true
  210. option: true
  211. speed: true
  212. warp: true
  213. kill: true
  214. recall: true
  215. ban: true
  216. block: true
  217. jail: true
  218. jailfor: true
  219. mute: true
  220. storagelist: true
  221. cartlist: true
  222. itemlist: true
  223. stats: true
  224. }
  225. log_commands: true
  226. permissions: {
  227. join_chat: true
  228. kick_chat: true
  229. hide_session: true
  230. who_display_aid: true
  231. hack_info: true
  232. any_warp: true
  233. view_hpmeter: true
  234. }
  235. },
  236. {
  237. id: 99
  238. name: "Admin"
  239. level: 99
  240. inherit: ( "Support", "Law Enforcement" )
  241. commands: {
  242. /* not necessary due all_commands: true */
  243. }
  244. log_commands: true
  245. permissions: {
  246. can_trade: true
  247. can_party: true
  248. all_skill: false
  249. all_equipment: false
  250. skill_unconditional: false
  251. use_check: true
  252. use_changemaptype: true
  253. all_commands: true
  254. }
  255. }
  256. )