Commit Graph
46 Commits
Author SHA1 Message Date
npc0-hue e8ebf562c7 Clarify AI config dispatch failures 2026-09-23 09:54:18 +08:00
npc0-hue a8b5d483a3 Remove AI config approval flow 2026-09-22 15:33:32 +08:00
npc0-hue bc45188be9 Send user trajectories from the user list into a focused live map
- Open 「用户轨迹」 straight on the live map instead of a drawer, carrying the
  server, the focused user and a start/end window through the plugin page hash.
- Default that window to one hour before the user's last seen time and keep the
  plugin page query available to bundles through the host context.
- Replace the time range preset gate with always visible start/end datetime
  fields plus a quick-range select, so the user list rebuilds from the window.
- Drop the bulky trajectory list and draw one compact colour legend under the
  map, keeping a stable colour per identity and restricting vehicle tracks to
  the vehicles the selected users actually rode.
2026-09-16 19:35:31 +08:00
npc0-hue 05f5a97ba9 Add graceful SCUM stop, restart, and version update flow
SCUM 停止/重启/更新以前只有“结束进程”这一条路,插件没有声明任何优雅关闭方式,
平台也没有把停止后重新启动串起来。现在插件声明自己的关闭脚本,run 先执行它,
平台在停止或更新成功后再自动拉起服务。

run:
- lifecycle stop 支持插件声明的 gracefulStop(可执行文件、参数、环境、超时、
  fallback=report|terminate);关闭命令超时且声明 report 时任务失败,不再默默杀进程。
- 新增 steam.update 依赖探针:调用 steamcmd +app_info_print 获取公开分支 buildid,
  与本地 steamapps/appmanifest_<appid>.acf 的 buildid 比较,输出
  installed/latest/update=yes|no|unknown。

platform:
- 新增 POST /api/v1/server-instances/{id}/restart 与 /update。
- restart 派发插件 stop 动作(走优雅关闭),终态成功后入队 start 作业。
- update 派发插件 install 动作;插件在更新前必须先优雅关闭 SCUM,关闭失败直接拒绝
  SteamCMD 更新,成功后平台再拉起服务。
- 依赖检查输入带上插件声明的服务器安装根目录,供 steam.update 读取 appmanifest。

plugin (SCUM server plugin 0.1.16):
- bin/scum-stop.cmd:解析已声明的可执行文件路径,定位同路径正在运行的 SCUMServer.exe,
  通过本地 RCON 公告并发送关闭命令,等待进程自行退出;不再使用 taskkill。
- bin/scum-rcon.ps1:插件自有的 Source RCON 客户端,从 UE4SS mod config.ini 读取
  密码/端口,密钥不离开本机。
- actions/stop.json 声明 gracefulStop;actions/install.json 更新前先执行同一关闭脚本。

platform_web:
- 服务器详情新增“重启”按钮和“SCUM 版本更新”面板;点“检查更新”查询公开分支版本,
  只有检测到更新时“更新版本”按钮才会置为可用并高亮,点击后先确认再派发更新任务。
2026-09-15 13:30:15 +08:00
npc0-hue a822e9250a Store SCUM facts in typed platform tables
Run pushes typed SCUM facts through POST /api/v1/run/scum/facts, but the
production router rejected that path before the signature middleware because
runServiceRequest listed individual Run channel prefixes, and MySQL kept SCUM
rows inside the whole metadata snapshot instead of platform tables.

- /api/v1/run/ is now the signed machine channel space while
  /api/v1/run/endpoints keeps normal bearer/admin authorization.
- MySQL gets real scum_user, scum_user_trajectory, scum_vehicle,
  scum_vehicle_trajectory and scum_vehicle_lock tables with parameterized
  per-row repositories instead of full snapshot rewrites. Snapshot-shaped
  tables from the unreleased interim build are replaced, and SCUM rows still
  inside a metadata snapshot are migrated once.
- Facts ingest verifies the target server plugin type and converges stale
  online users to offline after SCUMUserOfflineAfter.
- The plugin page and browser read one bounded /scum/surface response instead
  of five list calls per refresh.

