Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

85 righe
1.9 KiB

  1. require('./globals');
  2. let server = require('./server');
  3. let components = require('./components/components');
  4. let mods = require('./misc/mods');
  5. let animations = require('./config/animations');
  6. let skins = require('./config/skins');
  7. let factions = require('./config/factions');
  8. let classes = require('./config/spirits');
  9. let spellsConfig = require('./config/spellsConfig');
  10. let spells = require('./config/spells');
  11. let mapList = require('./config/maps/mapList');
  12. let sheets = require('./security/sheets');
  13. let fixes = require('./fixes/fixes');
  14. let profanities = require('./misc/profanities');
  15. const itemTypes = require('./items/config/types');
  16. const itemPrefixes = require('./items/config/prefixes');
  17. const itemSuffixes = require('./items/config/suffixes');
  18. const routerConfig = require('./security/routerConfig');
  19. let startup = {
  20. init: function () {
  21. io.init(this.onDbReady.bind(this));
  22. },
  23. onDbReady: async function () {
  24. await fixes.fixDb();
  25. process.on('unhandledRejection', this.onError.bind(this));
  26. process.on('uncaughtException', this.onError.bind(this));
  27. animations.init();
  28. mods.init(this.onModsLoaded.bind(this));
  29. },
  30. onModsLoaded: function () {
  31. routerConfig.init();
  32. classes.init();
  33. spellsConfig.init();
  34. spells.init();
  35. itemTypes.init();
  36. itemPrefixes.init();
  37. itemSuffixes.init();
  38. profanities.init();
  39. mapList.init();
  40. components.init(this.onComponentsReady.bind(this));
  41. },
  42. onComponentsReady: function () {
  43. skins.init();
  44. factions.init();
  45. clientConfig.init();
  46. server.init(this.onServerReady.bind(this));
  47. },
  48. onServerReady: async function () {
  49. await leaderboard.init();
  50. atlas.init();
  51. sheets.init();
  52. },
  53. onError: async function (e) {
  54. if (e.toString().indexOf('ERR_IPC_CHANNEL_CLOSED') > -1)
  55. return;
  56. _.log('Error Logged: ' + e.toString());
  57. _.log(e.stack);
  58. await io.setAsync({
  59. key: new Date(),
  60. table: 'error',
  61. value: e.toString() + ' | ' + e.stack.toString()
  62. });
  63. process.exit();
  64. }
  65. };
  66. startup.init();