94 lines
2.2 KiB
TypeScript
94 lines
2.2 KiB
TypeScript
|
/**
|
|||
|
* 服务器信息类
|
|||
|
*
|
|||
|
* state服务器状态:1:正常,2:拥挤
|
|||
|
*/
|
|||
|
|
|||
|
import ServerConf from "../../conf/ServerConf";
|
|||
|
import GameUtil from "../core/GameUtil";
|
|||
|
import Http from "../utils/Http";
|
|||
|
|
|||
|
export default class Server {
|
|||
|
sid: number;
|
|||
|
net_ip: string;
|
|||
|
net_port: number;
|
|||
|
http_port: number;
|
|||
|
name: string;
|
|||
|
player_num: number;
|
|||
|
is_reg: boolean;
|
|||
|
state: number;
|
|||
|
last_ping: number;
|
|||
|
|
|||
|
constructor() {
|
|||
|
this.sid = 0;
|
|||
|
this.net_ip = "127.0.0.1";
|
|||
|
this.net_port = 8561;
|
|||
|
this.http_port = 8911;
|
|||
|
this.name = '未知服务器';
|
|||
|
this.player_num = 0;
|
|||
|
this.is_reg = false;
|
|||
|
this.state = GameUtil.serverState.lower;
|
|||
|
this.last_ping = 0;
|
|||
|
}
|
|||
|
// 读配置
|
|||
|
readConf(conf: ServerConf) {
|
|||
|
this.sid = conf.server_id;
|
|||
|
this.name = conf.server_name;
|
|||
|
this.net_ip = conf.outer_ip;
|
|||
|
this.net_port = conf.socket_port;
|
|||
|
this.http_port = conf.http_port;
|
|||
|
}
|
|||
|
|
|||
|
parse(conf: any) {
|
|||
|
this.sid = conf.server_id;
|
|||
|
this.name = conf.server_name;
|
|||
|
this.net_ip = conf.outer_ip;
|
|||
|
this.net_port = conf.socket_port;
|
|||
|
this.http_port = conf.http_port;
|
|||
|
}
|
|||
|
|
|||
|
registered(pingtime: any) {
|
|||
|
this.last_ping = pingtime;
|
|||
|
this.is_reg = true;
|
|||
|
this.UpdateState();
|
|||
|
}
|
|||
|
|
|||
|
changePlayerNum(playernum: any) {
|
|||
|
this.player_num = playernum;
|
|||
|
if (this.state != 0) {
|
|||
|
if (this.player_num >= 80) {
|
|||
|
this.state = GameUtil.serverState.high;
|
|||
|
} else {
|
|||
|
this.state = GameUtil.serverState.lower;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
UpdateState() {
|
|||
|
if (this.is_reg == false) {
|
|||
|
return this.state;
|
|||
|
}
|
|||
|
if (this.player_num >= 80) {
|
|||
|
this.state = GameUtil.serverState.high;
|
|||
|
} else {
|
|||
|
this.state = GameUtil.serverState.lower;
|
|||
|
}
|
|||
|
return this.state;
|
|||
|
}
|
|||
|
|
|||
|
getPlayerNum() {
|
|||
|
return this.player_num;
|
|||
|
}
|
|||
|
|
|||
|
send(event: any, data: any, callback: any) {
|
|||
|
Http.sendget(this.net_ip, this.http_port, event, data, callback);
|
|||
|
}
|
|||
|
|
|||
|
toObj(): any {
|
|||
|
let result = {
|
|||
|
serverId: this.sid,
|
|||
|
serverName: this.name,
|
|||
|
}
|
|||
|
return result;
|
|||
|
}
|
|||
|
}
|