Lemon-miaow
|
3abf146321
|
test(cli): 服务器清单导出期限测试给第一次调用留够启动时间,忙时不再误报
|
2026-09-28 22:43:43 +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
|
e8ff8f2fe5
|
feat(cli): 新增 felis status、doctor 和 support-bundle,一屏看全平台、按区域列出问题、打出脱敏诊断包
|
2026-09-27 21:11:35 +08:00 |
|
Lemon-miaow
|
c97dadc904
|
docs(cli): felis 用法说明写上 files 的全部操作和服务器 pod 的 egress-gate
|
2026-09-27 20:11:23 +08:00 |
|
Lemon-miaow
|
ab9a6f0bdb
|
fix(operator): 服务器 pod 先等出站围栏生效再启动镜像,新 pod 第一个请求不再能连到内网
|
2026-09-27 20:10:41 +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
|
db7fbfec46
|
fix(preflight): 探测 k3s 安装器在 SELinux 主机上要用的 rpm.rancher.io,运维手册列出 FELIS_ARTIFACT_DIR 安装仍要放行的地址,README 不再说内网主机能装
|
2026-09-27 17:34:48 +08:00 |
|
Lemon-miaow
|
cc0672557c
|
fix(bootstrap): 下载发布版二进制改为普通语句调用,回退看 HAVE_PREBUILT_BINARY,errexit 覆盖替换 HOST_BIN 的步骤;旧二进制备份没拷完就删掉
|
2026-09-27 17:24:33 +08:00 |
|
Lemon-miaow
|
b959c560cc
|
fix(test): 测试脚本有失败就 exit 1,256 个失败不再回绕成通过;非 registry 镜像不推送的断言改按带 --config 的 push 行匹配
|
2026-09-27 17:17:01 +08:00 |
|
Lemon-miaow
|
7718879bcd
|
fix(bootstrap): 新生成的 offsite 密钥只写到终端,安装输出和日志里只给出读取命令
|
2026-09-27 17:14:03 +08:00 |
|
Lemon-miaow
|
9fd699e301
|
ci(alerts): 用固定版本的 promtool 3.15.0 检查告警规则并跑规则单测
|
2026-09-27 17:06:20 +08:00 |
|
Lemon-miaow
|
125ba1c3a0
|
test(e2e): 按 bootstrap.sh 列出的全部 timer 检查启用且在等待,另查备份和 watchdog 首轮运行成功及 OnFailure 单元存在
|
2026-09-27 17:03:35 +08:00 |
|
Lemon-miaow
|
e97a73e539
|
test(e2e): 升级任务先往发布版库里写 12 张表的种子行,升级后逐行比对并检查序列位置
|
2026-09-27 16:59:18 +08:00 |
|
Lemon-miaow
|
95f4e79ff2
|
fix(bootstrap): 没有 IPv4 默认路由时从 hostname -I 取第一个 IPv4 地址,跳过 IPv6
|
2026-09-27 16:42:58 +08:00 |
|
Lemon-miaow
|
840d339760
|
fix(dbbackup): 备份新鲜度按最新的 daily 包算,手动或异地包不再掩盖停掉的定时任务
|
2026-09-27 16:40:50 +08:00 |
|
Lemon-miaow
|
46f99a7104
|
fix(watchdog): 状态文件写不进时把状态留在 /run 下的后备文件,下一轮读较新的一份,同一封告警不再每 2 分钟重发
|
2026-09-27 16:23:33 +08:00 |
|
Lemon-miaow
|
a32e8c19f7
|
fix(api): 契约检查对请求体按字段严格比对且不看 Content-Type,补上 approve 的 expected_digest 请求体
|
2026-09-27 16:14:52 +08:00 |
|
Lemon-miaow
|
de5fbb7283
|
fix(panel): LuckPerms 页在手机上玩家栏按内容收高、列表在卡内滚动,选中玩家的面板落在首屏
|
2026-09-27 16:08:21 +08:00 |
|
Lemon-miaow
|
7b28434068
|
fix(panel): scan_document_not_kept 按界面语言说明,不再透出后端英文
|
2026-09-27 15:59:13 +08:00 |
|
Lemon-miaow
|
2c6e29fa0d
|
fix(panel): 收到角色拒绝的 403 时限频重读身份,被降权的管理员随即失去管理页
|
2026-09-27 15:57:31 +08:00 |
|
Lemon-miaow
|
5282d55214
|
fix(panel): 侧栏用户卡按界面语言显示角色名,身份未读到时显示横线
|
2026-09-27 15:53:51 +08:00 |
|
Lemon-miaow
|
68387a3b12
|
fix(panel): LuckPerms 撤销失败提示改为“撤销失败:原因”
|
2026-09-27 15:51:29 +08:00 |
|
Lemon-miaow
|
d308a5edb1
|
fix(panel): 构建对话框的提交选择器说明读取失败并可重试,服务端搜索找到最新 100 条之外的提交
|
2026-09-27 15:49:42 +08:00 |
|
Lemon-miaow
|
ec861c10e0
|
fix(panel): 镜像页构建卡显示真实构建总数并链到构建页,读不到时显示横线
|
2026-09-27 15:44:10 +08:00 |
|
Lemon-miaow
|
5d95dc6b6b
|
fix(panel): 玩家页四个名单加载失败时带上具体原因
|
2026-09-27 15:41:26 +08:00 |
|
Lemon-miaow
|
d13d99ed75
|
fix(panel): 我的提交页轮询审核与构建进度,构建进行中走快档,重读失败保留列表并提示
|
2026-09-27 15:38:10 +08:00 |
|
Lemon-miaow
|
c0228f4e86
|
fix(panel): 文件页目录请求按序号落地,先点的目录慢回来不再盖掉后点的目录
|
2026-09-27 15:35:16 +08:00 |
|
Lemon-miaow
|
e129b04c67
|
fix(panel): 备份页轮询服务器状态,立即备份按去向判断并在已有备份或回档时等待,重读失败保留页面
|
2026-09-27 15:31:40 +08:00 |
|
Lemon-miaow
|
9df1178022
|
fix(panel): 建服对话框每次打开重读镜像白名单,编辑或重开时清掉旧错误,读不到白名单时说明并可重试
|
2026-09-27 15:28:45 +08:00 |
|
Lemon-miaow
|
c1bf1a81a2
|
fix(panel): 服务器列表的刷新按钮只为自己的点击转圈和禁用,后台轮询时保持可点
|
2026-09-27 15:25:22 +08:00 |
|
Lemon-miaow
|
b6357ad68b
|
fix(panel): 可认领的服务器行去掉点不了的控制台按钮,管理员在认领旁保留唤醒和控制台
|
2026-09-27 15:23:48 +08:00 |
|
Lemon-miaow
|
50ec181177
|
fix(panel): 服务器列表无匹配时给出真的清除筛选按钮,清掉搜索和状态筛选并回到第一页
|
2026-09-27 15:21:20 +08:00 |
|
Lemon-miaow
|
f6d586ed0c
|
fix(panel): 服务器列表每页 20 台,可按名称、状态或在线人数排序,轮询时行序不再跳动
|
2026-09-27 15:19:45 +08:00 |
|
Lemon-miaow
|
9910c78709
|
fix(limbo): 登录门聊天和 /link 回复里的网址可以直接点击打开
|
2026-09-27 15:13:08 +08:00 |
|
Lemon-miaow
|
1e42e9a87b
|
fix(velocity): 休眠服 MOTD 按唤醒策略说明谁能唤醒,闲置回收期间加入给出回收提示
|
2026-09-27 15:02:16 +08:00 |
|
Lemon-miaow
|
249d675bd7
|
fix(operator): 每次运行首次就绪后留 3 分钟到达窗口再开始空服计时,停服或重启时清掉旧计时
|
2026-09-27 14:53:40 +08:00 |
|
Lemon-miaow
|
32534e3d56
|
fix(velocity): 同一玩家同时只跑一个授权和唤醒,排队中再点同一服直接告知
|
2026-09-27 14:42:28 +08:00 |
|
Lemon-miaow
|
67028727ae
|
fix(velocity): 传送没连上且后端没给理由时重新排队重拨,最多三次
|
2026-09-27 14:32:30 +08:00 |
|
Lemon-miaow
|
56a4bbcf4c
|
refactor(api): 删掉没有调用方的 QuotaAvailable,修正 passkey last_used_at 的过时注释
|
2026-09-27 14:20:20 +08:00 |
|
Lemon-miaow
|
4839d52f88
|
fix(api): passkey 的 RP ID 按面板主机推导,只配 root_domain 的部署也能用 passkey
|
2026-09-27 14:18:33 +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
|
26d997cb40
|
fix(submit): 本地上传存储在 rename 前 fsync 文件、rename 后 fsync 目录
|
2026-09-27 13:46:51 +08:00 |
|
Lemon-miaow
|
c54bd2d9eb
|
fix(submit): 上传途中投稿被撤回或删除时,由上传自己删掉刚落地的 blob
|
2026-09-27 13:43:41 +08:00 |
|
Lemon-miaow
|
372c8972f9
|
fix(submit): 已批准的投稿不再占上传者的存储额度,只计入存储总量
|
2026-09-27 13:38:34 +08:00 |
|
Lemon-miaow
|
0d485992c6
|
fix(operator): 服务器停服或删除时丢掉内存里的 RCON 失败计数
|
2026-09-27 13:34:42 +08:00 |
|
Lemon-miaow
|
c272e2ea24
|
fix(operator): 回到 Starting 时清掉 readySignalAt,每次启动都记入启动时长指标
|
2026-09-27 13:32:25 +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
|
fe48319866
|
test(watchdog): 整轮巡检测试覆盖集群告警保持、dry-run、主机 relay 密码、按配置检查与状态存不下,收件人查询移入 watchdog 并加 pgint 契约
|
2026-09-27 12:33:11 +08:00 |
|
Lemon-miaow
|
f9312118c9
|
test(bootstrap): 先校验再执行改为实跑 download_release_binary,按日志核对顺序与拒绝后不执行
|
2026-09-27 12:24:57 +08:00 |
|
Lemon-miaow
|
d7afdb4124
|
test(platform): NetworkPolicy 求值器按规范处理 ipBlock、空 From、表达式选择器与端口范围
|
2026-09-27 12:14:37 +08:00 |
|
Lemon-miaow
|
dfc2dd8888
|
fix(e2e): 查最新 release 时 gh 出错让步骤失败,只有 release not found 才跳过发布版任务
|
2026-09-27 12:10:44 +08:00 |
|
Lemon-miaow
|
28fd20c791
|
feat(backup-now): 一次备份全部世界的命令,补扩盘/数据盘与计划内迁机指南
|
2026-09-27 12:08:03 +08:00 |
|
Lemon-miaow
|
64476b0171
|
fix(store): 新 pod 首次连库在网络策略放行前重试
|
2026-09-27 12:08:03 +08:00 |
|
Lemon-miaow
|
7b91f7c6c3
|
fix(reaper): 只清理备份库的 CronJob 用命名空间默认 SA,e2e 实跑一次 reaper
|
2026-09-27 12:08:03 +08:00 |
|
Lemon-miaow
|
572d12d5f3
|
fix(apply): 节点上找不到 kubeconfig 时回退 k3s.yaml 并报错
|
2026-09-27 12:08:03 +08:00 |
|
Lemon-miaow
|
403a751c96
|
docs(dr): 重建 runbook 补邮件自检、domain set、cloudflared 凭据恢复与邮件验收
|
2026-09-27 10:59:20 +08:00 |
|
Lemon-miaow
|
2d04e0e637
|
fix(rotate-token): 加确认步骤、velocity 热加载免踢人,补齐 registry/forwarding/db 轮换
|
2026-09-27 10:50:11 +08:00 |
|
Lemon-miaow
|
d112a43c65
|
fix(watchdog): k3s 证书 30 天内到期告警、7 天内转严重,文档说明重启续期与 rotate
|
2026-09-27 10:09:20 +08:00 |
|
Lemon-miaow
|
9d0253a75b
|
fix(bootstrap): release 附件下载重试三次并检测卡死,回退本机构建前检查磁盘,所有 curl 下载带重试
|
2026-09-27 09:58:25 +08:00 |
|
Lemon-miaow
|
339224bdc2
|
fix(bootstrap): secrets.env、offsite.env、felis.toml 改为临时文件+fsync+rename 原子写入
|
2026-09-27 09:47:26 +08:00 |
|
Lemon-miaow
|
c1cdef0d6a
|
fix(dbbackup): 缺 MinecraftServer 导出时重试、CLI 失败退出、面板与 watchdog 告警,异地快照要求完整
|
2026-09-27 09:38:08 +08:00 |
|
Lemon-miaow
|
983727d9c0
|
fix(offsite): 复制新归档后补打并上传 DB 包,桶内无记录的归档过最长保留期后清理
|
2026-09-27 09:16:00 +08:00 |
|
Lemon-miaow
|
c146ce84e2
|
fix(setup): 安装摘要和 setup 结尾卡片显示告警发往哪里,没有邮件中继时大声提示
|
2026-09-27 08:53:27 +08:00 |
|
Lemon-miaow
|
82ffa55a8f
|
fix(watchdog): 外部心跳、巡检失败兜底告警、状态文件损坏自动移开
|
2026-09-27 08:40:32 +08:00 |
|
Lemon-miaow
|
149ab0be66
|
fix(offsite): 桶内记录写入主机,演练机只读不写也不给生产 owner 发告警,take-over 显式接管
|
2026-09-27 07:55:40 +08:00 |
|
Lemon-miaow
|
c9e5e2fe3e
|
fix(offsite): 桶内记录密钥指纹,密钥不符时 sync 拒绝写入和清理,安装时大声提示
|
2026-09-27 07:21:25 +08:00 |
|
Lemon-miaow
|
fa46733859
|
fix(offsite): fetch-db latest 跳过新装机器的空库包,取包后显示包内账号和服务器数
|
2026-09-27 06:52:09 +08:00 |
|
Lemon-miaow
|
aa73a8ca28
|
fix(panel): 建服表单按后端规则即时校验名称和子域名,控制台命令历史的下键不再跳到最早一条,补请求体测试
|
2026-09-27 06:30:07 +08:00 |
|
Lemon-miaow
|
6943d9c4c6
|
fix(i18n): 繁体、港台和不带地区的中文浏览器都显示中文界面
|
2026-09-27 06:22:02 +08:00 |
|
Lemon-miaow
|
4291d08e2b
|
fix(tier): /me 临时失败时管理页显示权限确认失败和重试,不再误报无权访问
|
2026-09-27 06:17:31 +08:00 |
|
Lemon-miaow
|
e519549c8a
|
fix(users): 用户搜索停止输入 300 毫秒后才请求,新搜索回到第一页
|
2026-09-27 06:10:24 +08:00 |
|
Lemon-miaow
|
42431210c3
|
fix(files): 文件行的名字做成按钮,键盘和读屏都能打开文件和文件夹
|
2026-09-27 06:05:11 +08:00 |
|
Lemon-miaow
|
75dd639cca
|
fix(files): 文件页停服改用控制台同一个按钮,有玩家在线或人数读不到时先确认
|
2026-09-27 06:02:13 +08:00 |
|
Lemon-miaow
|
9a238780e5
|
test(plugins): 登录闸门、大厅菜单和 mod /link 抽成可测类并补行为测试
|
2026-09-27 05:55:58 +08:00 |
|
Lemon-miaow
|
6d5aca79fb
|
fix(operator): 有玩家在线时停服先在游戏里预告 30 秒,期间改回运行会取消
|
2026-09-27 05:18:41 +08:00 |
|
Lemon-miaow
|
4ae64cc2e8
|
fix(menu): 大厅菜单按玩家标出每台服能否启动及原因,自己的服排前面,状态改成中文
|
2026-09-27 05:02:33 +08:00 |
|
Lemon-miaow
|
82310d02ec
|
fix(velocity): 路由开启时让出 Velocity 自带的 /server,大厅的 /server 菜单才能打开
|
2026-09-27 04:36:53 +08:00 |
|
Lemon-miaow
|
7ce1ba7174
|
fix(velocity): 新增 /felis lobby,/felis go lobby 也能回大厅
|
2026-09-27 04:27:39 +08:00 |
|
Lemon-miaow
|
d2730c6e5a
|
fix(submit): 分块上传的预算检查复用一分钟内读过的 blob 大小,存储读不到时回 503 让面板自动重试
|
2026-09-27 04:13:48 +08:00 |
|
Lemon-miaow
|
2f920cf1c9
|
fix(operator): 服务器未就绪时改了配置,operator 按新模板重建 pod-0,不再卡在旧镜像上
|
2026-09-27 04:03:15 +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
|
9a89254146
|
test(db): 恢复链在真实 PostgreSQL 上跑往返与三种失败回滚,-yes 闸门测试真正走到闸门,e2e 按文档做一次同机恢复
|
2026-09-27 01:58:35 +08:00 |
|
Lemon-miaow
|
7e6272997d
|
fix(bootstrap): 开着 ufw 的主机按 k3s 要求放行 pod 与 service 网段、面板和游戏端口,卸载时按 felis- 注释收回
|
2026-09-27 01:30:01 +08:00 |
|