Call-count budget for one server: per 5s facts batch, one SELECT plus one
INSERT/UPDATE per reported user and vehicle, one INSERT per moved trajectory
sample or new lock row, one bounded stale-user SELECT, and a trajectory
retention DELETE at most once per hour. One browser refresh issues one surface
request every 15s instead of five list requests.
2026-09-15 12:12:11 +08:00
npc0-hue ecdca8e28b Remove SCUM sqlite user projections 2026-09-14 13:41:44 +08:00
npc0-hue f69429bfc7 Fix server create plugin filtering 2026-09-07 18:17:33 +08:00
npc0-hue 3cfb98ed47 Remove legacy runtime deployment paths 2026-09-04 12:36:21 +08:00
npc0-hue 80cddbf19d Remove legacy client-manager platform path 2026-09-03 16:40:05 +08:00
npc0-hue fe09d21a56 Remove legacy client-manager workflows 2026-09-03 13:08:08 +08:00
npc0-hue 33d3a13e74 Add server file manager workflow 2026-08-24 12:56:55 +08:00
npc0-hue fb5adf06d6 Remove run node UI and expire registrations 2026-08-21 12:03:06 +08:00
npc0-hue a7e2e4c6c0 Remove pre-1.0 audit and protected request scaffolding 2026-08-20 23:42:02 +08:00
npc0-hue 40b35b05c7 feat: 清理openspec 2026-08-20 17:58:36 +08:00
npc0-hue 65353cf269 feat(scum): rebuild plugin-owned management data 2026-08-15 12:43:09 +08:00
npc0-hue a6c4cdac5d Rebuild SCUM plugin data ownership 2026-08-14 10:03:58 +08:00
npc0-hue da01d39866 Align SCUM operations with reference tools 2026-08-13 18:21:08 +08:00
npc0-hue 8b236d7c15 Implement SCUM direct data plane 2026-08-13 16:33:11 +08:00
npc0-hue b07a792784 Revert SCUM real data management change 2026-08-13 15:33:34 +08:00
npc0-hue 13746150cb refactor(scum): remove legacy projection workflows 2026-08-11 15:18:03 +08:00
npc0-hue df48d8b283 feat(scum): remove legacy workflow client surfaces 2026-08-11 14:31:05 +08:00
npc0-hue e5d26e5420 feat(scum): remove fake management surfaces 2026-08-11 12:30:45 +08:00
npc0-hue a770bc6250 Integrate SCUM real ops workflows 2026-08-10 21:12:53 +08:00
npc0-hue d1f4dce4f5 Refine terminal history scrolling and job failure summaries 2026-08-10 13:48:23 +08:00
npc0-hue fbd24b6a44 Remove manual runtime controls from server detail 2026-08-10 12:23:17 +08:00
npc0-hue b789925ae5 fix: recover run runtime state and logs 2026-08-07 12:01:26 +08:00
npc0-hue acec5e4367 Allow restarting failed server instances 2026-08-06 18:18:20 +08:00
npc0-hue cf9af14eaf Allow forced server deletion 2026-08-04 15:03:49 +08:00
npc0-hue 86a50ec8fa Fix SCUM file workbench interactions 2026-08-04 12:05:27 +08:00
npc0-hue f028a343d7 Add SCUM file management workbench 2026-08-04 11:33:34 +08:00
npc0-hue 1d5fb586d0 Repair live server operations console 2026-08-03 11:21:07 +08:00
npc0-hue 03339fb3e8 refactor(scum): remove orphaned host panels 2026-07-29 16:26:19 +08:00
npc0-hue c9494abc48 feat(plugin): gate pages on companion features 2026-07-29 09:53:39 +08:00
npc0-hue 271e1e684f feat(plugin): add SCUM ownership migration foundation 2026-07-28 18:11:00 +08:00
npc0-hue 7f64765c1c feat: auto-deploy guided servers on run registration 2026-07-28 16:57:09 +08:00
npc0-hue c5806cc6b7 fix: expose server deployment trigger 2026-07-28 15:11:01 +08:00
npc0-hue e4ef4024a8 feat(scum): add file config workbench 2026-07-28 14:43:24 +08:00
npc0-hue 2ae27bb746 feat: declare and execute SCUM guided installs 2026-07-27 20:09:14 +08:00
npc0-hue e5c94be1db separate server run bindings from deployment targets 2026-07-25 19:48:26 +08:00
npc0-hue 220ef91a8e feat: support custom server deployment drafts 2026-07-24 16:56:28 +08:00
npc0-hue 6c3eb6e45f fix: 调试发布run 2026-07-22 11:44:48 +08:00
npc0-hue a0e69417db 功能修改 2026-07-20 16:42:33 +08:00
npc0-hue 48b8ad8d6c feat: 完整游戏运维功能 2026-07-18 09:04:01 +08:00
npc0-hue f3b14b7945 feat: 自动更新 2026-07-15 19:43:06 +08:00
npc0-hue 4f33f761a3 Complete platform management workflows 2026-07-14 16:39:37 +08:00
npc0-hue 7e05d0a4e7 first commit 2026-07-11 14:56:10 +08:00