Advertisement
Guest User

Untitled

a guest
Feb 4th, 2019
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.61 KB | None | 0 0
  1. 'use strict';
  2.  
  3. // The server port - the port to run Pokemon Showdown under
  4. exports.port = 8000;
  5.  
  6. // The server address - the address at which Pokemon Showdown should be hosting
  7. // This should be kept set to 0.0.0.0 unless you know what you're doing.
  8. exports.bindaddress = '0.0.0.0';
  9.  
  10. // workers - the number of networking child processes to spawn
  11. // This should be no greater than the number of threads available on your
  12. // server's CPU. If you're not sure how many you have, you can check from a
  13. // terminal by running:
  14. //
  15. // $ node -e "console.log(require('os').cpus().length)"
  16. //
  17. // Using more workers than there are available threads will cause performance
  18. // issues. Keeping a couple threads available for use for OS-related work and
  19. // other PS processes will likely give you the best performance, if your
  20. // server's CPU is capable of multithreading. If you don't know what any of
  21. // this means or you are unfamiliar with PS' networking code, leave this set
  22. // to 1.
  23. exports.workers = 1;
  24.  
  25. // TODO: allow SSL to actually be possible to use for third-party servers at
  26. // some point.
  27.  
  28. // proxyip - proxy IPs with trusted X-Forwarded-For headers
  29. // This can be either false (meaning not to trust any proxies) or an array
  30. // of strings. Each string should be either an IP address or a subnet given
  31. // in CIDR notation. You should usually leave this as `false` unless you
  32. // know what you are doing.
  33. exports.proxyip = false;
  34.  
  35. // ofe - write heapdumps if sockets.js workers run out of memory.
  36. // If you wish to enable this, you will need to install ofe, as it is not a
  37. // installed by default:
  38. // $ npm install --no-save ofe
  39. exports.ofe = false;
  40.  
  41. // Pokemon of the Day - put a pokemon's name here to make it Pokemon of the Day
  42. // The PotD will always be in the #2 slot (not #1 so it won't be a lead)
  43. // in every Random Battle team.
  44. exports.potd = 'Trubbish';
  45.  
  46. // crash guard - write errors to log file instead of crashing
  47. // This is normally not recommended - if Node wants to crash, the
  48. // server needs to be restarted
  49. // However, most people want the server to stay online even if there is a
  50. // crash, so this option is provided
  51. exports.crashguard = true;
  52.  
  53. // login server data - don't forget the http:// and the trailing slash
  54. // This is the URL of the user database and ladder mentioned earlier.
  55. // Don't change this setting - there aren't any other login servers right now
  56. exports.loginserver = 'http://play.pokemonshowdown.com/';
  57. exports.loginserverkeyalgo = "RSA-SHA1";
  58. exports.loginserverpublickeyid = 4;
  59. exports.loginserverpublickey = `-----BEGIN PUBLIC KEY-----
  60. MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzfWKQXg2k8c92aiTyN37
  61. dl76iW0aeAighgzeesdar4xZT1A9yzLpj2DgR8F8rh4R32/EVOPmX7DCf0bYWeh3
  62. QttP0HVKKKfsncJZ9DdNtKj1vWdUTklH8oeoIZKs54dwWgnEFKzb9gxqu+z+FJoQ
  63. vPnvfjCRUPA84O4kqKSuZT2qiWMFMWNQPXl87v+8Atb+br/WXvZRyiLqIFSG+ySn
  64. Nwx6V1C8CA1lYqcPcTfmQs+2b4SzUa8Qwkr9c1tZnXlWIWj8dVvdYtlo0sZZBfAm
  65. X71Rsp2vwEleSFKV69jj+IzAfNHRRw+SADe3z6xONtrJOrp+uC/qnLNuuCfuOAgL
  66. dnUVFLX2aGH0Wb7ZkriVvarRd+3otV33A8ilNPIoPb8XyFylImYEnoviIQuv+0VW
  67. RMmQlQ6RMZNr6sf9pYMDhh2UjU11++8aUxBaso8zeSXC9hhp7mAa7OTxts1t3X57
  68. 72LqtHHEzxoyLj/QDJAsIfDmUNAq0hpkiRaXb96wTh3IyfI/Lqh+XmyJuo+S5GSs
  69. RhlSYTL4lXnj/eOa23yaqxRihS2MT9EZ7jNd3WVWlWgExIS2kVyZhL48VA6rXDqr
  70. Ko0LaPAMhcfETxlFQFutoWBRcH415A/EMXJa4FqYa9oeXWABNtKkUW0zrQ194btg
  71. Y929lRybWEiKUr+4Yw2O1W0CAwEAAQ==
  72. -----END PUBLIC KEY-----
  73. `;
  74.  
  75. // crashguardemail - if the server has been running for more than an hour
  76. // and crashes, send an email using these settings, rather than locking down
  77. // the server. Uncomment this definition if you want to use this feature;
  78. // otherwise, all crashes will lock down the server. If you wish to enable
  79. // this setting, you will need to install nodemailer, as it is not installed
  80. // by default:
  81. // $ npm install --no-save nodemailer
  82. /**exports.crashguardemail = {
  83. options: {
  84. host: 'mail.example.com',
  85. port: 465,
  86. secure: true,
  87. auth: {
  88. user: 'example@domain.com',
  89. pass: 'password'
  90. }
  91. },
  92. from: 'crashlogger@example.com',
  93. to: 'admin@example.com',
  94. subject: 'Pokemon Showdown has crashed!'
  95. };**/
  96.  
  97. // basic name filter - removes characters used for impersonation
  98. // The basic name filter removes Unicode characters that can be used for impersonation,
  99. // like the upside-down exclamation mark (looks like an i), the Greek omicron (looks
  100. // like an o), etc. Disable only if you need one of the alphabets it disables, such as
  101. // Greek or Cyrillic.
  102. exports.disablebasicnamefilter = false;
  103.  
  104. // report joins and leaves - shows messages like "<USERNAME> joined"
  105. // Join and leave messages are small and consolidated, so there will never
  106. // be more than one line of messages.
  107. // If this setting is set to `true`, it will override the client-side
  108. // /hidejoins configuration for users.
  109. // This feature can lag larger servers - turn this off if your server is
  110. // getting more than 80 or so users.
  111. exports.reportjoins = true;
  112.  
  113. // report joins and leaves periodically - sends silent join and leave messages in batches
  114. // This setting will only be effective if `reportjoins` is set to false, and users will
  115. // only be able to see the messages if they have the /showjoins client-side setting enabled.
  116. // Set this to a positive amount of milliseconds if you want to enable this feature.
  117. exports.reportjoinsperiod = 0;
  118.  
  119. // report battles - shows messages like "OU battle started" in the lobby
  120. // This feature can lag larger servers - turn this off if your server is
  121. // getting more than 160 or so users.
  122. exports.reportbattles = false;
  123.  
  124. // report joins and leaves in battle - shows messages like "<USERNAME> joined" in battle
  125. // Set this to false on large tournament servers where battles get a lot of joins and leaves.
  126. // Note that the feature of turning this off is deprecated.
  127. exports.reportbattlejoins = true;
  128.  
  129. // notify staff when users have a certain amount of room punishments.
  130. // Setting this to a number greater than zero will notify staff for everyone with
  131. // the required amount of room punishments.
  132. // Set this to 0 to turn the monitor off.
  133. exports.monitorminpunishments = 3;
  134.  
  135. // allow punishmentmonitor to lock users with multiple roombans.
  136. // When set to `true`, this feature will automatically lock any users with three or more
  137. // active roombans, and notify the staff room.
  138. // Note that this requires punishmentmonitor to be enabled, and therefore requires the `monitorminpunishments`
  139. // option to be set to a number greater than zero. If `monitorminpunishments` is set to a value greater than 3,
  140. // the autolock will only apply to people who pass this threshold.
  141. exports.punishmentautolock = true;
  142.  
  143. // whitelist - prevent users below a certain group from doing things
  144. // For the modchat settings, false will allow any user to participate, while a string
  145. // with a group symbol will restrict it to that group and above. The string
  146. // 'autoconfirmed' is also supported for chatmodchat and battlemodchat, to restrict
  147. // chat to autoconfirmed users.
  148. // This is usually intended to be used as a whitelist feature - set these to '+' and
  149. // voice every user you want whitelisted on the server.
  150.  
  151. // chat modchat - default minimum group for speaking in chatrooms; changeable with /modchat
  152. exports.chatmodchat = false;
  153. // battle modchat - default minimum group for speaking in battles; changeable with /modchat
  154. exports.battlemodchat = false;
  155. // pm modchat - minimum group for PMing other users, challenging other users
  156. exports.pmmodchat = false;
  157. // ladder modchat - minimum group for laddering
  158. exports.laddermodchat = false;
  159.  
  160. // forced timer - force the timer on for all battles
  161. // Players will be unable to turn it off.
  162. // This setting can also be turned on with the command /forcetimer.
  163. exports.forcetimer = false;
  164.  
  165. // backdoor - allows Pokemon Showdown system operators to provide technical
  166. // support for your server
  167. // This backdoor gives system operators (such as Zarel) console admin
  168. // access to your server, which allow them to provide tech support. This
  169. // can be useful in a variety of situations: if an attacker attacks your
  170. // server and you are not online, if you need help setting up your server,
  171. // etc. If you do not trust Pokemon Showdown with admin access, you should
  172. // disable this feature.
  173. exports.backdoor = true;
  174.  
  175. // List of IPs and user IDs with dev console (>> and >>>) access.
  176. // The console is incredibly powerful because it allows the execution of
  177. // arbitrary commands on the local computer (as the user running the
  178. // server). If an account with the console permission were compromised,
  179. // it could possibly be used to take over the server computer. As such,
  180. // you should only specify a small range of trusted IPs and users here,
  181. // or none at all. By default, only localhost can use the dev console.
  182. // In addition to connecting from a valid IP, a user must *also* have
  183. // the `console` permission in order to use the dev console.
  184. // Setting this to an empty array ([]) will disable the dev console.
  185. exports.consoleips = ['127.0.0.1', '79.67.235.197'];
  186.  
  187. // Whether to watch the config file for changes. If this is enabled,
  188. // then the config.js file will be reloaded when it is changed.
  189. // This can be used to change some settings using a text editor on
  190. // the server.
  191. exports.watchconfig = true;
  192.  
  193. // logchat - whether to log chat rooms.
  194. exports.logchat = false;
  195.  
  196. // logchallenges - whether to log challenge battles. Useful for tournament servers.
  197. exports.logchallenges = false;
  198.  
  199. exports.autosavereplays = true;
  200.  
  201. // loguserstats - how often (in milliseconds) to write user stats to the
  202. // lobby log. This has no effect if `logchat` is disabled.
  203. exports.loguserstats = 1000 * 60 * 10; // 10 minutes
  204.  
  205. // validatorprocesses - the number of processes to use for validating teams
  206. // simulatorprocesses - the number of processes to use for handling battles
  207. // You should leave both of these at 1 unless your server has a very large
  208. // amount of traffic (i.e. hundreds of concurrent battles).
  209. exports.validatorprocesses = 1;
  210. exports.simulatorprocesses = 1;
  211.  
  212. // inactiveuserthreshold - how long a user must be inactive before being pruned
  213. // from the `users` array. The default is 1 hour.
  214. exports.inactiveuserthreshold = 1000 * 60 * 60;
  215.  
  216. // autolockdown - whether or not to automatically kill the server when it is
  217. // in lockdown mode and the final battle finishes. This is potentially useful
  218. // to prevent forgetting to restart after a lockdown where battles are finished.
  219. exports.autolockdown = false;
  220.  
  221. // Custom avatars.
  222. // This allows you to specify custom avatar images for users on your server.
  223. // Place custom avatar files under the /config/avatars/ directory.
  224. // Users must be specified as userids -- that is, you must make the name all
  225. // lowercase and remove non-alphanumeric characters.
  226. //
  227. // Your server *must* be registered in order for your custom avatars to be
  228. // displayed in the client.
  229. exports.customavatars = {
  230. //'userid': 'customavatar.png'
  231. 'ezaphs': 'eliza.png',
  232. 'marowhacker': 'marowak-alola.gif',
  233. 'yungdramps': 'yungdramps.png',
  234. 'croaky': 'toxicroak.gif',
  235. 'dundeal': 'dunsparce.gif',
  236. 'retchie': 'sableye-mega.gif',
  237. 'rubix cubes': 'hoppip.gif',
  238. 'avkarp': 'magikarp.gif',
  239. 'charizard888': 'charizard-megax.gif',
  240. 'elsciz0r': 'scizor.gif',
  241. 'alolagranola': 'minun.gif',
  242. 'macemaster': 'rampardos.gif',
  243. 'miamirotom-h': 'rotom-heat.gif',
  244. 'oldmantup': 'rattata.gif',
  245. 'seththeseal': 'spheal.gif',
  246. 'ipavaiva': 'seel.gif',
  247. 'bayernmewnich': 'sylveon.gif',
  248. 'assaultvestmantine': 'mantine.gif',
  249. 'raspbooty': 'gliscor.gif',
  250. 'eusouafazenda': 'magnemite.gif',
  251. 'minediamonds': 'scizor.gif',
  252. 'oldturts': 'turtonator.gif',
  253. 'exploudit': 'volcarona.gif',
  254. 'gojiratar': 'tyranitar-mega.gif',
  255. 'ludicrousity': 'garchomp.gif',
  256. 'jascha': 'torodoki.png',
  257. 'ajag': 'ajagatar.png',
  258. 'scblol26': 'scblol.png',
  259. 'mindnight': 'mindnight.png',
  260. 'shinyspam': 'shinyspam.png',
  261. 'noveliss': 'noveliss.png',
  262. 'storedpowercm': 'raikou_mega.png',
  263. 'blazinex': 'blazinex.png',
  264. '00atrix': 'atrix.png',
  265. 'dubaiwhips': 'qwilfishlol.gif',
  266. 'pqs': 'pqs.png',
  267. 'lucarioaidan': 'lucarioaidan.png',
  268. 'aawin': 'aawin.png',
  269. 'ipa': 'seel.gif',
  270. 'cryoam': 'cryoam.png',
  271. 'brainbreakerv.2': 'charizard-megax.gif',
  272. 'lugiabirb': 'lugiabirb.png',
  273. };
  274.  
  275. // tourroom - specify a room to receive tournament announcements (defaults to
  276. // the room 'tournaments').
  277. // tourannouncements - announcements are only allowed in these rooms
  278. // tourdefaultplayercap - a set cap of how many players can be in a tournament
  279. // ratedtours - toggles tournaments being ladder rated (true) or not (false)
  280. exports.tourroom = '';
  281. exports.tourannouncements = [/* roomids */];
  282. exports.tourdefaultplayercap = 0;
  283. exports.ratedtours = false;
  284.  
  285. // appealurl - specify a URL containing information on how users can appeal
  286. // disciplinary actions on your section. You can also leave this blank, in
  287. // which case users won't be given any information on how to appeal.
  288. exports.appealurl = '';
  289.  
  290. // repl - whether repl sockets are enabled or not
  291. // replsocketprefix - the prefix for the repl sockets to be listening on
  292. // replsocketmode - the file mode bits to use for the repl sockets
  293. exports.repl = true;
  294. exports.replsocketprefix = './logs/repl/';
  295. exports.replsocketmode = 0o600;
  296.  
  297. // disablehotpatchall - disables `/hotpatch all`. Generally speaking, there's a
  298. // pretty big need for /hotpatch all - convenience. The only advantage any hotpatch
  299. // forms other than all is lower RAM use (which is only a problem for Main because
  300. // Main is huge), and to do pinpoint hotpatching (like /nohotpatch).
  301. exports.disablehotpatchall = false;
  302.  
  303. // permissions and groups:
  304. // Each entry in `grouplist' is a seperate group. Some of the members are "special"
  305. // while the rest is just a normal permission.
  306. // The order of the groups determines their ranking.
  307. // The special members are as follows:
  308. // - symbol: Specifies the symbol of the group (as shown in front of the username)
  309. // - id: Specifies an id for the group.
  310. // - name: Specifies the human-readable name for the group.
  311. // - root: If this is true, the group can do anything.
  312. // - inherit: The group uses the group specified's permissions if it cannot
  313. // find the permission in the current group. Never make the graph
  314. // produced using this member have any cycles, or the server won't run.
  315. // - jurisdiction: The default jurisdiction for targeted permissions where one isn't
  316. // explictly specified. "Targeted permissions" are permissions
  317. // that might affect another user, such as `ban' or `promote'.
  318. // 's' is a special group where it means the user itself only
  319. // and 'u' is another special group where it means all groups
  320. // lower in rank than the current group.
  321. // - roomonly: forces the group to be a per-room moderation rank only.
  322. // - globalonly: forces the group to be a global rank only.
  323. // All the possible permissions are as follows:
  324. // - console: Developer console (>>).
  325. // - lockdown: /lockdown and /endlockdown commands.
  326. // - hotpatch: /hotpatch, /crashfixed and /savelearnsets commands.
  327. // - ignorelimits: Ignore limits such as chat message length.
  328. // - promote: Promoting and demoting. Will only work if the target user's current
  329. // group and target group are both in jurisdiction.
  330. // - room<rank>: /roompromote to <rank> (eg. roomvoice)
  331. // - makeroom: Create/delete chatrooms, and set modjoin/roomdesc/privacy
  332. // - editroom: Set modjoin/privacy only for battles/groupchats
  333. // - ban: Banning and unbanning.
  334. // - mute: Muting and unmuting.
  335. // - lock: locking (ipmute) and unlocking.
  336. // - receivemutedpms: Receive PMs from muted users.
  337. // - forcerename: /fr command.
  338. // - ip: IP checking.
  339. // - alts: Alt checking.
  340. // - modlog: view the moderator logs.
  341. // - broadcast: Broadcast informational commands.
  342. // - declare: /declare command.
  343. // - announce: /announce command.
  344. // - modchat: Set modchat.
  345. // - potd: Set PotD.
  346. // - forcewin: /forcewin command.
  347. // - battlemessage: /a command.
  348. // - tournaments: creating tournaments (/tour new, settype etc.)
  349. // - tournamentsmoderation: /tour dq, autodq, end etc.
  350. // - tournamentsmanagement: enable/disable tournaments.
  351. // - minigame: make minigames (hangman, polls, etc.).
  352. // - game: make games.
  353. // - gamemanagement: enable/disable games and minigames.
  354. exports.grouplist = [
  355. {
  356. symbol: '~',
  357. id: "admin",
  358. name: "Administrator",
  359. root: true,
  360. globalonly: true,
  361. },
  362. {
  363. symbol: '&',
  364. id: "leader",
  365. name: "Leader",
  366. inherit: '@',
  367. jurisdiction: '@u',
  368. promote: 'u',
  369. roomowner: true,
  370. roombot: true,
  371. roommod: true,
  372. roomdriver: true,
  373. forcewin: true,
  374. declare: true,
  375. modchatall: true,
  376. rangeban: true,
  377. makeroom: true,
  378. editroom: true,
  379. potd: true,
  380. disableladder: true,
  381. globalonly: true,
  382. tournamentsmanagement: true,
  383. gamemanagement: true,
  384. },
  385. {
  386. symbol: '#',
  387. id: "owner",
  388. name: "Room Owner",
  389. inherit: '@',
  390. jurisdiction: 'u',
  391. roombot: true,
  392. roommod: true,
  393. roomdriver: true,
  394. editroom: true,
  395. declare: true,
  396. modchatall: true,
  397. roomonly: true,
  398. tournamentsmanagement: true,
  399. gamemanagement: true,
  400. },
  401. {
  402. symbol: '\u2606',
  403. id: "player",
  404. name: "Player",
  405. inherit: '+',
  406. roomvoice: true,
  407. modchat: true,
  408. roomonly: true,
  409. editroom: true,
  410. joinbattle: true,
  411. nooverride: true,
  412. },
  413. {
  414. symbol: '*',
  415. id: "bot",
  416. name: "Bot",
  417. inherit: '@',
  418. jurisdiction: 'u',
  419. declare: true,
  420. addhtml: true,
  421. },
  422. {
  423. symbol: '@',
  424. id: "mod",
  425. name: "Moderator",
  426. inherit: '%',
  427. jurisdiction: 'u',
  428. ban: true,
  429. modchat: true,
  430. roomvoice: true,
  431. forcerename: true,
  432. ip: true,
  433. alts: '@u',
  434. tournaments: true,
  435. game: true,
  436. },
  437. {
  438. symbol: '%',
  439. id: "driver",
  440. name: "Driver",
  441. inherit: '+',
  442. jurisdiction: 'u',
  443. announce: true,
  444. warn: '\u2606u',
  445. kick: true,
  446. mute: '\u2606u',
  447. lock: true,
  448. forcerename: true,
  449. timer: true,
  450. modlog: true,
  451. alts: '%u',
  452. bypassblocks: 'u%@&~',
  453. receiveauthmessages: true,
  454. tournamentsmoderation: true,
  455. jeopardy: true,
  456. joinbattle: true,
  457. minigame: true,
  458. },
  459. {
  460. symbol: '+',
  461. id: "voice",
  462. name: "Voice",
  463. inherit: ' ',
  464. alts: 's',
  465. broadcast: true,
  466. },
  467. {
  468. symbol: ' ',
  469. ip: 's',
  470. },
  471. {
  472. name: 'Locked',
  473. id: 'locked',
  474. symbol: '\u203d',
  475. punishgroup: 'LOCK',
  476. },
  477. {
  478. name: 'Muted',
  479. id: 'muted',
  480. symbol: '!',
  481. punishgroup: 'MUTE',
  482. },
  483. ];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement