Lemon-miaow
|
adf563ffe3
|
feat(distributed): 支持单主控多节点部署和停服迁移
复用现有 k3s 调度和 Job 生命周期,增加 worker 接入与批准、受保护节点身份、归档传输、持久迁移锁及活动 PVC 切换;同步管理员 API、CLI、面板和隔离规则。分布式模式默认关闭,保持单机兼容。
验证:Go 全量测试与 vet;面板 874 个测试、lint/build;Linux VM 安装器测试、清单服务端 dry-run、网络命名空间防火墙实测。A/B/C 三机 WireGuard、Velocity 和迁移验收仍待完成。
|
2026-10-01 19:48:37 +08:00 |
|
flyemoji
|
3922aae9a7
|
fix(api): require reauthentication for changes to own email and passkeys; update OpenAPI descriptions
|
2026-09-29 13:39:35 +09:00 |
|
Lemon-miaow
|
ab4d8c2bf7
|
test(staticcheck): 删掉没人调用的 mustRead 和一次没被读的赋值
|
2026-09-29 03:25:26 +08:00 |
|
Lemon-miaow
|
20c4ae5567
|
test(exports): 等待浏览器的导出上传在子测试内取走并等它返回,-race 下不再和下一个子测试改领取时限撞车
|
2026-09-29 02:28:50 +08:00 |
|
Lemon-miaow
|
94864473ce
|
fix(files): 服务器运行时下载文件的拒绝说明改为先停服再操作文件
|
2026-09-29 01:45:43 +08:00 |
|
Lemon-miaow
|
2b9cd1869c
|
fix(files): 编辑器保存和打开也逐跳核对 SHA-256,途中变了的内容不写盘也不打开
|
2026-09-29 01:43:37 +08:00 |
|
Lemon-miaow
|
cb3065da1d
|
fix(files): 模组包上传也逐段核对 SHA-256、长文件名能写、卡住的导出按时停掉、世界被占用时文件页说明原因并等它结束
|
2026-09-29 01:26:24 +08:00 |
|
Lemon-miaow
|
1d1549cea2
|
feat(files): 大文件分片上传、停服解压 zip 先列冲突再覆盖、文件和文件夹可下载;导出和下载不再带出 RCON 密码与转发密钥
|
2026-09-28 22:44:03 +08:00 |
|
Lemon-miaow
|
5dffadb40d
|
feat(backups): 主人和管理员可下载单个备份、导出停服世界,字节经一次性票据从导出 Job 流式转给浏览器,备份按 sha256 核对
|
2026-09-28 00:58:42 +08:00 |
|
Lemon-miaow
|
34b81ee8fe
|
feat(schedules): 每台服务器可设计划任务,按星期和时区定时发命令、重启、停服、开服或备份,重启和备份前可在游戏内提醒
|
2026-09-27 22:48:49 +08:00 |
|
Lemon-miaow
|
051cc1c9f5
|
feat(files): 文件管理可新建、建目录、删除、重命名和上传,写入内容拆成多个环境变量不再超内核单变量上限
|
2026-09-27 19:58:28 +08:00 |
|
Lemon-miaow
|
b6751eac0f
|
feat(backups): 主人和管理员可删除单个备份,归档由 reaper 下一轮删除、异地副本随下次同步删除,恢复可能在读时拒绝
|
2026-09-27 18:09:49 +08:00 |
|
Lemon-miaow
|
840d339760
|
fix(dbbackup): 备份新鲜度按最新的 daily 包算,手动或异地包不再掩盖停掉的定时任务
|
2026-09-27 16:40:50 +08:00 |
|
Lemon-miaow
|
a32e8c19f7
|
fix(api): 契约检查对请求体按字段严格比对且不看 Content-Type,补上 approve 的 expected_digest 请求体
|
2026-09-27 16:14:52 +08:00 |
|
Lemon-miaow
|
1e42e9a87b
|
fix(velocity): 休眠服 MOTD 按唤醒策略说明谁能唤醒,闲置回收期间加入给出回收提示
|
2026-09-27 15:02:16 +08:00 |
|
Lemon-miaow
|
56a4bbcf4c
|
refactor(api): 删掉没有调用方的 QuotaAvailable,修正 passkey last_used_at 的过时注释
|
2026-09-27 14:20:20 +08:00 |
|
Lemon-miaow
|
e9e9a7a622
|
fix(api): 收到 API 时钟的 repo 写操作一律用它打时间戳,不再和 PG now() 混用
|
2026-09-27 14:15:03 +08:00 |
|
Lemon-miaow
|
e491e063cf
|
fix(api): 消费 op-login 请求时要求已审批,fake 同步
|
2026-09-27 14:04:34 +08:00 |
|
Lemon-miaow
|
009e81b4cf
|
fix(api): op-login finish 拒绝审批后被停用或删除的账号
|
2026-09-27 14:00:33 +08:00 |
|
Lemon-miaow
|
1124413876
|
fix(api): setup 链接在同一事务里消费并建会话,存储故障回 500 且链接仍可重试
|
2026-09-27 13:55:56 +08:00 |
|
Lemon-miaow
|
67a7e27f8d
|
fix(api): 服务器显示名称限 64 个可见字符,拒绝换行、控制符和不可见格式符
|
2026-09-27 13:30:28 +08:00 |
|
Lemon-miaow
|
b8da4e2318
|
fix(api): ownerOnly/adminOnly 包在已有的包装外层,路由的每层门禁都生效
|
2026-09-27 13:22:18 +08:00 |
|
Lemon-miaow
|
fef8d962c9
|
fix(api): UserDetail 读不到绑定账号时返回错误,不再显示为未绑定
|
2026-09-27 13:18:37 +08:00 |
|
Lemon-miaow
|
01408014b2
|
fix(api): quantityToMB 按 MiB 向上取整,配额不再少算零头
|
2026-09-27 13:16:49 +08:00 |
|
Lemon-miaow
|
2c5a85a033
|
fix(api): 调整资源先在 owner 的认领锁内核配额并写缓存再 patch 集群,集群拒绝时缓存回到集群的大小
|
2026-09-27 13:15:18 +08:00 |
|
Lemon-miaow
|
7f203b9245
|
fix(api): ListUsers 的 total 按同一组过滤条件计数,面板不再翻出空页
|
2026-09-27 13:01:12 +08:00 |
|
Lemon-miaow
|
e91886822c
|
fix(api): mc_uuid 统一校验为 UUID,非法值返回 400 bad_mc_uuid 并按规范形式存储
|
2026-09-27 12:57:40 +08:00 |
|
Lemon-miaow
|
5b0686dc06
|
fix(api): 停服时 CR 已不存在返回 404 not_found,与唤醒一致
|
2026-09-27 12:49:46 +08:00 |
|
Lemon-miaow
|
f692725bed
|
fix(migrate): 兑换迁移码在双方认领锁下检查目标配额,超出返回 403 migrate_quota_exceeded 且码不消耗
|
2026-09-27 12:46:49 +08:00 |
|
Lemon-miaow
|
4ae64cc2e8
|
fix(menu): 大厅菜单按玩家标出每台服能否启动及原因,自己的服排前面,状态改成中文
|
2026-09-27 05:02:33 +08:00 |
|
Lemon-miaow
|
d2730c6e5a
|
fix(submit): 分块上传的预算检查复用一分钟内读过的 blob 大小,存储读不到时回 503 让面板自动重试
|
2026-09-27 04:13:48 +08:00 |
|
Lemon-miaow
|
0e08fa7ced
|
fix(servers): 主人可放弃服务器、管理员可删除服务器,由 reaper 归档世界后释放或移除
|
2026-09-27 03:49:49 +08:00 |
|
Lemon-miaow
|
4a26bf4ca0
|
fix(allowlist): 唤醒名单可查看、可取消或恢复唤醒权限,换主人时清空
|
2026-09-27 02:55:30 +08:00 |
|
Lemon-miaow
|
d807fd5887
|
fix(servers): 同名重建服务器时旧行从头开始,不再继承上一任的主人、别名、allowlist 和回收警告
|
2026-09-27 02:30:54 +08:00 |
|
Lemon-miaow
|
7aa5034c1a
|
fix(quota): 配额表单整体替换,留空即不限、0 即不给、负数和越界拒收,超配额的服务器仍可调小
|
2026-09-27 02:26:03 +08:00 |
|
Lemon-miaow
|
ee4065b986
|
fix(migrate): 迁移确认只对做确认的会话在 10 分钟内有效,签发和兑换迁移码都给源账户邮箱发通知
|
2026-09-27 02:14:22 +08:00 |
|
Lemon-miaow
|
8ef7112dab
|
feat(backup): 玩过的世界每天在停服后自动打一个定时恢复点,按服按 owner 保留 7 个、90 天过期
|
2026-09-27 00:02:49 +08:00 |
|
Lemon-miaow
|
d6e1a6464c
|
fix(quota): 回收的服务器保留资源规格,认领时按集群里的真实规格过配额并写回缓存
|
2026-09-26 23:28:18 +08:00 |
|
Lemon-miaow
|
d65cf3af30
|
fix(felis): 编辑服务器时内存和 CPU 可各自单改互不清除,显示名可清空,内存显示真实上限
|
2026-09-26 22:22:02 +08:00 |
|
Lemon-miaow
|
22d1e834ad
|
fix(felis): 启动失败的服可在面板重试或停止,玩家入服时直接告知启动失败
|
2026-09-26 22:08:29 +08:00 |
|
Lemon-miaow
|
c1025274e1
|
fix(velocity): 等待队列跟随服的启动进度,自动重试期间一直等并每分钟报进度,放弃或被停止时说明原因
|
2026-09-26 21:41:01 +08:00 |
|
Lemon-miaow
|
4afabc390d
|
fix(velocity): 菜单加入和 /felis go 先查实时状态,运行中的服直接进入,内部 wake 对已运行服不再做启动权限校验
|
2026-09-26 21:21:59 +08:00 |
|
Lemon-miaow
|
5099b2501f
|
feat(velocity): legacy forwarding 列表跟随 CR 的 forwarding=legacy 标签实时更新 (#15)
|
2026-09-26 08:09:49 +08:00 |
|
Lemon-miaow
|
201cfc864e
|
feat(access): 服务器没装 LuckPerms 时权限与用户组操作返回 409 luckperms_missing,面板说明原因
|
2026-09-26 07:35:20 +08:00 |
|
Lemon-miaow
|
9ab7b27a30
|
fix(passkey): 断言时按凭据校验 UV,并把存储的 BE/BS 标志交给校验器,云同步 passkey 可以登录 (#9)
|
2026-09-26 07:12:20 +08:00 |
|
Lemon-miaow
|
7bf81a0921
|
feat(submit): 模组上传改为分片续传并显示进度,经 Cloudflare 边缘也能传满 1GiB
|
2026-09-25 22:39:43 +08:00 |
|
Lemon-miaow
|
7f160e2feb
|
feat(update): 主机每日记录组件版本比对,面板更新页展示可用更新与应用命令
|
2026-09-25 21:50:49 +08:00 |
|
Lemon-miaow
|
24373823cc
|
feat(build): 扫描门按可配严重度拦截并可接受已知风险,留存 Trivy 报告与 CycloneDX SBOM,面板构建页展示扫描结果
|
2026-09-25 21:28:57 +08:00 |
|
Lemon-miaow
|
925cfcf8f8
|
fix(operator): StatefulSet 显式保留世界卷,同名旧世界卷仍在时建服回 409 world_volume_exists,文档写明孤儿卷查找与单节点约束
|
2026-09-25 19:38:13 +08:00 |
|
Lemon-miaow
|
234498b85a
|
fix(rcon): 多包回复在首包到达后发结束标记重组,单包上限放宽到 4106,命令带 ctx 与默认 10s 超时,console 走 ExecuteContext
|
2026-09-25 18:50:01 +08:00 |
|