SHOW:
|
|
- or go back to the newest paste.
1 | // The server port - the port to run Pokemon Showdown under | |
2 | exports.port = 8000; | |
3 | ||
4 | // proxyip - proxy IPs with trusted X-Forwarded-For headers | |
5 | // This can be either false (meaning not to trust any proxies) or an array | |
6 | // of strings. Each string should be either an IP address or a subnet given | |
7 | // in CIDR notation. You should usually leave this as `false` unless you | |
8 | // know what you are doing. | |
9 | exports.proxyip = ['127.0.0.0/8']; | |
10 | ||
11 | // Pokemon of the Day - put a pokemon's name here to make it Pokemon of the Day | |
12 | // The PotD will always be in the #2 slot (not #1 so it won't be a lead) | |
13 | // in every Random Battle team. | |
14 | exports.potd = ''; | |
15 | ||
16 | // crash guard - write errors to log file instead of crashing | |
17 | // This is normally not recommended - if Node wants to crash, the | |
18 | // server needs to be restarted | |
19 | // Unfortunately, socket.io bug 409 requires some sort of crash guard | |
20 | // https://github.com/LearnBoost/socket.io/issues/609 | |
21 | exports.crashguard = true; | |
22 | ||
23 | // login server data - don't forget the http:// and the trailing slash | |
24 | // This is the URL of the user database and ladder mentioned earlier. | |
25 | // Don't change this setting - there aren't any other login servers right now | |
26 | exports.loginserver = 'http://play.pokemonshowdown.com/'; | |
27 | exports.loginserverkeyalgo = "RSA-SHA1"; | |
28 | exports.loginserverpublickeyid = 2; | |
29 | exports.loginserverpublickey = "-----BEGIN RSA PUBLIC KEY-----\n" + | |
30 | "MIICCgKCAgEAtFldA2rTCsPgqsp1odoH9vwhf5+QGIlOJO7STyY73W2+io33cV7t\n" + | |
31 | "ReNuzs75YBkZ3pWoDn2be0eb2UqO8dM3xN419FdHNORQ897K9ogoeSbLNQwyA7XB\n" + | |
32 | "N/wpAg9NpNu00wce2zi3/+4M/2H+9vlv2/POOj1epi6cD5hjVnAuKsuoGaDcByg2\n" + | |
33 | "EOullPh/00TkEkcyYtaBknZpED0lt/4ekw16mjHKcbo9uFiw+tu5vv7DXOkfciW+\n" + | |
34 | "9ApyYbNksC/TbDIvJ2RjzR9G33CPE+8J+XbS7U1jPvdFragCenz+B3AiGcPZwT66\n" + | |
35 | "dvHAOYRus/w5ELswOVX/HvHUb/GRrh4blXWUDn4KpjqtlwqY4H2oa+h9tEENCk8T\n" + | |
36 | "BWmv3gzGBM5QcehNsyEi9+1RUAmknqJW0QOC+kifbjbo/qtlzzlSvtbr4MwghCFe\n" + | |
37 | "1EfezeNAtqwvICznq8ebsGETyPSqI7fSbpmVULkKbebSDw6kqDnQso3iLjSX9K9C\n" + | |
38 | "0rwxwalCs/YzgX9Eq4jdx6yAHd7FNGEx4iu8qM78c7GKCisygZxF8kd0B7V7a5UO\n" + | |
39 | "wdlWIlTxJ2dfCnnJBFEt/wDsL54q8KmGbzOTvRq5uz/tMvs6ycgLVgA9r1xmVU+1\n" + | |
40 | "6lMr2wdSzyG7l3X3q1XyQ/CT5IP4unFs5HKpG31skxlfXv5a7KW5AfsCAwEAAQ==\n" + | |
41 | "-----END RSA PUBLIC KEY-----\n"; | |
42 | ||
43 | // crashguardemail - if the server has been running for more than an hour | |
44 | // and crashes, send an email using these settings, rather than locking down | |
45 | // the server. Uncomment this definition if you want to use this feature; | |
46 | // otherwise, all crashes will lock down the server. | |
47 | /**exports.crashguardemail = { | |
48 | options: { | |
49 | host: 'mail.example.com', | |
50 | port: 465, | |
51 | secure: true, | |
52 | auth: { | |
53 | user: 'example@domain.com', | |
54 | pass: 'password' | |
55 | } | |
56 | }, | |
57 | from: 'crashlogger@example.com', | |
58 | to: 'admin@example.com', | |
59 | subject: 'Pokemon Showdown has crashed!' | |
60 | };**/ | |
61 | ||
62 | // report joins and leaves - shows messages like "<USERNAME> joined" | |
63 | // Join and leave messages are small and consolidated, so there will never | |
64 | // be more than one line of messages. | |
65 | // If this setting is set to `true`, it will override the client-side | |
66 | // /hidejoins configuration for users. | |
67 | // This feature can lag larger servers - turn this off if your server is | |
68 | // getting more than 80 or so users. | |
69 | exports.reportjoins = true; | |
70 | ||
71 | // report joins and leaves periodically - sends silent join and leave messages in batches | |
72 | // This setting will only be effective if `reportjoins` is set to false, and users will | |
73 | // only be able to see the messages if they have the /showjoins client-side setting enabled. | |
74 | // Set this to a positive amount of milliseconds if you want to enable this feature. | |
75 | exports.reportjoinsperiod = 0; | |
76 | ||
77 | // report battles - shows messages like "OU battle started" in the lobby | |
78 | // This feature can lag larger servers - turn this off if your server is | |
79 | // getting more than 160 or so users. | |
80 | exports.reportbattles = true; | |
81 | ||
82 | // report joins and leaves in battle - shows messages like "<USERNAME> joined" in battle | |
83 | // Set this to false on large tournament servers where battles get a lot of joins and leaves. | |
84 | // Note that the feature of turning this off is deprecated. | |
85 | exports.reportbattlejoins = true; | |
86 | ||
87 | // whitelist - prevent users below a certain group from doing things | |
88 | // For the modchat settings, false will allow any user to participate, while a string | |
89 | // with a group symbol will restrict it to that group and above. The string | |
90 | // 'autoconfirmed' is also supported for chatmodchat and battlemodchat, to restrict | |
91 | // chat to autoconfirmed users. | |
92 | // This is usually intended to be used as a whitelist feature - set these to '+' and | |
93 | // voice every user you want whitelisted on the server. | |
94 | ||
95 | // chat modchat - default minimum group for speaking in chatrooms; changeable with /modchat | |
96 | exports.chatmodchat = false; | |
97 | // battle modchat - default minimum group for speaking in battles; changeable with /modchat | |
98 | exports.battlemodchat = false; | |
99 | // pm modchat - minimum group for PMing other users, challenging other users, and laddering | |
100 | exports.pmmodchat = false; | |
101 | ||
102 | // forced timer - force the timer on for all battles | |
103 | // Players will be unable to turn it off. | |
104 | // This setting can also be turned on with the command /forcetimer. | |
105 | exports.forcetimer = false; | |
106 | ||
107 | // backdoor - allows Pokemon Showdown system operators to provide technical | |
108 | // support for your server | |
109 | // This backdoor gives system operators (such as Zarel) console admin | |
110 | // access to your server, which allow them to provide tech support. This | |
111 | // can be useful in a variety of situations: if an attacker attacks your | |
112 | // server and you are not online, if you need help setting up your server, | |
113 | // etc. If you do not trust Pokemon Showdown with admin access, you should | |
114 | // disable this feature. | |
115 | exports.backdoor = true; | |
116 | ||
117 | // List of IPs and user IDs with dev console (>> and >>>) access. | |
118 | // The console is incredibly powerful because it allows the execution of | |
119 | // arbitrary commands on the local computer (as the user running the | |
120 | // server). If an account with the console permission were compromised, | |
121 | // it could possibly be used to take over the server computer. As such, | |
122 | // you should only specify a small range of trusted IPs and users here, | |
123 | // or none at all. By default, only localhost can use the dev console. | |
124 | // In addition to connecting from a valid IP, a user must *also* have | |
125 | // the `console` permission in order to use the dev console. | |
126 | // Setting this to an empty array ([]) will disable the dev console. | |
127 | - | exports.consoleips = ['127.0.0.1']; |
127 | + | exports.consoleips = ['127.0.0.1', 'chiefwally', 'lionyx', 'panur']; |
128 | ||
129 | // Whether to watch the config file for changes. If this is enabled, | |
130 | // then the config.js file will be reloaded when it is changed. | |
131 | // This can be used to change some settings using a text editor on | |
132 | // the server. | |
133 | exports.watchconfig = true; | |
134 | ||
135 | // logchat - whether to log chat rooms. | |
136 | exports.logchat = false; | |
137 | ||
138 | // logchallenges - whether to log challenge battles. Useful for tournament servers. | |
139 | exports.logchallenges = false; | |
140 | ||
141 | // loguserstats - how often (in milliseconds) to write user stats to the | |
142 | // lobby log. This has no effect if `logchat` is disabled. | |
143 | exports.loguserstats = 1000 * 60 * 10; // 10 minutes | |
144 | ||
145 | // validatorprocesses - the number of processes to use for validating teams | |
146 | // simulatorprocesses - the number of processes to use for handling battles | |
147 | // You should leave both of these at 1 unless your server has a very large | |
148 | // amount of traffic (i.e. hundreds of concurrent battles). | |
149 | exports.validatorprocesses = 1; | |
150 | exports.simulatorprocesses = 1; | |
151 | ||
152 | // inactiveuserthreshold - how long a user must be inactive before being pruned | |
153 | // from the `users` array. The default is 1 hour. | |
154 | exports.inactiveuserthreshold = 1000 * 60 * 60; | |
155 | ||
156 | // Custom avatars. | |
157 | // This allows you to specify custom avatar images for users on your server. | |
158 | // Place custom avatar files under the /config/avatars/ directory. | |
159 | // Users must be specified as userids -- that is, you must make the name all | |
160 | // lowercase and remove non-alphanumeric characters. | |
161 | // | |
162 | // Your server *must* be registered in order for your custom avatars to be | |
163 | // displayed in the client. | |
164 | exports.customavatars = { | |
165 | //'userid': 'customavatar.png' | |
166 | }; | |
167 | ||
168 | // Tournament announcements | |
169 | // When tournaments are created in rooms listed below, they will be announced in | |
170 | // the server's main tournament room (either the specified tourroom or by default | |
171 | // the room 'tournaments') | |
172 | exports.tourroom = ''; | |
173 | exports.tourannouncements = [/* roomids */]; | |
174 | ||
175 | // appealurl - specify a URL containing information on how users can appeal | |
176 | // disciplinary actions on your section. You can also leave this blank, in | |
177 | // which case users won't be given any information on how to appeal. | |
178 | exports.appealurl = ''; | |
179 | ||
180 | // replsocketprefix - the prefix for the repl sockets to be listening on | |
181 | // replsocketmode - the file mode bits to use for the repl sockets | |
182 | exports.replsocketprefix = './logs/repl/'; | |
183 | exports.replsocketmode = 0600; | |
184 | ||
185 | // permissions and groups: | |
186 | // Each entry in `grouplist' is a seperate group. Some of the members are "special" | |
187 | // while the rest is just a normal permission. | |
188 | // The order of the groups determines their ranking. | |
189 | // The special members are as follows: | |
190 | // - symbol: Specifies the symbol of the group (as shown in front of the username) | |
191 | // - id: Specifies an id for the group. | |
192 | // - name: Specifies the human-readable name for the group. | |
193 | // - root: If this is true, the group can do anything. | |
194 | // - inherit: The group uses the group specified's permissions if it cannot | |
195 | // find the permission in the current group. Never make the graph | |
196 | // produced using this member have any cycles, or the server won't run. | |
197 | // - jurisdiction: The default jurisdiction for targeted permissions where one isn't | |
198 | // explictly specified. "Targeted permissions" are permissions | |
199 | // that might affect another user, such as `ban' or `promote'. | |
200 | // 's' is a special group where it means the user itself only | |
201 | // and 'u' is another special group where it means all groups | |
202 | // lower in rank than the current group. | |
203 | // - roomonly: forces the group to be a per-room moderation rank only. | |
204 | // - globalonly: forces the group to be a global rank only. | |
205 | // All the possible permissions are as follows: | |
206 | // - console: Developer console (>>). | |
207 | // - lockdown: /lockdown and /endlockdown commands. | |
208 | // - hotpatch: /hotpatch, /crashfixed and /savelearnsets commands. | |
209 | // - ignorelimits: Ignore limits such as chat message length. | |
210 | // - promote: Promoting and demoting. Will only work if the target user's current | |
211 | // group and target group are both in jurisdiction. | |
212 | // - room<rank>: /roompromote to <rank> (eg. roomvoice) | |
213 | // - ban: Banning and unbanning. | |
214 | // - mute: Muting and unmuting. | |
215 | // - lock: locking (ipmute) and unlocking. | |
216 | // - receivemutedpms: Receive PMs from muted users. | |
217 | // - forcerename: /fr command. | |
218 | // - redirect: /redir command. | |
219 | // - ip: IP checking. | |
220 | // - alts: Alt checking. | |
221 | // - modlog: view the moderator logs. | |
222 | // - broadcast: Broadcast informational commands. | |
223 | // - declare: /declare command. | |
224 | // - announce: /announce command. | |
225 | // - modchat: Set modchat. | |
226 | // - potd: Set PotD. | |
227 | // - forcewin: /forcewin command. | |
228 | // - battlemessage: /a command. | |
229 | // - tournaments: creating tournaments (/tour new, settype etc.) | |
230 | // - tournamentsmoderation: /tour dq, autodq, end etc. | |
231 | // - tournamentsmanagement: enable/disable tournaments. | |
232 | exports.grouplist = [ | |
233 | { | |
234 | symbol: '~', | |
235 | id: "admin", | |
236 | name: "Administrator", | |
237 | root: true, | |
238 | globalonly: true | |
239 | }, | |
240 | { | |
241 | symbol: '&', | |
242 | id: "leader", | |
243 | name: "Leader", | |
244 | inherit: '@', | |
245 | jurisdiction: '@u', | |
246 | promote: 'u', | |
247 | forcewin: true, | |
248 | declare: true, | |
249 | modchatall: true, | |
250 | rangeban: true, | |
251 | potd: true, | |
252 | disableladder: true, | |
253 | globalonly: true, | |
254 | tournamentsmanagement: true | |
255 | }, | |
256 | { | |
257 | symbol: '#', | |
258 | id: "owner", | |
259 | name: "Room Owner", | |
260 | inherit: '@', | |
261 | jurisdiction: 'u', | |
262 | roommod: true, | |
263 | roomdriver: true, | |
264 | declare: true, | |
265 | modchatall: true, | |
266 | roomonly: true, | |
267 | tournamentsmanagement: true | |
268 | }, | |
269 | { | |
270 | symbol: '\u2605', | |
271 | id: "player", | |
272 | name: "Player", | |
273 | inherit: '+', | |
274 | roomvoice: true, | |
275 | modchat: true, | |
276 | roomonly: true, | |
277 | privateroom: true, | |
278 | joinbattle: true | |
279 | }, | |
280 | { | |
281 | symbol: '@', | |
282 | id: "mod", | |
283 | name: "Moderator", | |
284 | inherit: '%', | |
285 | jurisdiction: 'u', | |
286 | ban: true, | |
287 | modchat: true, | |
288 | roomvoice: true, | |
289 | forcerename: true, | |
290 | ip: true, | |
291 | alts: '@u', | |
292 | tournaments: true | |
293 | }, | |
294 | { | |
295 | symbol: '%', | |
296 | id: "driver", | |
297 | name: "Driver", | |
298 | inherit: '+', | |
299 | jurisdiction: 'u', | |
300 | announce: true, | |
301 | warn: true, | |
302 | kick: true, | |
303 | mute: true, | |
304 | lock: true, | |
305 | forcerename: true, | |
306 | timer: true, | |
307 | modlog: true, | |
308 | alts: '%u', | |
309 | bypassblocks: 'u%@&~', | |
310 | receiveauthmessages: true, | |
311 | tournamentsmoderation: true, | |
312 | jeopardy: true, | |
313 | joinbattle: true | |
314 | }, | |
315 | { | |
316 | symbol: '+', | |
317 | id: "voice", | |
318 | name: "Voice", | |
319 | inherit: ' ', | |
320 | broadcast: true | |
321 | }, | |
322 | { | |
323 | symbol: ' ', | |
324 | ip: 's', | |
325 | alts: 's' | |
326 | } | |
327 | ]; |