78 lines
2.7 KiB
TypeScript
78 lines
2.7 KiB
TypeScript
import ChargeConfig from "./game/core/ChargeConfig";
|
||
import GameUtil from "./game/core/GameUtil";
|
||
import FrozenIPMgr from "./game/gate/FrozenIPMgr";
|
||
import FrozenMacMgr from "./game/gate/FrozenMacMgr";
|
||
import HttpGate from "./game/gate/HttpGate";
|
||
import ServerMgr from "./game/gate/ServerMgr";
|
||
import SKLogger from "./game/gear/SKLogger";
|
||
import DB from "./game/utils/DB";
|
||
import DBForm from "./game/utils/DBForm";
|
||
import GameConf from "./conf/GameConf";
|
||
import Command from "./game/common/Command";
|
||
// 未知异常捕获
|
||
process.on('uncaughtException', function (err: any) {
|
||
console.error('An uncaught error occurred!');
|
||
console.error(err.stack);
|
||
});
|
||
|
||
export default class Gate {
|
||
mod_list: any = {};
|
||
constructor() {
|
||
SKLogger.initLog("gate")
|
||
}
|
||
private complete() {
|
||
SKLogger.info('网关服务器启动完毕,等待命令');
|
||
}
|
||
init(mod: any) {
|
||
this.mod_list[mod] = 0;
|
||
return () => {
|
||
this.mod_list[mod] = 1;
|
||
let allcomplete = true;
|
||
for (const mkey in this.mod_list) {
|
||
if (this.mod_list.hasOwnProperty(mkey)) {
|
||
const value = this.mod_list[mkey];
|
||
if (value == 0) {
|
||
allcomplete = false;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
if (allcomplete) {
|
||
this.complete();
|
||
}
|
||
}
|
||
}
|
||
|
||
lanuch() {
|
||
// 加载配置
|
||
GameUtil.serverType = 'gate';
|
||
GameUtil.localIP = GameUtil.getIPAdress();
|
||
GameUtil.serverId = GameConf.gate_id;
|
||
GameUtil.serverName= GameConf.gate_name;
|
||
GameUtil.launch();
|
||
SKLogger.info(`${GameUtil.serverName}V${GameConf.version} 启动...`);
|
||
// 启动命令行管理
|
||
Command.shared.launch();
|
||
SKLogger.info('1.命令行模块启动完毕');
|
||
//启动http模块
|
||
HttpGate.shared.start(GameConf.gate_port);
|
||
SKLogger.info(`2.HTTP模块启动完毕,开始监听${GameConf.local_ip}:${GameConf.gate_port}`);
|
||
DB.init();
|
||
DBForm.shared.launch();
|
||
SKLogger.info(`3.数据库管理模块启动完毕`);
|
||
//启动服务器管理模块
|
||
ServerMgr.shared.launch();
|
||
SKLogger.info(`4.服务器管理模块启动完毕`);
|
||
//充值配置模块启动完毕
|
||
ChargeConfig.shared.launch();
|
||
SKLogger.info(`5.充值配置模块启动完毕`);
|
||
//启动封禁IP管理模块
|
||
FrozenIPMgr.shared.launch();
|
||
SKLogger.info(`6.封禁IP管理模块启动完毕`);
|
||
//启动封禁设备管理模块
|
||
FrozenMacMgr.shared.init();
|
||
SKLogger.info(`7.封禁设备管理模块启动完毕`);
|
||
}
|
||
}
|
||
|
||
new Gate().lanuch(); |