· 6 years ago · Mar 18, 2020, 08:54 PM
1# How the plugin stores long-term data
2# "external" data sources will also be used as messaging
3storage:
4 engines:
5 mysql:
6 # Whether or not to use MySQL/MariaDB
7 # https://mariadb.org/
8 enabled: true
9 connection:
10 # Address and port of the database instance
11 address: '127.0.0.1:3306'
12 # The name of the database the plugin will store data in
13 # This must be created beforehand
14 database: 'simple'
15 # Table prefix for all plugin tables, indexes, keys, and procedures
16 prefix: 'avpn_'
17 # Database credentials
18 username: 'imevo'
19 password: 'EvoPlays1993!!'
20 # Extra options to use with the database server
21 # These values will override any others
22 options: 'useSSL=false&useUnicode=true&characterEncoding=utf8'
23 redis:
24 # Whether or not to use Redis for storage
25 # https://redis.io/
26 enabled: false
27 connection:
28 # Address and port of the Redis instance
29 address: '127.0.0.1:6379'
30 # Redis credentials
31 password: ''
32 # Storage prefix for all plugin data
33 prefix: 'avpn:'
34 sqlite:
35 # Whether or not to use SQLite
36 # https://www.sqlite.org/index.html
37 enabled: true
38 connection:
39 # File name for the database
40 file: 'anti_vpn.db'
41 # Table prefix for all plugin tables, indexes, keys, and procedures
42 prefix: 'avpn_'
43 # Extra options to use with the database server
44 # These values will override any others
45 options: 'useUnicode=true&characterEncoding=utf8'
46 settings:
47 # The maximum size of the storage engine connection pool
48 # Determines the max number of connections to storage engines
49 max-pool-size: 4
50 # The minimum size of the storage engine connection pool
51 # Determines the min number of connections kept alive to storage engines
52 min-idle: 4
53 # The maximum lifetime of a connection in the pool
54 # Should be at least 30 seconds less than any storage engine or infrastructure-imposed connection time limit
55 max-lifetime: 1800000 # 30 minutes
56 # The maximum number of milliseconds that the plugin will wait for a new connection from the pool before timing out
57 timeout: 5000 # 5 seconds
58 # The order in which the storage engines will be used
59 # The first available engine will be considered the "master" and will be the authoritative data source
60 # Keep in mind that, for redundancy, ALL defined and enabled storage engines will be used
61 order:
62 - 'mysql'
63 - 'redis'
64 - 'sqlite'
65
66# How the plugin rapidly shares information with other servers along the network
67# Note that cross-server chat toggling only works if a messaging engine is provided
68# Else any toggled chat will be erased when the player leaves the server
69messaging:
70 engines:
71 rabbitmq:
72 # Whether or not to use RabbitMQ for messaging
73 # https://www.rabbitmq.com/
74 enabled: false
75 connection:
76 # Address and port of the RabbitMQ instance
77 address: '127.0.0.1:5672'
78 # RabbitMQ virtual host
79 v-host: '/'
80 # RabbitMQ credentials
81 username: 'guest'
82 password: 'guest'
83 redis:
84 # Whether or not to use Redis for messaging
85 # https://redis.io/
86 enabled: false
87 connection:
88 # Address and port of the Redis instance
89 address: '127.0.0.1:6379'
90 # Redis credentials
91 password: ''
92 settings:
93 # The maximum size of the messaging engine connection pool
94 # Determines the max number of connections to messaging engines
95 max-pool-size: 5 # + 1 for the receiver
96 # The minimum size of the messaging engine connection pool
97 # Determines the min number of connections kept alive to messaging engines
98 min-idle: 5 # + 1 for the receiver
99 # The maximum lifetime of a connection in the pool
100 # Should be at least 30 seconds less than any messaging engine or infrastructure-imposed connection time limit
101 max-lifetime: 1800000 # 30 minutes
102 # The maximum number of milliseconds that the plugin will wait for a new connection from the pool before timing out
103 timeout: 5000 # 5 seconds
104 # The order in which the messaging engines will be used
105 # Keep in mind that, for redundancy, ALL defined and enabled messaging engines will be used
106 order:
107 - 'rabbitmq'
108 - 'redis'
109
110# Where VPN-checking sources are defined
111# Beware the more sources that are included (and fail) the worse the performance and the more the lag
112sources:
113 # The amount of time to globally cache results across all sources
114 # This should be as high as possible to avoid rate-limits but as low as possible to ensure results are always up-to-date and accurate
115 cache-time: '6hours'
116
117 # The order to try results in
118 order:
119 - 'proxycheck'
120 - 'iptrooper'
121 - 'ipqualityscore'
122 - 'getipintel'
123 - 'iphub'
124 - 'iphunter'
125 - 'vpnblocker'
126 - 'ip2proxy'
127 - 'shodan'
128 - 'teoh'
129 - 'ipwarner'
130
131 # https://proxycheck.io
132 # Results updated Jan 19, 2020
133 # Error rate: 0.00%
134 # NordVPN detection rate: 100.00%
135 # Cryptostorm detection rate: 100.00%
136 # False-flagged homes: 0.00%
137 proxycheck:
138 enabled: true
139 # Optional API key to use
140 key: '49p646-6868c6-64b600-q3v0e9'
141
142 # https://iptrooper.net/
143 # Results updated Jan 19, 2020
144 # Error rate: 0.00%
145 # NordVPN detection rate: 96.00%
146 # Cryptostorm detection rate: 100.00%
147 # False-flagged homes: 0.00%
148 iptrooper:
149 enabled: true
150
151 # https://www.ipqualityscore.com/
152 # Results updated Feb 5, 2020
153 # Error rate: 0.00%
154 # NordVPN detection rate: 90.00%
155 # Cryptostorm detection rate: 100.00%
156 # False-flagged homes: 0.00%
157 ipqualityscore:
158 enabled: true
159 # API key to use (Required for this service, free one available at https://www.ipqualityscore.com/create-account )
160 # This plugin would benefit from a premium account/API key, but does not require it
161 key: 'XAuaZhhU1XgLjmc4S1NvUhnV5UfBpGbI'
162 # Whether or not to detect proxies as VPNs
163 proxy: false
164 # Whether or not to score IPs as a mobile device (less strict)
165 mobile: true
166 # Strictness setting to use (0-3)
167 strictness: 0
168 # Whether or not to flag IPs with recent abuse (such as malware, compromised devices, etc) as "bad"
169 recent-abuse: false
170 # Threshold above which an IP is considered "bad"
171 threshold: 2.0
172
173 # https://www.getipintel.net/
174 # Results updated Jan 19, 2020
175 # Error rate: 0.00%
176 # NordVPN detection rate: 86.00%
177 # Cryptostorm detection rate: 100.00%
178 # False-flagged homes: 0.00%
179 getipintel:
180 enabled: true
181 # Contact e-mail in case things go wrong. Required
182 contact: 'hotspuraz@hotmail.com'
183 # Threshold above which an IP is considered "bad"
184 threshold: 0.98
185
186 # https://iphub.info/
187 # Results updated Jan 19, 2020
188 # Error rate: 0.00%
189 # NordVPN detection rate: 84.00%
190 # Cryptostorm detection rate: 96.43%
191 # False-flagged homes: 0.00%
192 iphub:
193 enabled: true
194 # API key to use (Required for this service, free one available at https://iphub.info/apiKey/newFree )
195 key: 'NzgyNTpWZVVTNHp4UEc0QnFtbVNHTVlxNGdlNzdONWppWFhIdQ=='
196 # The block type at which an IP is considered "bad"
197 block: 1
198
199 # https://www.iphunter.info/
200 # Results updated Jan 19, 2020
201 # Error rate: 0.00%
202 # NordVPN detection rate: 60.00%
203 # Cryptostorm detection rate: 92.86%
204 # False-flagged homes: 0.00%
205 iphunter:
206 enabled: false
207 # API key to use (Required for this service, free one available at https://www.iphunter.info/user/register )
208 key: ''
209 # The block type at which an IP is considered "bad"
210 block: 1
211
212 # https://vpnblocker.net/usage
213 # Results updated Jan 19, 2020
214 # Error rate: 0.00%
215 # NordVPN detection rate: 64.00%
216 # Cryptostorm detection rate: 82.14%
217 # False-flagged homes: 0.00%
218 vpnblocker:
219 enabled: false
220 # Optional API key to use
221 key: ''
222
223 # https://www.ip2location.com/web-service/ip2proxy
224 # NOTE: This info is old
225 # Results updated Jul 18, 2019
226 # Error rate: 0%
227 # NordVPN detection rate: 100%
228 # Cryptostorm detection rate: 60%
229 # False-flagged homes: 0%
230 ip2proxy:
231 enabled: false
232 # API key to use (Required for this service, free one available using 'demo' or at https://www.ip2location.com/register?id=1006 )
233 key: 'demo'
234
235 # https://www.shodan.io/
236 # Results updated Jan 19, 2020
237 # Error rate: 55.15%
238 # NordVPN detection rate: 90.00%
239 # Cryptostorm detection rate: 0.00%
240 # False-flagged homes: 0.00%
241 shodan:
242 enabled: false
243 # API key to use (Required for this service)
244 key: ''
245
246 # https://ip.teoh.io/vpn-detection
247 # NOTE: This info is old
248 # Results updated Jul 7, 2019
249 # Error rate: 10%
250 # NordVPN detection rate: 61.90%
251 # Cryptostorm detection rate: 100%
252 # False-flagged homes: 0%
253 teoh:
254 enabled: false
255
256 # https://ipwarner.com/
257 ipwarner:
258 enabled: false
259 # API key to use (Required for this service, free one available at https://ipwarner.com/register )
260 key: ''
261
262mcleaks:
263 # The amount of time to globally cache results
264 # This should be as high as possible to avoid rate-limits but as low as possible to ensure results are always up-to-date and accurate
265 cache-time: '1day'
266 # Optional API key to use (e-mail API author, following instructions from "I'm frequently hitting your rate limit/my server has large influxes of players" at https://github.com/TheMrGong/MCLeaksApiClient#faq )
267 key: ''
268
269action:
270 vpn:
271 # The kick message to display to players who are using VPNs
272 # If left blank, will not kick the player
273 kick-message: 'Please disconnect from your proxy or VPN before re-joining!'
274 # The commands that CONSOLE will run for players who are using VPNs
275 # Use %player% as a placeholder for the player's (real) name
276 # Use %uuid% as a placeholder for the player's uuid
277 # Use %ip% as a placeholder for the player's IP
278 # If left blank, will not run anything
279 commands:
280 - 'kick %player%'
281
282 algorithm:
283 # The algorithm method
284 #
285 # Options:
286 # - Cascade
287 # The plugin will go down the "sources" list, sequentially, until a valid source is found
288 # It will then query that source and return the result
289 # This will result in essentially "the first valid result" being returned
290 # - Consensus
291 # The plugin will try every source in the "sources" list at once
292 # It will then strip invalid results, and calculate the ratio of results from the remaining sources
293 # This will result in essentially "the ratio of valid results" being returned
294 method: 'consensus'
295
296 # Only used for "consensus" mode
297 # The minimum ratio of APIs that must agree before a player is kicked
298 # For example, if set to "0.6" then at least 60% of sources must agree that the IP is a VPN
299 # The value can range from 0 to 1, and will be clipped at those values
300 min-: 0.3
301 mcleaks:
302 # The kick message to display to players who are using MCLeaks accounts
303 # If left blank, will not kick the player
304 kick-message: 'Please discontinue your use of an MCLeaks account!'
305 # The commands that CONSOLE will run for players who are using MCLeaks accounts
306 # Use %player% as a placeholder for the player's (real) name
307 # Use %uuid% as a placeholder for the player's uuid
308 # Use %ip% as a placeholder for the player's IP
309 # If left blank, will not run anything
310 commands:
311 - ''
312
313 # IPs and ranges to ignore when checking for VPNs and/or MCLeaks accounts
314 ignore:
315 - '127.0.0.0/8'
316 - '178.74.12.36'
317 - '209.23.48.115'
318 - '155.4.135.27'
319 - '45.74.172.151'
320 - '2.27.15.109'
321 - '::1/128'
322
323connection:
324 # The amount of time to cache lookups in-memory
325 # Higher values require more memory
326 # Lower values will hit Storage/APIs more frequently
327 # Generally the default is good enough to prevent many sequential lookups from choking resources, but still keep memory usage low
328 cache-time: '1minute'
329 # The number of threads to use for web operations
330 threads: 4
331 # The maximum number of milliseconds that the plugin will wait for an API to respond before timing out
332 timeout: 5000 # 5 seconds
333
334# When true, logs some extra output to the console so you can see if/why things might be failing
335debug: true
336# Default language (affects console output)
337lang: 'en'
338
339stats:
340 # Whether or not to send anonymous usage statistics to bStats
341 # True: Send anonymous stats; let the author know how well the plugin is doing and how it's used!
342 # False: Do not send stats and make the author sad :(
343 usage: true
344 # Whether or not to send anonymous errors to the author
345 # True: Send errors anonymously to Rollbar and/or GameAnalytics so the author can fix them!
346 # False: Do not send errors and wonder why any bugs you encounter haven't been fixed
347 errors: true
348
349update:
350 # Whether or not to automatically check for updates and notify the console if found
351 check: true
352 # Whether or not to notify players with the avpn.admin permission node
353 notify: true
354
355# Config version, no touchy plz
356version: 4.12