forked from screeps/backend-local
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
36 lines (31 loc) · 1.1 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
var q = require('q'),
_ = require('lodash'),
net = require('net'),
EventEmitter = require('events').EventEmitter,
common = require('@screeps/common'),
config = Object.assign(common.configManager.config, {backend: new EventEmitter(), cli: new EventEmitter()}),
cliServer = require('./cli/server'),
gameServer = require('./game/server'),
cronjobs = require('./cronjobs'),
utils = require('./utils');
module.exports.start = function() {
common.configManager.load();
common.storage._connect()
.then(() => cliServer.startServer())
.then(() => gameServer.startServer())
.then(() => {
setInterval(cronjobs.run, 1000);
for(let i in config.common.bots) {
utils.reloadBotUsers(i).catch(e => console.error(`Couldn't reload bot AI "${i}": ${e}`));
}
})
.catch(err => {
console.error(err);
process.exit();
});
setInterval(() => {
var rejections = q.getUnhandledReasons();
rejections.forEach((i) => console.error('Unhandled rejection:', i));
q.resetUnhandledRejections();
}, 1000);
};