-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathgameserver.js
66 lines (53 loc) · 2.06 KB
/
gameserver.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
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
const Server = require('./GameServer/Server');
const npcs = require('./GameServer/Models/Npcs');
const database = require('./Database');
const config = require('./config');
const serverStatus = require('./enums/serverStatus');
const serverTypes = require('./enums/serverTypes');
const server = new Server();
async function run() {
try {
await database.connect(config.database.host, config.database.dbname, () => {
console.log("database connected: success");
});
} catch(e) {
console.log(e.message);
return;
}
try {
server.start(config.gameserver.host, config.gameserver.port, async () => {
// console.log('\n');
// console.log('########################################');
// console.log('# lineage2js #');
// console.log('# game server #');
// console.log('# Chronicle ....... %s #', 'C1');
// console.log('# Protocol ........ %d #', 419);
// console.log('########################################');
// console.log('\n');
const isGameServerExists = await database.checkGameServerExistsById(config.gameserver.id);
if (!isGameServerExists) {
await database.addGameServer({
id: config.gameserver.id,
host: config.gameserver.host,
port: config.gameserver.port,
ageLimit: config.gameserver.ageLimit,
isPvP: config.gameserver.isPvP,
maxPlayers: config.gameserver.maxPlayers,
status: serverStatus.STATUS_DOWN,
type: serverTypes.SERVER_NORMAL
});
}
const gameserver = await database.getGameServerById(config.gameserver.id);
await database.updateGameServerById(gameserver.id, "status", serverStatus.STATUS_UP);
npcs.spawn();
});
} catch {
}
}
process.stdin.resume();
process.on('SIGINT', async () => {
const gameserver = await database.getGameServerById(config.gameserver.id);
await database.updateGameServerById(gameserver.id, "status", serverStatus.STATUS_DOWN);
process.exit(0);
});
run();