Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #====File locations====
  2. #If these files are shared with another mod, you may use '../', to 'go up a folder, from current mod' (For instance, if the file is located in Content/Mods/, and is named 'Specials.yaml', you may specify '../Specials.yaml')
  3. #Note that these files MUST be yaml, and in a valid format.
  4. #String, Location of list containing VIPs, reps of players, (etc?)
  5. SpecialsFile: specialslist.yaml
  6. #String, Location of file used for white/blacklisting users
  7. SecFile: security.yaml
  8. #String, for ingame-commands, what should the namespace be?
  9. NameSpace: SpotGuard
  10. #String, (when responding to the user, or writing DEBUG messages to log), what name do you want the mod to have?
  11. CustomName: "[ff8000]SpotGuard"
  12. #String, if a player asks for help with the mod (via command), what do you want displayed?
  13. ModHelpMessage: Note. You will be kicked if you are AFK for {AFKKick} minutes. Your reputation will change with {RepChange} reputation every {RepOnlineTime} minutes.
  14. #String, Location of file used for MOTD's (seperate from this file, so that it can be updated without loosing all comments)
  15. MOTDfile: MOTD.yaml
  16.  
  17. ###=== Api section. If you want to disable the API, please set 'AllowServer' to 'false'. Otherwise please consider specifying a custom API key!!=====###
  18. AllowServer: true #Boolean, should there be a 'server' running from this mod, listening for external sources
  19. ServerPort: 8089 #int, which port should the server run on? Remember to portforward this, if you want to be able to use it from a domain or similar.
  20. ServerAPIkey: somerandomstring #string, if set, will require this in order to execute commands via the server. IF YOU RUN A SERVER YOU SHOULD CHANGE THIS!
  21. ServerSaveLogfileDir: server #string, which directory do you want this saved to? If you don't want it used, use NA
  22. MasterAPIkey: somerandomstring #string, if you are using multiple that are running on the same port, this should be used, and specified to whichever is started first of the mods' API-key
  23.  
  24. DelayKick: 2 #If you want, you can delay a kick from happening (if an user is kicked to make room for another, they will have this many minutes to land their ship / get to a safe spot / logout themself) (default: 5 minutes)
  25.  
  26. GracePeriod: 2 #After an user disconnects, how long should they keep their spot (in minutes). (If they try to relog within this time, they will be allowed online. Note, that they will count as an 'used spot', untill the time have passed).
  27.  
  28. #For below four strings, and most other strings on this list:
  29. #If you specify {somethingonthislist}, it will be converted to the value of this. For instance, if you write '{TotalMaxSlots}' , and you below have the setting TotalMaxSlots: 10, it will output '10', where you wrote it.
  30. #In most instances, you may use {PlayerName} (players name), {PlayerID} (players steamid), {PlayerClient} (players clientid), {PlayerEntity} (players entityid), {PlayerVIP} (players VIP level), {PlayerRep} (players reputation). Note you can additionally use these, although they are unformatted. {PlayerRepLastUpdated} (timestamp when players rep was last saved to server), {PlayerCon} (timestamp when player connected to server). These are mostly usefull in 'ExecuteCommand' and 'ExecuteTelnetCommand' however.
  31. #If the value is a boolean (true/false, you can convert this to yes/no, by doing {somethingonthislist:tf}. For instance, if your setting 'NeverKickVip: True', and you write '{NeverKickVip}', it would normally output 'True'. If you write '{NeverKickVip:tf}', it would output 'Yes'. If you write '{NeverKickVip:ft}', it will output the opposite (true = no), 'No')
  32. #If you are using a list (ExecuteConsoleCommandOnAdminJoin for instance), it will output each value seperated by a comma. (if you have two commands, 'gm' and 'itemmenu' it would output 'gm, itemmenu')
  33. #String, where can the user find information about VIP / display info about VIP (For instance: 'VIP is giving you <advantages>. You can obtain it from <link>')
  34. VIPInfo: No details about where you can obtain VIP. Sorry =/. Ask your server-manager.
  35. #String, where can the user find information about Reputation / display info about Rep (For instance: 'Reputation allows you to <advantages>. You can improve your reputation by 1, for every online hour, or by voting for the server, at <link>') [If left blank, will display information from RepChange, RepOnlineTime from below. If you use these tags in this one: {RepChange}, {DisallowLessThanRep} or {RepOnlineTime}, it will display the value from these in the message]
  36. RepInfo: You will earn {RepChange} reputation every {RepOnlineTime} minutes. If your rep falls below {DisallowLessThanRep}, you will be kicked.
  37. #Int, how much rep should the user have, to trigger the 'RepInfoSpecial' message? (if above this number, and user is typing !<namespace> rep, it will also display this message. Can be a 'claim prizes at <link>' or 'Thank you for your loyalty'. or anything)
  38. RepTrigger: 5
  39. #String, Custom message, if user have >RepTrigger reputation. Feel free to leave blank.
  40. RepInfoSpecial: Thank you for your loyalty! 5 hours online! cool!
  41.  
  42. #====Basic settings====
  43. #When an user connect: [If user is Admin: [Always allow], else: [If there are less players online, than TotalOpenSlots: [Allow (given high enough rep)]else: [If the player is VIP:[If there are enough TotalMaxSlots: [Allow user]]]]
  44. #Note, user must have high enough rep, if that is required in the settings below. You can also configure what happens when an user connects/doesn't connect due to too little room below (kick-conditions)
  45.  
  46. #The below numbers, TotalMaxSlots, TotalOpenSlots, should depend on your servers specs
  47. #Int, How many slots are open in *TOTAL* (special-permission users, such as admins, can push this limit. VIPs/reps/normals cannot.)
  48. TotalMaxSlots: 10
  49. #Int, How many slots are open to people, that are not VIPs. Number MUST be lower than TotalMaxSlots. ANY player contribute to this, no matter their VIP/admin/rep/.. state.
  50. TotalOpenSlots: 5
  51.  
  52. #Int, this number and above is considered Admin. (3: gm, 6: moderator, 9: administrator). If below is 0 EVERYONE is admin (not recommended). If below is 3, gm,mod,admin is admin.If below is 6, mod,admin is admin. If below is 9, only admin is admin. (Default: 3). Note that changing this, requires a server restart to take effect (for currently online. They can relog aswell)
  53. AdminRank: 3
  54.  
  55. #Boolean, Should users be able to use a command to check when another player was last online? (True = yes, False=No)
  56. PoolLastOnline: true
  57. #Boolean, Should users be able to use a command to check another players stats? (If this is false, the above 'PoolLastOnline' is ignored) (True = yes, False = no)
  58. PoolDataOnOther: true
  59.  
  60. #Int, How many minutes may the player be AFK (not move or rotate)? 0 = disabled (Default: 0) (Note that this will also update the players reputation)
  61. AFKKick: 5
  62. #Int, If the player is AFK-kicked, do you want the players reputation to be affected? (+/- number)  [+5 => give the player 5 rep, -5 => remove 5 rep from the player]
  63. AFKKickRepChange: 0
  64. #Int, Do you want the player to be notified before they get kicked for being AFK? (0 = no). This number is AFKKick - this, (So if afkkick is 15, and this is 1, it will notify the user 1 minute before they are kicked). Note that it must be positive, and will not trigger, if the AFKKick is 0
  65. AFKKickWarn: 1
  66. #String, What message do you want the player to get, when they are warned? Supports any reference to this file {AFKKickRepChange} for instance.
  67. AFKKickWarnMessage: Warning. You will be kicked in {AFKKickWarn} minutes, for being AFK. Your reputation will change by {AFKKickRepChange}. Move to not be kicked.
  68.  
  69. #Int, Is the Security list a blacklist (DO NOT allow players *on* it), or a whitelist (only allow players *ON* it). 0=blacklist, 1=whitelist. (Default: 0)
  70. BlackOrWhite: 0
  71. #Int, (Only recommended to use, if the above is a whitelist, that have expirations, or the list is being edited by a third source (such as another mod/tool)) How often do you want to check, if users have 'overstayed their welcome'. In minutes (1 = check list every 1 minute). 0 to disable. (Default: 0)
  72. BWListCheck: 320
  73. #Int, (Only recommended to use, if you are using expiration dates on your specialslist, or the list is being edited by a third source (such as another mod/tool)) How often do you want to check, if the user is no longer a 'VIP' member? (Will remove their VIP invulnurability (if you have sat NeverKickVIP:true), aswell as kick them, if the current playercount > totalOpenSlots). In minutes (1= check list every 1 minute). 0 to disable. (Default: 0)
  74. VIPListCheck: 320
  75.  
  76. #====When too many users is connected====
  77. #Options for below 4*:
  78. #0: Reject (The user that attempted to connect is rejected)
  79. #1: Kick Random (Picks an user at random to kick, to make room)
  80. #2: FiFo: First in, first out (User that have been online the longest will be kicked)
  81. #3: LiFo: Last in, first out (User that is the most recently connected will be kicked)
  82. #4: Lowest Reputation (The user with the lowest reputation will be kicked)
  83. #5: Que (NOT IMPLEMENTED! Will currently REJECT the user)
  84. #* Note that all these options will respect the 'never kick' options.
  85.  
  86. #Int, When a VIP connects, and they cannot (They would exceed the 'TotalMaxSlots'). What do you want to do? :
  87. ExceedSlotsVIP: 2
  88. #Int, When a normal connects, and they cannot (They would exceed the 'TotalOpenSlots'). What do you want to do? :
  89. ExceedSlotsNormal: 4
  90. #Int, when an user above ExceedSlotsRepAmount connects (They would exceed the 'TotalOpenSlots'). What do you want to do? :
  91. ExceedSlotsRep: 1
  92. #Int, how much rep should the user *atleast* have to trigger ExceedSlotsRep?
  93. ExceedSlotsRepAmount: 5
  94.  
  95.  
  96. #====Never kick these====
  97. #Int, If the user have above number in Reputation, user will never be a valid 'kicktarget'. -1 to disable. (Default: -1)
  98. NeverKickRep: -1
  99. #Boolean, If the user is VIP, user will never be a valid 'kicktarget'. True/False (Default: True)
  100. NeverKickVip: True
  101. #Boolen, If the user have special permissions (for instance admin), user will never be a valid 'kicktarget'. True/False (Default: True)
  102. NeverKickAdmin: True
  103.  
  104. #====Never AFK-kick these====
  105. #Int, If the user have above number in Reputation, user will never be be kicked for being AFK. -1 to disable. (Default: -1)
  106. NeverAFKKickRep: -1
  107. #Boolean, If the user is VIP, user will never be kicked for being AFK. True/False (Default: True)
  108. NeverAFKKickVip: True
  109. #Boolen, If the user have special permissions (for instance admin), user will never be kicked for being AFK. True/False (Default: True)
  110. NeverAFKKickAdmin: True
  111.  
  112.  
  113. #====Reputation====
  114. #Int, You can reject people connecting, if they have too little reputation, according to the SpecialsFile (Default: 0)
  115. DisallowLessThanRep: 0
  116. #Int, If the user ever gets below above number (DisallowLessThanRep) reputation, should the user be kicked? If specieid (>0), specify how often you wish to check the file for users that have 'too low rep'. In minutes (1 = check every 1 minute (...)) 0 to disable. (Default: 0)
  117. KickTooLowRep: 0
  118. #Note, if 'KickTooLowRep' is set >0, it will ALSO tally the users rep increases/decreases, based on the below settings, RepOnlineTime, RepChange, before doing the 'should you be kicked' check. (Default behaviour is ONLY writing the users rep-change to the file, when the user disconnects)
  119. #Boolean, If the user is VIP, does it need higher than 'DisallowLessThanRep' aswell? (True = yes, False = no) (Default: True)
  120. VIPNeedRep: True
  121.  
  122. #Int, When an user first connect, what should their reputation be set to? (Default: 0)
  123. RepInitial: 0
  124.  
  125. #Int, When n-minutes have passed, manipulate the users rep, as specified in RepChange. 0 to disable (Default: 60 (hourly)) [Note, that this doesn't actually change the rep, but is how often 'RepChange' is. (If reponlinetime: 60, repchange: 2, and user have been online 30minutes, it would be +1 rep (30/60=0,5 => 0,5*2=1). If user have been online 60minutes, it would be +2 rep (60/60=1 => 1*2=2)). If you want to change AND SAVE the rep in intervals, please use KickTooLowRep or AFKKick (both triggers rep-updates, while doing their 'normal thing')]
  126. RepOnlineTime: 60
  127.  
  128. #Int, When RepOnlineTime is met, change the users reputation (+/-) (Default: 1)
  129. RepChange: 1
  130.  
  131. #====Shorthand commands====
  132. #In case you use other mods, that use /cmd .cmd !cmd, these commands, you might want to disable them, so you have to use /namespace cmd, !namespace cmd, .namespace cmd, instead.
  133. #Use false to disable to corresponding shorthand. Use True to enable.
  134. EnableShorthandRep: True #Able to do /Rep
  135. EnableShorthandVip: True #Able to do /Vip
  136. EnableShorthandMOTD: True #Able to do /MOTD
  137. EnableShorthandGet: True #Able to do /get
  138. EnableShorthandPlayed: True #Able to do /played (a /get for self)
  139.  
  140. #====Debugging/loggin====
  141. #Boolean, do you want to output kick-events to the log? (False = no, True = yes) (Default: True)
  142. OutputKicksToLog: True
  143. #Boolean, do you want to output all debug events to the log? (False = no, True = yes) (Default: False)
  144. OutputAllToLog: False
  145.  
  146. #====Random utilities====
  147. #In most instances, you may use {PlayerName} (players name), {PlayerID} (players steamid), {PlayerClient} (players clientid), {PlayerEntity} (players entityid), {PlayerVIP} (players VIP level), {PlayerRep} (players reputation). Note you can additionally use these, although they are unformatted. {PlayerRepLastUpdated} (timestamp when players rep was last saved to server), {PlayerCon} (timestamp when player connected to server). These are mostly usefull in 'ExecuteCommand' and 'ExecuteTelnetCommand' however.
  148. #You can also refer to a config setting in these, if you so desire.
  149. #Note for the following 4: The 'highest hit' is executed (ie. if user is admin, only that is executed, if user is VIP only that one is executed (etc..)). LEAVE BLANK for no execution
  150. #Note that several commands can be executed in succession (for instance gm, then itemmenu, then (...))
  151. #List<String>, execute a custom command on permission-user joining (3,6,9) (For instance gm invis)
  152. #As list element, you may also use '- ExecuteTelnetCommand: <telnet command>' if you want. For instance "SAY 'Administrator logged on'"
  153. #In the lists you can use EITHER 'ExactRank' or 'AboveRank', in addtion to ExecuteCommand OR ExecuteTelnetCommand. No matter what, if will respect the categories requirement. But you can additionally use these tags to be more precise.
  154. #These can be used for Admin (Checks admin-status (3,6,9)), VIP (Checks custom VIP level in specials file), Rep (Checks reputation of user (note, atleast ExceedSlotsRepAmount rep, to trigger any of these.))
  155. ExecuteConsoleCommandOnAdminJoin:
  156. ##- ExecuteCommand: String, command to be executed
  157. ##- ExecuteTelnetCommand: String, telnet command to be executed
  158. ##  AboveRank: Int, number to be above to have executed (Note, that if you have a gm at aboverank 3, and another at aboverank 6, BOTH will execute, and hence cancel eachother out) (Optional. Will default to 'any that qualify')
  159. ##  ExactRank: Int, number to exactly match to have execute (Ie. if a gm, will only execute those with number '3'). Optional.
  160. ## DO NOT use both ExactRank and AboveRank!!
  161. ##- ExecuteTelnetCommand: String, telnet command to be executed
  162. - ExecuteCommand: gm invis
  163. - ExecuteCommand: itemmenu
  164. - ExecuteTelnetCommand: say '{AdminRank:s} {PlayerName} joined the server.'
  165. - ExecuteTelnetCommand: say '{PlayerName} is your godly administrator.'
  166.   ExactRank: 9
  167. #List<String>, execute a custom command on a VIP joining (for instance itemmenu)
  168. ExecuteConsoleCommandOnVIPJoin:
  169. ##- ExecuteCommand: String, command to be executed
  170. - ExecuteCommand: gm
  171. - ExecuteTelnetCommand: say '{PlayerName} joined the server. He is a tier 2 VIP'
  172.   ExactRank: 2
  173. #List<String>, execute a custom command on an user with rep > ExceedSlotsRepAmount joining (for instance itemmenu)
  174. ExecuteConsoleCommandOnRepJoin:
  175. ##- ExecuteCommand: String, command to be executed
  176. #- ExecuteCommand:
  177. #List<String>, execute a custom command on any user joining (for instance itemmenu)
  178. ExecuteConsoleCommandOnJoin:
  179. ##- ExecuteCommand: String, command to be executed
  180. #- ExecuteCommand:
  181.  
  182. #Boolean, do you want to run the VIP command again, if user is ONLINE and LOOSES VIP STATUS (expires / removed) (True = yes, false = no) (default: true)
  183. ReRunConsoleCommandOnOnlineVIP: true
  184. #Boolean, do you want to run the VIP command, if user is ONLINE and GAINS VIP STATUS (added) (True = yes, false = no) (default: true)
  185. RunConsoleCommandOnOnlineVIP: true
  186.  
  187. #Boolean, can admins edit their own VIP / rep status? (True = yes, False = no) (default: true)
  188. AdminsEditSelf: true
  189.  
  190. #String, when using {AdminRank}, what would you like 'lv 3 admin' (Gamemaster) to resolve to?
  191. AdminRank3: GameMaster
  192. #String, when using {AdminRank:s}, what would you like 'lv 3 admin' (Gamemaster) to resolve to?
  193. AdminRank3s: GM
  194. #String, when using {AdminRank}, what would you like 'lv 6 admin' (Moderator) to resolve to?
  195. AdminRank6: Moderator
  196. #String, when using {AdminRank:s}, what would you like 'lv 6 admin' (Moderator) to resolve to?
  197. AdminRank6s: Mod
  198. #String, when using {AdminRank}, what would you like 'lv 9 admin' (Administrator) to resolve to?
  199. AdminRank9: Administrator
  200. #String, when using {AdminRank:s}, what would you like 'lv 9 admin' (Administrator) to resolve to?
  201. AdminRank9s: Admin
  202.  
  203. #You can use the below, to add entries for a VIP tier, and what should be displayed, when using {VipSpecial} and {VipSpecial:s}
  204. CustomVIPNames:
  205. - Tier: 1 #Int, What VIP lvl should this trigger on?
  206.   Title: VIP! Awesome person! #String, A long resolved name, if you so desire
  207.   Short: VIP! #String, Short version of the above
  208. - Tier: 3
  209.   Title: VIP#2! Super awesome person!
  210.   Short: VIP#2!
  211.  
  212. #You can use the below, to add entries for a reputation tier, and what should be displayed, when using {RepSpecial} and {RepSpecial:s}
  213. CustomREPNames:
  214. - Tier: 1 #Int, What rep lvl should this trigger on? (positive or negative)
  215.   Title: Rep! Gotten more than 1 rep! #String, A long resolved name, if you so desire
  216.   Short: Rep 1! #String, Short version of the above
  217. - Tier: 3
  218.   Title: Rep! Gotten more than 3 rep!
  219.   Short: Rep 3!