feat: improve manager recovery and expose server pid in dashboard
This commit is contained in:
@@ -164,6 +164,40 @@ export class ServerLifecycle {
|
||||
|
||||
|
||||
|
||||
case "RECOVERING":
|
||||
|
||||
|
||||
if(
|
||||
Date.now() -
|
||||
server.lastSeen
|
||||
>
|
||||
LIFECYCLE_CRASH_TIMEOUT
|
||||
){
|
||||
|
||||
|
||||
server.status =
|
||||
"CRASHED";
|
||||
|
||||
|
||||
this.serverRegistry.update(
|
||||
server
|
||||
);
|
||||
|
||||
|
||||
logger.error(
|
||||
"Server-Recovery fehlgeschlagen:",
|
||||
server.name
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
case "RUNNING":
|
||||
|
||||
|
||||
@@ -318,7 +352,8 @@ export class ServerLifecycle {
|
||||
|
||||
server =>
|
||||
server.status === "RUNNING" ||
|
||||
server.status === "STARTING"
|
||||
server.status === "STARTING" ||
|
||||
server.status === "RECOVERING"
|
||||
|
||||
);
|
||||
|
||||
@@ -582,7 +617,8 @@ export class ServerLifecycle {
|
||||
|
||||
s =>
|
||||
s.status === "RUNNING" ||
|
||||
s.status === "STARTING"
|
||||
s.status === "STARTING" ||
|
||||
s.status === "RECOVERING"
|
||||
|
||||
)
|
||||
.length;
|
||||
|
||||
@@ -16,6 +16,7 @@ export interface ServerInfo {
|
||||
|
||||
status:
|
||||
| "STARTING"
|
||||
| "RECOVERING"
|
||||
| "RUNNING"
|
||||
| "STOPPING"
|
||||
| "CRASHED";
|
||||
@@ -90,7 +91,7 @@ export class ServerRegistry {
|
||||
port: serverData.port,
|
||||
queryPort: serverData.queryPort,
|
||||
created: serverData.created,
|
||||
status: "STARTING",
|
||||
status: "RECOVERING",
|
||||
players: 0,
|
||||
maxPlayers: 0,
|
||||
lastSeen: Date.now()
|
||||
@@ -347,7 +348,10 @@ export class ServerRegistry {
|
||||
|
||||
|
||||
}
|
||||
else if(server.status === "RUNNING"){
|
||||
else if(
|
||||
server.status === "RUNNING" ||
|
||||
server.status === "RECOVERING"
|
||||
){
|
||||
|
||||
|
||||
server.status =
|
||||
@@ -424,7 +428,8 @@ export class ServerRegistry {
|
||||
|
||||
}
|
||||
else if(
|
||||
server.status === "RUNNING"
|
||||
server.status === "RUNNING" ||
|
||||
server.status === "RECOVERING"
|
||||
){
|
||||
|
||||
server.status =
|
||||
|
||||
@@ -102,6 +102,7 @@ export class WebApi {
|
||||
name: server.name,
|
||||
status: server.status,
|
||||
wrapperId: server.wrapperId,
|
||||
pid: server.pid,
|
||||
port: server.port,
|
||||
queryPort: server.queryPort,
|
||||
players: server.players,
|
||||
@@ -124,6 +125,7 @@ export class WebApi {
|
||||
name: server.name,
|
||||
status: server.status,
|
||||
wrapperId: server.wrapperId,
|
||||
pid: server.pid,
|
||||
port: server.port,
|
||||
queryPort: server.queryPort,
|
||||
players: server.players,
|
||||
|
||||
@@ -46,6 +46,7 @@ export interface ServerSummary {
|
||||
name: string;
|
||||
status: string;
|
||||
wrapperId: string;
|
||||
pid?: number;
|
||||
port: number;
|
||||
queryPort: number;
|
||||
players: number;
|
||||
|
||||
Reference in New Issue
Block a user