npc0-hue
c959a5bc03
Give the SCUM live map the full width and add catalog icon pickers
...
- Drop the live-map stat strip and the half-width detail column: the map board now spans the row, is taller, and the selected point renders as a compact strip under it.
- Fit the map filters into a single row with small layer chips, and switch the board between terrain, topo and night base layers plus the extracted building-zone overlay.
- Add a searchable SCUM catalog picker with icons for gift items and event produces, show gift item and vehicle icons in the lists, and keep the picker grid closed until it is opened so no icon is requested up front.
2026-09-16 07:58:48 +08:00
npc0-hue
839aff35ed
Load SCUM catalog icons on demand instead of importing every icon module
...
- Resolve the 2604 extracted icons through a generated static asset URL lookup instead of an eager import.meta.glob, so opening a plugin page no longer pulls every icon as its own dev-server module.
- Keep the icon URLs cacheable per rendered element and add a test that the catalog never regains the module glob and that every declared icon file ships.
2026-09-15 16:43:49 +08:00
npc0-hue
59a8657297
Add SCUM entity catalog with extracted map and icons
...
- Import 2492 entity records (2391 items, 54 vehicles, 25 zombies, 12 animals, 10 armed NPCs) with spawn commands and icon names from the SCUM Admin Helper 0.4.0.5 payload.
- Ship the 2604 extracted item/NPC icons plus 4096 terrain, topo, night and building-zone map layers.
- Resolve vehicle icons through the catalog so live-map and trajectory markers cover every known vehicle class.
- Point map geometry and the live map background at the 4096 terrain layer.
2026-09-15 15:56:44 +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
4ea27bda6a
Isolate server search from the delete password prompt
...
The delete confirmation adds a password field. Browsers and password managers
paired it with the only other text field on the page and filled the account
name into the server search box on the server list.
The search input now stays out of the DOM while a delete confirmation is open,
and the toolbar shows a suspended notice styled to match the field it replaces
so the row does not jump. A jsdom test drives the real action menu and dialog
instead of asserting page source strings.
2026-09-15 12:25:17 +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
63e2340db7
Prune stale plugin metadata
2026-09-14 17:32:51 +08:00
npc0-hue
ecdca8e28b
Remove SCUM sqlite user projections
2026-09-14 13:41:44 +08:00
npc0-hue
b1f102bafb
Stop configuration snapshot request loop
2026-09-11 16:35:42 +08:00
npc0-hue
6e858e1b9c
Expand SCUM configuration catalog
2026-09-11 12:16:01 +08:00
npc0-hue
8e6d12f6f1
Add server configuration editor
2026-09-11 11:40:06 +08:00
npc0-hue
8c924b5928
Reduce log ingest and SCUM page refresh pressure
2026-09-09 16:21:12 +08:00
npc0-hue
e6e38b275a
Declare SCUM database data target
2026-09-09 15:35:29 +08:00
npc0-hue
892c6d843f
Hydrate terminal drawer with current log history
2026-09-09 15:02:39 +08:00
npc0-hue
f88123e185
Tighten SCUM user table layout
2026-09-09 11:36:44 +08:00
npc0-hue
dfe4bd72d8
Prioritize functional implementation before 1.0
2026-09-09 10:35:02 +08:00
npc0-hue
84380105fc
Keep SCUM data parsing plugin-owned
2026-09-09 10:13:47 +08:00
npc0-hue
4f20fcaf5b
Show SCUM create inputs when adopting servers
2026-09-08 14:48:17 +08:00
npc0-hue
fd9dbab669
Reduce hot run polling pressure
2026-09-07 20:26:20 +08:00
npc0-hue
4ab7bb820d
Reduce server console polling load
2026-09-07 19:49:20 +08:00
npc0-hue
1b583f3ca6
Fix server file list fallback
2026-09-07 18:54:56 +08:00
npc0-hue
f69429bfc7
Fix server create plugin filtering
2026-09-07 18:17:33 +08:00
npc0-hue
86167a3a1b
Fix SCUM query port startup input
2026-09-07 14:56:12 +08:00
npc0-hue
5be7ec112e
fix: isolate server search from password autofill
2026-09-07 12:01:45 +08:00
npc0-hue
49090fc3aa
fix: declare SCUM trajectory bridge producers
2026-09-07 11:50:49 +08:00
npc0-hue
cf836715e2
fix: prevent loopback Run release URLs
2026-09-05 18:11:58 +08:00
npc0-hue
4923308fb4
Document hot-path data access rules
2026-09-04 17:41:08 +08:00
npc0-hue
44f0b4a44b
Render log entries without content classification
2026-09-04 14:41:21 +08:00
npc0-hue
8dad79011a
Stop inspecting game log content in web terminal
2026-09-04 14:40:09 +08:00
npc0-hue
ba36668668
Keep plugin records out of platform projections
2026-09-04 14:29:50 +08:00
npc0-hue
3cfb98ed47
Remove legacy runtime deployment paths
2026-09-04 12:36:21 +08:00
npc0-hue
14cbc63e61
Tighten opaque plugin content boundaries
2026-09-03 18:24:39 +08:00
npc0-hue
80cddbf19d
Remove legacy client-manager platform path
2026-09-03 16:40:05 +08:00
npc0-hue
ec2462a312
Complete artifact binary transfer streaming
2026-09-03 13:27:22 +08:00
npc0-hue
fe09d21a56
Remove legacy client-manager workflows
2026-09-03 13:08:08 +08:00
npc0-hue
bf3c382d15
Make log payloads opaque pass-through
2026-09-03 12:40:17 +08:00
npc0-hue
5b82a42cc4
Remove file log store memory mirror
2026-09-03 12:21:07 +08:00
npc0-hue
6311eb72ba
Speed up artifact downloads
2026-09-03 11:27:19 +08:00
npc0-hue
a82f1ff01a
Remove SCUM server-management client path
2026-09-02 17:56:49 +08:00
npc0-hue
6e614d3fa3
Keep Run and Platform logs opaque
2026-09-02 12:23:16 +08:00
npc0-hue
aeda833294
Simplify plugin manifest log declarations
2026-09-02 10:22:39 +08:00
npc0-hue
a027ca70eb
Align runtime profiles with plugin-owned records
2026-09-02 10:22:14 +08:00
npc0-hue
6018d8f0fc
Restore durable log ingest and typed plugin projections
2026-09-02 10:20:30 +08:00
npc0-hue
40ac46ba17
Move game log processing into SCUM companion
2026-09-02 10:18:27 +08:00
npc0-hue
7d9c1b7e9e
Make SCUM logs live relay only
2026-09-01 14:26:00 +08:00
npc0-hue
3f348401a9
Clarify pre-1.0 live log ownership
2026-08-31 18:56:57 +08:00
npc0-hue
ea4e780562
Fix SCUM companion trajectory storage
2026-08-31 15:42:16 +08:00
npc0-hue
bc927a5144
Load current terminal session tail
2026-08-31 12:16:43 +08:00
npc0-hue
9691dbcb3d
Preserve terminal output across log sessions
2026-08-31 04:59:03 +08:00
npc0-hue
4e9a2bfeaa
Implement browser control skill integration
2026-08-31 04:52:56 +08:00
npc0-hue
fa2ce17ce3
Fix generated run lifecycle profile scope
2026-08-31 01:20:36 +08:00
npc0-hue
8194671656
Fix run package profile and log ingestion
2026-08-30 23:59:18 +08:00
npc0-hue
8686419fb2
Keep generated Run component key empty
2026-08-29 12:38:32 +08:00
npc0-hue
31797caeff
Ignore local platform runtime artifacts
2026-08-29 11:38:53 +08:00
npc0-hue
35a272ce23
Accept sessioned autonomous run logs
2026-08-29 10:36:32 +08:00
npc0-hue
bc10cd7400
Remove legacy plugin query projections
2026-08-28 18:00:03 +08:00
npc0-hue
aafbec4c96
Move SCUM trajectories to plugin SQL storage
2026-08-28 17:50:45 +08:00
npc0-hue
bb187f6007
Tighten SCUM user table display
2026-08-28 14:32:28 +08:00
npc0-hue
3ca67907a1
Show SCUM player identifiers and login IP
2026-08-28 11:54:16 +08:00
npc0-hue
dcbeb33dfc
Normalize legacy file list job results
2026-08-27 17:48:51 +08:00
npc0-hue
75ef3761ca
Keep SCUM page bundle registration compatible
2026-08-27 17:21:09 +08:00
npc0-hue
d3b7207019
Bump SCUM plugin registration version
2026-08-27 16:59:31 +08:00
npc0-hue
a0e7ae362b
Add SCUM trade catalog projections
2026-08-27 16:14:59 +08:00
npc0-hue
316efbe780
Add SCUM log sessions and trajectory projections
2026-08-27 12:34:07 +08:00
npc0-hue
0940780058
adjust server detail default and status layout
2026-08-27 10:17:04 +08:00
npc0-hue
2937ece1bc
fix SCUM player online freshness display
2026-08-27 10:12:23 +08:00
npc0-hue
9022cf0bea
Restore visible game operation tabs
2026-08-27 09:52:54 +08:00
npc0-hue
1c52703b3e
Tighten SCUM plugin console UI
2026-08-27 09:41:46 +08:00
npc0-hue
feec02dc14
Group game operation sections
2026-08-27 08:26:42 +08:00
npc0-hue
305fdbdb74
Simplify SCUM management surfaces
2026-08-27 08:20:51 +08:00
npc0-hue
55a5d6de80
Add Run control event stream
2026-08-26 23:06:06 +08:00
npc0-hue
6369a8099a
Fix server file browse flow
2026-08-26 22:00:23 +08:00
npc0-hue
861ee752ed
Limit Run target platforms to plugin declarations
2026-08-26 16:45:43 +08:00
npc0-hue
35f1eb0844
Reduce server file refresh latency
2026-08-26 15:47:34 +08:00
npc0-hue
e3e1c787be
Simplify server detail actions
2026-08-26 15:34:14 +08:00
npc0-hue
d395019848
Simplify server file toolbar
2026-08-26 15:24:21 +08:00
npc0-hue
c996297c9d
Release SCUM plugin 0.1.13
2026-08-26 11:30:56 +08:00
npc0-hue
e269311c07
Fix server file workspace root
2026-08-26 11:04:43 +08:00
npc0-hue
84146924c1
fix: locate run module before build
2026-08-26 09:00:28 +08:00
npc0-hue
31eda4f67f
fix: prepare run build config directory
2026-08-26 08:55:13 +08:00
npc0-hue
3f493bb78c
Fix Run file capability negotiation
2026-08-25 23:16:02 +08:00
npc0-hue
a90474f896
fix: preserve platform builder failure diagnostics
2026-08-25 22:48:57 +08:00
npc0-hue
321bda3f2f
Filter stale batches from live terminal logs
2026-08-25 22:34:33 +08:00
npc0-hue
7ebe3bb3dd
Remove terminal log replay
2026-08-25 22:25:09 +08:00
npc0-hue
725b71b6b6
Make terminal log stream live-only by default
2026-08-25 09:42:24 +08:00
npc0-hue
199fa8b41d
Fix SCUM file list capability fallback
2026-08-25 09:32:25 +08:00
npc0-hue
7e10c5685a
Fix server file refresh pending state
2026-08-24 18:06:42 +08:00
npc0-hue
7e15cb09b4
Fix server file root loading and refresh
2026-08-24 17:28:54 +08:00
npc0-hue
d4e3f68032
Ship SCUM user SQL management page
2026-08-24 16:43:00 +08:00
npc0-hue
3005e0510c
Make server file manager list-first
2026-08-24 15:39:05 +08:00
npc0-hue
49b90ebd29
Synthesize default server file workspace
2026-08-24 14:35:10 +08:00
npc0-hue
3521a7f579
Remove duplicate server detail metrics
2026-08-24 14:30:15 +08:00
npc0-hue
d6ee482957
Fix SCUM RCON runtime profile resolution
2026-08-24 14:13:59 +08:00
npc0-hue
3e00737267
fix terminal system lines to use server time
2026-08-24 14:07:33 +08:00
npc0-hue
504387c657
Fix server file workspace null handling
2026-08-24 14:06:14 +08:00
npc0-hue
33d3a13e74
Add server file manager workflow
2026-08-24 12:56:55 +08:00
npc0-hue
dc9b0eaf2a
fix legacy SCUM RCON runtime profile resolution
2026-08-24 11:27:08 +08:00
npc0-hue
b69939a5ce
fix console log time and server card layout
2026-08-24 11:06:18 +08:00
npc0-hue
878f26c947
Release SCUM plugin package 0.1.12
2026-08-24 10:26:55 +08:00
npc0-hue
55b5483e68
Declare SCUM runtime executable for extensions
2026-08-24 10:14:04 +08:00