UNPKG

1.16 kBJavaScriptView Raw
1var q = require('q'),
2 _ = require('lodash'),
3 net = require('net'),
4 EventEmitter = require('events').EventEmitter,
5 common = require('@screeps/common'),
6 config = Object.assign(common.configManager.config, {backend: new EventEmitter(), cli: new EventEmitter()}),
7 cliServer = require('./cli/server'),
8 gameServer = require('./game/server'),
9 cronjobs = require('./cronjobs'),
10 utils = require('./utils');
11
12module.exports.start = function() {
13
14 common.configManager.load();
15
16 common.storage._connect()
17 .then(() => cliServer.startServer())
18 .then(() => gameServer.startServer())
19 .then(() => {
20 setInterval(cronjobs.run, 1000);
21 for(let i in config.common.bots) {
22 utils.reloadBotUsers(i).catch(e => console.error(`Couldn't reload bot AI "${i}": ${e}`));
23 }
24 })
25 .catch(err => {
26 console.error(err);
27 process.exit();
28 });
29
30 setInterval(() => {
31 var rejections = q.getUnhandledReasons();
32 rejections.forEach((i) => console.error('Unhandled rejection:', i));
33 q.resetUnhandledRejections();
34 }, 1000);
35
36};
\No newline at end of file