forked from etternagame/NodeMultiEtt
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstart.ts
More file actions
79 lines (68 loc) · 2.24 KB
/
start.ts
File metadata and controls
79 lines (68 loc) · 2.24 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import { ETTServer } from './src/ettServer';
const winston = require('winston');
const argv = require('minimist')(process.argv.slice(2));
const Table = require('cli-table');
const colors = require('colors');
require('dotenv').load();
const logger = winston.createLogger({
format: winston.format.simple(),
transports: [new winston.transports.Console()]
});
const DB_NAME = argv.DB_NAME || process.env.DB_NAME || 'ettmulti';
const PORT =
process.env.OPENSHIFT_INTERNAL_PORT ||
process.env.OPENSHIFT_NODEJS_PORT ||
argv.PORT ||
process.env.PORT ||
8765;
const LOGPACKETS = argv.LOG_PACKETS || process.env.LOG_PACKETS || true;
const MONGODB_URI = argv.MONGODB_URI || process.env.MONGODB_URI;
const PING_INTERVAL = argv.PING_INTERVAL || process.env.PING_INTERVAL || 15000;
const BOT_TOKEN = argv.BOT_TOKEN || process.env.BOT_TOKEN || '';
const OPT_IP = process.env.IP || process.env.OPENSHIFT_NODEJS_IP;
const MIN_VER = argv.MIN_VER || process.env.MIN_VER;
if ('help' in argv) {
logger.info(colors.bold.blue('Example: '));
logger.info('node start.js --MONGODB_URI mongodb://localhost:27017/ --DB_NAME etterna\n');
logger.info(colors.bold.blue('Options: '));
const table = new Table({
head: [
colors.bold.red('Option'),
colors.bold.red('Default'),
colors.bold.red('Example'),
colors.bold.red('Required')
]
});
table.push(
{
'--MONGODB_URI': [
'undefined',
'mongodb://localhost:27017/',
(!process.env.MONGODB_URI).toString()
]
},
{ '--PORT': ['8765', '4655', 'false'] },
{ '--IP': ['localhost', '0.0.0.0', ''] },
{ '--DB_NAME': ['ettmulti', 'myDatabaseName', 'false'] },
{ '--LOGPACKETS': ['true', 'false', 'false'] },
{ '--PING_INTERVAL': ['15000', '20000', 'false'] },
{ '--BOT_TOKEN': ['undefined', 'Mg-this-Iz-is.not-DCeFB-a.real-t0ken-qe', 'false'] }
);
logger.info(table.toString());
process.exit();
}
const server = new ETTServer({
handlers: {},
allowAccountCreation: false,
serverName: 'Etterna Online',
pingCountToDisconnect: 2,
pingInterval: PING_INTERVAL,
logPackets: LOGPACKETS,
port: PORT,
mongoDBURL: MONGODB_URI,
mongoDBName: DB_NAME,
ip: OPT_IP,
minettpcver: MIN_VER,
discord: { botToken: BOT_TOKEN }
});
server.start();