fix(felis): 启动失败的服可在面板重试或停止,玩家入服时直接告知启动失败

This commit is contained in:
Lemon-miaow committed 2026-09-26 22:08:29 +08:00
1 parent c1025274e1
commit 22d1e834ad
28 files changed
+775 -75

No files matched your search

+19 -2
View File
@@ -566,6 +566,13 @@ components:
playerCountUnknown:
type: boolean
description: Owned rows only. Present and true while the operator cannot read the player count, so a stop may disconnect players.
autoRestarts:
type: integer
format: int32
description: Owned rows only. How often the operator recreated the pod of this start after it timed out.
startGaveUp:
type: boolean
description: Owned rows only. Present and true for a Failed server no automatic retry will bring up; waking it from the panel starts it over.
BackupView:
type: object
@@ -1165,7 +1172,9 @@ paths:
description: >-
velocity holds no web Principal, so it drives the wake lever with its
service token, identifying the player by online-mode UUID. Gated by the
server's autostartPolicy and the per-server wake cooldown.
server's autostartPolicy and the per-server wake cooldown. A server whose
start failed with its automatic retries spent answers 409 start_failed: a
join never resets the retry budget, so velocity queues no one for it.
x-felis-face: [internal]
x-felis-tier: service
x-felis-callers: [velocity]
@@ -1203,7 +1212,11 @@ paths:
'404':
$ref: '#/components/responses/NotFound'
'409':
description: A restore, backup or file write holds the server's world volume (maintenance_in_progress); nothing was started.
description: >-
Nothing was started. maintenance_in_progress: a restore, backup or
file write holds the server's world volume. start_failed: the last
start failed and its automatic retries are spent (ServerInfo.startGaveUp);
the server stays down until a person starts it from the panel.
content:
application/json:
schema: { $ref: '#/components/schemas/Error' }
@@ -1767,6 +1780,10 @@ paths:
tags: [servers]
operationId: wake
summary: Wake your own server.
description: >-
On a server whose start Failed (phase Failed, desiredState Running) this
is a retry: the operator recreates the pod and starts it over with a
fresh automatic-restart budget. It is audited as retry_start.
x-felis-face: [external]
x-felis-tier: app
security: [{ sessionCookie: [] }]