Clarify themed UI and runtime status ownership
This commit is contained in:
@@ -8,7 +8,7 @@ This repository is a game server management platform. Do not add billing, cloud
|
||||
|
||||
The platform's required first-party areas are 首页、服务器管理、插件市场、用户管理、AI 提供商管理.
|
||||
|
||||
The platform_web visual direction is a unified magical-girl crystal-moonlight game operations console. Preserve the style rules in `platform_web/AGENTS.md` and `platform_web/theme/README.md`; do not replace it with generic opaque SaaS cards or unrelated visual systems without a future OpenSpec change. Global magical ultimate effects belong in `platform_web/components/MagicalParticleLayer.tsx`, not in page-local fixed decoration spans or one-off backdrop CSS.
|
||||
The platform_web visual direction is a unified themed game operations console: the default first-party theme is black mecha, and the selectable alternate first-party theme is magical-girl crystal-moonlight. Preserve the style rules in `platform_web/AGENTS.md` and `platform_web/theme/README.md`; do not replace it with generic opaque SaaS cards or unrelated visual systems without a future OpenSpec change. Global theme-aware ultimate effects belong in `platform_web/components/MagicalParticleLayer.tsx`, not in page-local fixed decoration spans or one-off backdrop CSS.
|
||||
|
||||
## Server Creation Rules
|
||||
|
||||
@@ -85,11 +85,13 @@ Do not define business structs inside functions. Do not define request/response
|
||||
|
||||
The external run executor must not expose host paths, raw credentials, or direct sockets to plugins or platform_web.
|
||||
|
||||
Platform, plugin, and run lifecycle ownership must stay separated:
|
||||
Platform, plugin, and run lifecycle ownership must stay separated. Platform records desired lifecycle intent and persisted projections, not observed process truth:
|
||||
|
||||
- Platform owns server instances, plugin manifest validation, distribution builds, run registration binding, authorization, and lifecycle job dispatch.
|
||||
- Platform owns server instances, plugin manifest validation, distribution builds, run registration binding, authorization, desired lifecycle job dispatch, and persisted lifecycle projections.
|
||||
- Plugins own game-specific lifecycle behavior: install, update, pre-start checks, start arguments, stop logic, status probes, executable paths, Steam app IDs, and game-specific dependency commands.
|
||||
- Run owns generic machine execution only: scoped file operations, bounded process execution/supervision, declared capability enforcement, logs, artifacts, and channel transport.
|
||||
- Run owns generic machine execution and the observed runtime/process state it supervises: scoped file operations, bounded process execution/supervision, declared capability enforcement, logs, artifacts, and channel transport.
|
||||
|
||||
Observed machine/runtime status must flow from run reports, heartbeats, supervised process facts, and job/log channels. Platform must not treat stale persisted server state, such as `running`, as authoritative when evaluating the current machine process state.
|
||||
|
||||
Do not hardcode game-specific deployment behavior in run or platform services. Values such as `SCUMServer.exe`, Steam app `3792580`, `steamcmd +app_update`, SCUM install directories, `-port`, `-MaxPlayers`, or `-log` belong in the SCUM plugin's manifests, action specs, templates, or scripts.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user