Commit Graph
100 Commits
Author SHA1 Message Date
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
Lemon-miaow 4fe58ef6f5 ci(e2e): 按 README 原样安装的 readme 阶段走 release 附件下载,升级阶段的旧版安装器不再被 FELIS_REF 逼去源码构建 2026-09-27 01:13:29 +08:00
Lemon-miaow aad72ddb2b feat(bootstrap): FELIS_RELEASE 按指定 release 的附件安装,回滚文档不再把人带回最新版 2026-09-27 01:03:38 +08:00
Lemon-miaow 5c58104e09 fix(offsite): DB 包先同步,每个对象按大小单独限时,大归档传不完不再拖住整轮同步 2026-09-27 00:55:44 +08:00
Lemon-miaow 3f04171424 fix(panel): 撤销删除的权限节点时按原值恢复,原值没读到就不给撤销 2026-09-27 00:49:24 +08:00
Lemon-miaow 21dd4baed2 fix(panel): LuckPerms 页读不到时如实说读不到,用户组和权限节点可按名称移除 2026-09-27 00:44:01 +08:00
Lemon-miaow d0ab983f0f test(velocity): 测试桩按真实 wake 的顺序从服的状态推导回复,运行中的服对谁都 202 就绪,403 和 start_failed 不再由用例手配,停着的服一律报 fallback 2026-09-27 00:36:41 +08:00
Lemon-miaow 2d82e8cca7 fix(setup): SMTP 密码和上传桶密钥同时存进 /etc/felis,安装器每次从这里重建 Secret,看门狗和 breakGlass 在 k3s 宕机时也能读到 2026-09-27 00:22: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 a60ff31ef6 fix(submit): S3 后端按 8MiB 分片上传,大包不再撑爆 felis-api 内存,超出分片上限时报错并删掉截断的对象 2026-09-26 23:18:00 +08:00
Lemon-miaow 4425060d3e fix(lobby): 大厅变成安全的中转大厅并提示 /menu,大厅上限 200、登录门不限人数 2026-09-26 23:11:30 +08:00
Lemon-miaow fda14e9e45 fix(panel): 控制台、玩家页、权限页、文件页和仪表盘自动刷新状态,唤醒或停止后立即显示进行中 2026-09-26 22:42:33 +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 df8b09788c fix(velocity): 目标服拒绝玩家时带原因提示并直接放行到大厅,不再在 login 里循环 2026-09-26 21:28:19 +08:00
Lemon-miaow 4afabc390d fix(velocity): 菜单加入和 /felis go 先查实时状态,运行中的服直接进入,内部 wake 对已运行服不再做启动权限校验 2026-09-26 21:21:59 +08:00
Lemon-miaow 3843082153 fix(velocity): 停服的 fallback 名不再注册成后端,唤醒就绪时按轮询到的地址立即注册再传送 2026-09-26 21:18:08 +08:00
Lemon-miaow 4b386c5c2e docs: 产物安装、v0.1.0 升级与宿主机库迁入 felis-postgres 标为 VM 已验证 2026-09-26 20:05:45 +08:00
Lemon-miaow 6f9f0c56ba fix(bootstrap): preflight 探测下载源重试三次并以 TLS 握手为准,一次网络抖动不再拒绝安装 2026-09-26 20:04:05 +08:00
Lemon-miaow 9a853098af fix(e2e): release 阶段只在存在 felis-postgres 时检查它,数据库仍在宿主机的旧版本不再误报 2026-09-26 19:48:52 +08:00
Lemon-miaow 3b58b39763 fix(bootstrap): 迁库比对行数的 SQL 不再对常量排序报错,宿主机库能真正迁入 felis-postgres 2026-09-26 19:48:52 +08:00
Lemon-miaow 760966660e fix(bootstrap): 全新主机没有 PostgreSQL 集群时不再因 pipefail 中止安装 2026-09-26 19:17:49 +08:00
Lemon-miaow 2ca2f5ca86 docs: 发布产物安装、FELIS_ARTIFACT_DIR 与回退提示 2026-09-26 15:23:54 +08:00
Lemon-miaow d34a118723 ci(e2e): 从本次提交构建的发布产物安装并断言不碰 Docker,源码构建改为每周 2026-09-26 15:23:53 +08:00
Lemon-miaow 537639072a fix(uninstall): 卸载时清理发布产物下载缓存 2026-09-26 15:23:53 +08:00
Lemon-miaow 56344f313b test(bootstrap): 重复写入 [auth] 键的检查改用 $nl,dash 下不再恒过 2026-09-26 15:23:53 +08:00
Lemon-miaow 54942f30f3 feat(bootstrap): 从发布产物安装二进制、镜像与插件,Docker 按需安装 2026-09-26 15:23:53 +08:00
Lemon-miaow 9931f64fff feat(release): CI 一次构建各架构二进制、镜像包与 velocity 插件 2026-09-26 14:22:46 +08:00
Lemon-miaow 7beb43195b feat(imagepush): 写出按架构的发布镜像包并支持按名推送 2026-09-26 14:12:26 +08:00
Lemon-miaow c24396d50a docs: PostgreSQL 在 k3s 内运行后的升级、回退、卸载与排障 2026-09-26 13:40:47 +08:00
Lemon-miaow 36b8a8b444 fix(updater): PostgreSQL 大版本提示改为导出再恢复并更正地址相关注释 2026-09-26 13:34:41 +08:00
Lemon-miaow 5d6b36d190 test(e2e): 检查 k3s 内的 felis-postgres 并经 kubectl exec 做一次数据库备份 2026-09-26 13:25:22 +08:00
Lemon-miaow 96b4f31bf9 feat(uninstall): 按 k3s 内的 felis-postgres 保留或清除数据库并清理迁移留下的宿主副本 2026-09-26 13:22:09 +08:00
Lemon-miaow 40d6e4d0ca feat(bootstrap): 在 k3s 内部署 felis-postgres 并从宿主 PostgreSQL 迁移 2026-09-26 13:17:05 +08:00
Lemon-miaow fe9f49987b fix(felis): PATH 缺 /usr/local/bin 时补上以找到 k3s 2026-09-26 13:17:04 +08:00
Lemon-miaow 912d129f14 feat(updater): 从 felis-postgres 容器读取 PostgreSQL 版本并改为随发布更新镜像 2026-09-26 12:17:00 +08:00
Lemon-miaow 34a4dffc50 feat(watchdog): 监控 felis-postgres 部署并更新数据库排障提示 2026-09-26 12:14:24 +08:00
Lemon-miaow b496e59b99 feat(db): felis db 与迁移前快照在 felis-postgres 容器内运行客户端工具 2026-09-26 12:10:32 +08:00
Lemon-miaow 659127b271 feat(platform): 渲染 k3s 内的 felis-postgres 及其入站隔离 2026-09-26 12:03:23 +08:00
Lemon-miaow a20840e7d8 feat(config): [database] deployment 指向集群内的数据库 2026-09-26 12:03:23 +08:00
Lemon-miaow b4737f4682 feat(dbbackup): 客户端工具可经 kubectl exec 在数据库容器内运行 2026-09-26 12:03:23 +08:00
Lemon-miaow 12d2697801 docs(uninstall): 更正 felis_pgint 的来历说明 2026-09-26 11:38:34 +08:00
Lemon-miaow 1f2a6130ac feat(bootstrap): 装机前一次性预检平台/内存/磁盘/端口/网段/外网,问题全列出后再停 2026-09-26 11:30:31 +08:00
Lemon-miaow 1944a44f94 fix(uninstall): purge 前预检 felis 角色在其他库的依赖,DROP ROLE 不再半途失败 2026-09-26 11:30:31 +08:00
Lemon-miaow 54a533103a fix(bootstrap): felis-link.properties 内容不变就不重写,domain check 不再误报代理落后 2026-09-26 10:24:14 +08:00
Lemon-miaow eaef592014 fix(bootstrap): offsite_enabled 改为先取变量再匹配,重跑不再因 SIGPIPE 竞态误删 off-site timer 2026-09-26 10:24:14 +08:00
Lemon-miaow 23b7c14b00 fix(bootstrap): 重跑安装器保留 [auth],换域改为拒绝并指向 felis domain set 2026-09-26 10:24:04 +08:00
Lemon-miaow 6a061859dc feat(domain): felis domain set/check 把根域名换到所有面并逐面核对 (#12) 2026-09-26 10:23:55 +08:00
Lemon-miaow d601abb09b docs(operations): felis-api 长时间停摆时日志与告警的实测时间线 2026-09-26 09:41:38 +08:00
Lemon-miaow 8bc3997a8b feat(breakglass): 恢复模式用邮件验证码证明管理员身份,发不出或验不过走带原因审计的 OVERRIDE (#13) 2026-09-26 08:27:00 +08:00
Lemon-miaow 5099b2501f feat(velocity): legacy forwarding 列表跟随 CR 的 forwarding=legacy 标签实时更新 (#15) 2026-09-26 08:09:49 +08:00
Lemon-miaow 7c2fa08e85 docs(operations): 老安装升级的收敛步骤与核对命令 2026-09-26 07:42:45 +08:00
Lemon-miaow 201cfc864e feat(access): 服务器没装 LuckPerms 时权限与用户组操作返回 409 luckperms_missing,面板说明原因 2026-09-26 07:35:20 +08:00
Lemon-miaow aa6e487ff9 feat(converge): 报告缺 RCON 的老用户服务器,-user-rcon 按新建时的配置补上 2026-09-26 07:26:48 +08:00
Lemon-miaow cde6502ab7 fix(registry): prune 连同被保留 index 的子 manifest 一起保留,钉住多平台镜像的服务器不再拉取失败 2026-09-26 07:26:48 +08:00
Lemon-miaow 9ab7b27a30 fix(passkey): 断言时按凭据校验 UV,并把存储的 BE/BS 标志交给校验器,云同步 passkey 可以登录 (#9) 2026-09-26 07:12:20 +08:00
Lemon-miaow 6a4c30b3f1 fix(bootstrap): kubeconfig 仅 root 可读、固定 k3s 节点名、开启 NTP 与持久日志,DHCP 地址告警并交给 watchdog 监测 2026-09-26 01:25:48 +08:00
Lemon-miaow 298a1e635d feat(watchdog): 检测主机丢失安装时的地址与时钟未经 NTP 同步 2026-09-26 01:25:48 +08:00
Lemon-miaow c15eec6c2d test(velocity): 路由核心类接真 velocity-api 自测,修正子域名改名后旧域名仍路由 2026-09-26 00:42:05 +08:00
Lemon-miaow b65c2c00b3 feat(plugins): 插件侧计数器与周期健康日志,Limbo/刷新失败按故障周期升级日志 2026-09-26 00:33:04 +08:00
Lemon-miaow fcf5c305ea feat(velocity): felis-api 调用改走有界线程池、定时任务防重叠,超时可配置,幂等 GET 带抖动重试一次 2026-09-26 00:03:19 +08:00
Lemon-miaow 001f060027 docs(plugins): README 同步版本表与 MC 支持矩阵,防伪造描述限定到 Velocity 路径 2026-09-25 23:45:33 +08:00
Lemon-miaow d9453a6488 build(plugins): 插件构建统一钉到 gradle 9.8 镜像与带 sha256 的 wrapper,paper-api/Limbo 对齐锁文件并启用依赖校验 2026-09-25 23:45:33 +08:00
Lemon-miaow 2d1592bf01 fix(mods): 加载器 mod 仅在正版验证的独立服务器上签发绑定码,README 标明只用 limbo token 及其风险 2026-09-25 23:06:35 +08:00
Lemon-miaow f1414b5cc8 docs(link): 写明内部面明文 HTTP 的单节点前提与放行范围,修正配置模板里的内部面地址 2026-09-25 23:03:02 +08:00
Lemon-miaow 0fb43232b5 fix(velocity): 保存最近一次服务器列表,控制面不可用时重启代理仍能路由登录 2026-09-25 22:58:53 +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 d76683f5cb fix(setup): 系统服与副本 Secret 改用带乐观锁的 merge-patch 并冲突重试,安装器在构建变化时把登录与大厅固定到 digest 2026-09-25 20:04:06 +08:00
Lemon-miaow b384f6281f feat(crd): 数值字段加上下限校验,rcon.port 用 CEL 限定默认端口,文档写明 v1beta1 演进与多节点前提 2026-09-25 19:49:09 +08:00
Lemon-miaow 925cfcf8f8 fix(operator): StatefulSet 显式保留世界卷,同名旧世界卷仍在时建服回 409 world_volume_exists,文档写明孤儿卷查找与单节点约束 2026-09-25 19:38:13 +08:00
Lemon-miaow b7d4275ca9 feat(operator): 状态迁移、超时、自动重建、空闲停机与 RCON Secret 创建写 Event 和结构化日志,RBAC 增加 events create/patch 2026-09-25 19:32:25 +08:00
Lemon-miaow a977e229ca fix(operator): RCON Secret 改走无缓存按名读取,去掉 Secret watch,RBAC 收窄为 secrets get/create,不再缓存全命名空间 Secret 2026-09-25 19:25:24 +08:00
Lemon-miaow 6ec1b2726c feat(operator): 游戏容器加 startup/liveness 探针,超时启动按 1/2/4 分钟退避重建 Pod 至多 3 次,Running 每 60s 重探且连续 3 次失败才降级,Failed 放缓重排 2026-09-25 19:19:57 +08:00
Lemon-miaow 234498b85a fix(rcon): 多包回复在首包到达后发结束标记重组,单包上限放宽到 4106,命令带 ctx 与默认 10s 超时,console 走 ExecuteContext 2026-09-25 18:50:01 +08:00
Lemon-miaow b7fdef7522 feat(update): felis update 读取维护窗口并报告当前是否在窗口内,窗口外应用前警告,面板与文档写明窗口为提示性 2026-09-25 18:42:51 +08:00
Lemon-miaow 516c58b543 feat(panel): 我的提交页上传前按服务端单次上限预检,超限提示显示文件大小与上限 2026-09-25 18:37:02 +08:00
Lemon-miaow 87dee3e5a5 feat(api): 单次上传上限改为 context_max_bytes 可配,Cloudflare 边缘后默认 95Mi,新增 GET /me/submissions/limits 供面板预检 2026-09-25 18:31:10 +08:00
Lemon-miaow e7326e6315 test(api): 处理器测试的每次请求在包结束后对照 openapi 校验状态码、响应与 2xx 请求体,SetupAllowed 纳入一致性比对,补齐漏记的状态码并修正空列表回 null 2026-09-25 18:24:47 +08:00
Lemon-miaow 1054e62fa9 feat(api): 集群列表读改走 informer 缓存,审核队列、我的提交与备份列表改为服务端分页筛选并一次批量查构建,面板三页跟进 2026-09-25 18:13:21 +08:00
Lemon-miaow 0a66385d9f fix(store): passkey 挑战与账号迁移的并发开始改由 advisory 锁串行,登录挑战按来源上限在并发下精确,迁移重启不再给已退役账号留活动记录,补 pgint 契约测试 2026-09-25 17:36:44 +08:00
Lemon-miaow 7d82402c18 fix(api): 未配置 SMTP 时发码门统一 503 mail_unavailable 且不再把验证码写日志,非本机中继默认强制 STARTTLS(require_tls) 2026-09-25 17:25:05 +08:00
Lemon-miaow d93c1b6913 feat(api): op-login 游戏内审批先展示目标账号、邮箱与发起来源,须输入账户名确认,velocity 显示审批卡片 2026-09-25 17:02:43 +08:00
Lemon-miaow 4757353324 fix(api): 登录验证码与 passkey 挑战不再被他人的 start 作废,冷却内重复 start 照常 202,登录挑战按来源限量 2026-09-25 16:37:03 +08:00
Lemon-miaow 084ba1ed9e feat(retention): felis-api 定时清理过期会话、验证码、挑战、绑定码等表,审计按 [audit] retention 保留,新增 felis db audit-export 导出归档 2026-09-25 15:53:34 +08:00