这里按时间倒序列出云岭网站和服务端模组的每一次更新,方便你回头看某个功能是什么时候上线的、某个毛病是什么时候修好的。
v1.9.86
网站
2026-10-31
换页不再白屏一下、注册页的「手机号注册」能点了
- 点站内链接时,旧页面不再先淡成一片白底 —— 之前新页面要等网络往返才到,中间那一下就是白屏。现在旧页面保持原样,换页后新页面照旧淡入、内容依次上滑。
- 注册页的「手机号注册」原来点了像是没反应:它只是把单选按钮选中,页面上的提示文案与「发验证码」的去向都没变。现在切一下就整页重渲染,提示、去向、表单都跟着变。
- 如果站点没有配置短信服务,注册页不会再把你留在「手机号注册」这个空壳上,而是自动退回邮箱注册。
v1.9.85
网站
2026-10-31
顶部只留一颗「登录」,3D 首屏把模型放回合适的尺寸
- 顶部导航去掉了 QQ 入口 —— 未登录时右上角原来并排两颗按钮(企鹅 + 登录),现在只留「登录」;QQ 只出现在登录页和注册页。
- 3D 模型的相机距离改成按模型高度计算,不再是固定距离:窗口高一点不会糊满整屏,矮一点也不会缩成一小坨。
- 方块配色收进樱花色系 —— 绯红木板、下界疣、珊瑚这些高饱和杂色统一映射到樱花木、花瓣、叶子,远看不再是一片彩色噪点(几何一个方块没动)。
v1.9.84
网站
2026-10-31
首屏变成可以拖着玩的三维场景
- 首屏整个换成一座花园的三维场景:拖一下能转、滚轮能缩放、点方块就挖掉,十秒后自己长回来。
- 手机和不支持 WebGL2 的浏览器不会硬加载三维:先给一张同角度的静态海报,想看清楚再点右下角「进入 3D」。
- 换页也顺了:点站内链接当前页先淡出,新页面淡入、内容一块块往上滑;系统开了「减少动效」就还是原来的直接跳转。
- QQ 按钮那个抢眼的蓝底方块换成了官方 16×16 最小图标,跟其它图标一个分量。
v1.9.83
网站
2026-10-31
QQ 登录按钮改成全站统一的一颗
- 登录页、注册页、顶栏、个人中心现在用的是同一颗 QQ 按钮:腾讯官方小图标 + 本站自己的描边胶囊。腾讯规范本来就允许「小图标 + 文字」这一档,图标仍是官方原图。
- 个人中心的「账号与安全」新增「QQ 绑定」:可以绑定、换绑、解绑。没设登录密码的账号不允许解绑 —— 纯 QQ 注册的账号没有密码,解绑之后就再也进不来了。
- 排版与质感:大标题更紧更重、区块留白更疏、卡片悬停时有一团跟随指针的柔光。
- 动效:首屏逐条上浮、数字滚动、顶部阅读进度、首页卡片轻微视差。系统开了「减少动效」就全部关掉,手机这类没有悬停的设备也不启用光斑。
v1.9.82
网站
2026-10-31
QQ 登录换成腾讯官方按钮,登录页、注册页、顶部导航都能找到
- 登录页和注册页原来用的是自己画的企鹅图标加「QQ 一键登录」字样。腾讯的《网站前端页面规范》要求必须使用官方提供的「QQ登录」标识、不得自行修改,所以这两处都换成了腾讯官方 230×48 长图标原图,按原尺寸显示,不拉伸也不缩放。
- 顶部导航也加了一颗:宽屏用官方 76×24 的「QQ登录」按钮,窄屏(375 像素以下)换成官方 24×24 图标,免得把头部挤出一条横向滚动条。
- 顺手修了两处细节:官方按钮在任何状态下都不会变灰 —— 没勾《服务协议》时点它,会自动滚到勾选框并标红提示,而不是把按钮禁用(一颗灰掉的按钮,看起来正像"按钮没放对")。登录页那句「本站目前用邮箱 + 密码登录」也已经过时,10 种语言里一起改成只讲注册的那半句。
v1.9.81
网站
2026-10-18
手机上的「服务器指南」,正文被自己的目录盖住了 —— 已修
- 目录那块侧栏在桌面上是钉在左上角的窄条;一塌成单列,它变成整宽、手机上高一屏还多,却仍然钉在视口顶部 —— 正文全从它底下滚过去,于是看着像文字互相压住、白方块乱飞、内容不显示。现在窄屏(900 像素以下)它跟着页面一起滚走,桌面端照旧钉住。这条毛病在之前的版本里就有,只是直到手机上才被发现。
v1.9.80
网站
2026-10-18
小工具修好了:标签栏能点了,渐变更自由,计算器给你一份照着填就能开的清单
- 十个工具原来全铺在一页,点顶部胶囊只是跳到锚点,看着像没反应。现在是真的标签栏,一次只显示一个工具;地址栏
#t-xxx 照样能直接打开某个工具,手机上标签栏可以横着滑。渐变文字从写死的两色改成 2~6 个色标:点渐变条加一个、拖着调位置、点中色标再点「删掉这个颜色」,颜色按位置逐字符插值,§ 代码 / MiniMessage / tellraw / MOTD 四种产出一起变,MOTD 太长会提醒
- 开服配置计算器从三档预算扩到九项输入。模组数量、视距、模拟距离、跑不跑红石、目标 TPS、版本都能填。输出不再只有几行数字:内存会告诉你为什么会涨,另给可直接复制的启动命令与 Aikar’s flags、server.properties 与 spigot.yml 的逐行建议、以及按玩法分的模组插件清单。每人多少内存、模组系数、红石系数这三个最常变的系数放进了后台「小工具」,改完刷新就生效
- 卡顿体检改成逐项归因,还会跟本站实时数据对比。输入多了常驻实体、区块加载器、红石线、自动农场四项;输出把 MSPT 拆成七项给占比与毫秒数,只有真的占到大头(45% 以上)才点名叫「是它在拖」,否则如实说「最大的是它但整体不高」,每一项都配可执行的改法;它还会拉本站实时数据,告诉你「你填的规模理论吃多少、本站现在还剩多少」,拿不到数据就只做本地估算、不弹错
v1.9.79
网站
2026-10-18
液态玻璃重做成苹果那样:会折射、有高光、白底上也立得住
- ① 上一版玻璃基本只剩一层白,压在白色卡片上就看不出来了。这次按 iOS 26 那套重做材质:顶部一道亮线、底部一道暗线、外圈 1px 发丝环、内圈一点柔光,再加一层很轻的投影;桌面端仍然是真折射(背景会被轻微掰弯,悬停时整块浮起 1 像素,按下再落回去)。主按钮和危险按钮以前被整条排除在玻璃之外,现在也进来了:品牌色渐变留在按钮自己身上,白字的对比度不变,玻璃层只负责高光与描边,不叠折射。同一套材质铺到了输入框、下拉框、标签、游戏/工具/玩家徽章和顶部导航。
- ② 手机不再跑折射(那是最贵的一步),自动降级成模糊加高光描边:看着还是玻璃,但几乎不花 GPU。顺手修掉一个真问题:手机分支原来直接退出、连降级都不执行,等于手机上根本没有玻璃。桌面端也做了两件事:同尺寸的玻璃只生成一张位移贴图(首页 7 块玻璃只用了 4 张),滚出屏幕的不再计算;另外每块玻璃面积超过 30 万像素、或整页超过 80 张时就不再生成,宁可少一块也不拖慢滚动。
- ③ 后台「外观」里还是那个开关,默认改成开;不支持 backdrop-filter 的浏览器(Safari、火狐)自动退回磨砂,不是坏了。这次没有动配色、没有动排版,主题仍然是云岭蓝;上一版那套苹果白底已经整站回滚(后台、论坛、相册、地图都回到原样),只留下两个真 bug 的修复:后台危险操作的确认框原本根本没有样式(43 处「确认删除」弹出来是没有遮罩的裸框),相册窄屏的标题原本只在鼠标悬停时才出现。
v1.9.78
网站
2026-10-17
整站换成苹果风:白底、发丝线、胶囊按钮,顺手修掉一批不对的数字
- 外观整站重做,走的是苹果那套:白底、近黑字,一条 1px 发丝线代替阴影,按钮和筛选标签统一成 44 高的胶囊,顶栏滚过之后从半透明变成实心。毛玻璃全部撤掉——数据卡、时间轴、状态卡里那些模糊层都没了,只剩顶栏一层很淡的半透明。中文标题不再做负字距:中文字面本来就满格,收紧会挤成一团、看着像加粗,只有数字才需要收紧。顺带把后台也重排了一遍,并修好一个真 bug:危险操作的确认框在后台根本没有样式,弹出来是一个没有遮罩、没有定位的裸框,全站 51 处「确认删除」都受影响,现在是有遮罩、标题染红的居中卡片。整套挂在「苹果」这个配色方案下(后台 → 外观里能选),选回「云岭蓝」就整体回滚,不用改代码。
- 手机端这次专门对着「用起来不够好」改的:数据页那四个大数字原来一个占一整行,现在 2×2 一屏看完;玩家搜索框和「搜索」按钮原来是叠着的(按钮压掉占位文字将近 70 像素),现在并排一行;排行榜每行原来上下两条灰线叠成一道粗杠,改成一条 1px 发丝线;时间轴「卡片套卡片」的双层边框、各种虚线框、Windows 那条深灰厚滚动条,一起收拾干净;指南页侧栏「服务器实况」的标签和取值原来粘在一起(显示成「版本1.21.1」),改成左右对齐加分隔线。
- 审计出来的数据问题修了 10 条。最要紧的两条:首页「累计在线」把秒当成小时显示(原来写 35.7M h,真值是 9907 小时,差 3600 倍);封禁列表里有 4 个人显示「已解除」其实还在生效——心跳报上来「已存在」时只把状态悄悄改回生效,既不写历史也不恢复玩家的封禁标记。其余:状态页「已装模组」三个位置分别显示 0 / 12 / 160(真值 160),操作系统显示「—」,都是同一个原因:底层查询是白名单式返回,里面没有这两个字段;排行榜上有一串 UUID 当名字霸榜,现在显示成「未知玩家 · 87274f」;可用率的天花板被写死成 99.2%(按 30 秒固定间隔算的,实测心跳 31 秒);K/D 在没有阵亡记录时算出天文数字,现在显示「—」。还有两条属于榜单政策(角色与账号两种合并口径、一个只有击杀数的影子账号),没有硬改,差异和代价写在代码注释里等站长定。
v1.9.77
网站
2026-10-11
伪造真实 IP 这条路,从 nginx 到应用层都堵死了
- ① 先量再改:线上探针实测出两件事 —— 宝塔 nginx 用 PROXY 协议,真实客户端地址本来就在 REMOTE_ADDR 里(实测是 222.212.76.94,不是 127.0.0.1);而客户端自己塞的 X-Real-IP / X-Forwarded-For / CF-Connecting-IP 会被 nginx 原样透传给 PHP,三个伪造头全部原样到达,nginx 一个都不覆盖。② 两头一起加固:nginx 注入一串只有自家代理知道的密钥(客户端就算伪造这个头也会被 nginx 覆盖掉),应用层再补一道「REMOTE_ADDR 是公网就直接采用、不再看代理头」—— 就算哪天误把 trust_proxy 打开,限流、锁定、审计里的 IP 也不会变成访客自己指定的值。
- 顺手做了三件事:把 site/config/config.php 里那句会误导人的注释(「在 CDN / 反代后面时设为 true」)换成实测结论和警告 —— 本站照做只会把可伪造的头抬成权威值;给这次改动补了自动化测试(打开 trust_proxy + 公网 REMOTE_ADDR + 伪造头 ⇒ 仍返回真实地址),测试从 81 项增到 83 项全绿;线上排查用的临时探针按约定删掉了,现在请求它是 404。
v1.9.76
网站
2026-10-11
手机滚动更顺、几个安全口子堵上、聊天记录不再丢中间一段
- 手机流畅度的四处:顶栏滚起来时那层毛玻璃、窄屏上所有卡片的毛玻璃、入场动画给每个元素常驻的合成层、阅读进度条每滚一像素就重排一次 —— 全换成等效但便宜的做法(滚动状态的顶栏本来就不透明,那层模糊纯粹是白算;动画真正开始时浏览器自己会把图层提上来)。390 宽手机视口 + 20 倍 CPU 节流实测:最大帧 364 毫秒降到 57 毫秒。整体帧数的差别落在这台机器的噪声里,量不出稳定结论 —— 所以上面每一项都只在机制上说得通才敢动。
- 安全三处(高/中危,直接修了):① 本地调试用的
_admlogin.php 在线上必须 404(它能把访问者直接设成管理员),?to= 也再不能跳到站外;② 测速工具页的 ping / dns 拿域名去探端口时能被 DNS 重绑定骗去探内网,现在只连已经校验过的那个 IP;③ 伪造 X-Real-IP / CF-Connecting-IP 曾能绕开按 IP 的限流,现在只有来源确实是本机回环时才采信这类请求头。要把 ③ 彻底关死,需要在 nginx 里注入 X-CDR-Proxy-Secret 并在 site/config/config.php 填 security.proxy_secret —— 这一步动的是服务器配置,等你点头再做。
- 聊天记录三个真 bug:① 一天的消息超过 200 条时,中间那一大段在页面上永远看不到(最忙的一天 2796 条,旧路径只能翻到 500 条,中间 2296 条谁也看不见);② 消息排序只看主键 id,跨分界线那天会把后半夜的消息挤出窗口(实测永久跳过 53 条更新的消息);③ 发言失败时界面装作已经发出去了。现在按时间取、多了一个「加载更早」按钮往前翻,失败会明确提示并让你重试。
- 顺手:访客的页面不再一律禁止缓存(回退、前进快一些),登录状态照旧一点不缓存。全站 218 个 PHP 文件语法零错误,59 个自测脚本全跑了一遍 —— 与这次改动相关的 15 个套件,结果和改动前完全一致(原有的本地环境失败项一个没多)。
v1.6.7
模组
2026-10-10
更省服务端主线程的一版
- 地图上报从「在服务端那一 tick 里现拼 19.7 万个点的 JSON」改成「那一 tick 只交出数据,拼装放到后台线程」。这是全模组唯一一处可能造成「单 tick 数百毫秒」的地方,正好对应每半小时一轮的偶发尖刺。
- 其余几处会随人数 / 实体数放大的一起优化:TAB 数字格式化改成按 tick 缓存、按名字找玩家改成每 tick 一次的名字索引、成就列表去掉每条的字符串构造、每 30 秒读的配置文件与封禁名单挪到后台、聊天队列的长度判断改用计数器、网络采样不再每 20 秒新建线程、命令节流表不再只增不减。上报格式、字段名、取值时刻全部未变。
v1.9.75
网站
2026-10-10
服务端模组瘦身:把「会随人数放大」的开销挪出主线程
- 模组上报里最大的一块是地图:3 张地图各 256×256,约 19.7 万个点。原来这些点是在服务端那一 tick 里现拼成 JSON 的,拼完服务端才继续跑 —— 每半小时一轮,正好对上「偶尔卡一下」的那种尖刺。现在采集的那一 tick 只把数据交出去,拼装挪到后台线程:数据本来是现成的,拼 JSON 从来不需要占着主线程。
- 顺手把几处会随在线人数放大的开销收了:TAB 里的数字(在线时长、在线人数这些)原来每个玩家每一行都要重算一遍,而这些数字 30 秒才变一次;按名字找玩家的兜底是逐行扫全表(10 个人就是 100 次查找);成就列表每 10 分钟把上千条配方条目也过一遍;每 30 秒为了数一次实体把所有世界的实体全走一遍,还在主线程读配置文件和封禁名单。现在分别改成缓存、索引、只算一次、后台读 —— 上报给网站的内容一个字节都没变,页面显示和以前完全一样。
v1.9.74
网站
2026-10-05
后台管理补齐,个人主页的隐私开关真的生效了
- 后台侧栏那个「审核」角标以前只数论坛与相册两个队列,而前台管理面板数的是五个 —— 现在四处统一到同一个函数,而且每个菜单项各挂各的角标。破坏性操作(删用户组、删导航项、清空聊天记录、清缓存、清理未绑定)以前点了就直接执行,现在一律先确认。皮肤、头像背景、消息日志三个列表以前最多只能看到 200 条和 60 条,现在能翻页。
- 「允许别人查看我的个人主页」以前关掉其实只影响团队页的名单,个人主页照样人人可见 —— 现在真的按它放行,本人除外。顺手把「修改密码」和「退出其它设备」也记进了审计日志。
v1.9.73
网站
2026-10-05
红色的「确认 / 删除」按钮不再看不见
- 聊天里点撤回弹出的确认框,确认按钮是一片空白 —— 根因是开了液态玻璃之后,玻璃规则会把按钮底色清掉、只留下白色文字,红底按钮就变成白底白字。现在红色实心按钮和蓝色主按钮一样不参与玻璃。
- 同一个毛病波及全站所有红色按钮(撤回、删除、解绑等),一并修好。
v1.9.72
网站
2026-10-05
点分页不再弹回页面最上面
- 以前在页面下方点「下一页」会一路弹回页首 —— 现在分页按钮只把它上面那份列表顶到导航栏下方;列表开头本来就在眼前时一动也不动。前进后退会回到原来的滚动位置。
- 顺手几处小改:导航「服务器」里补上「种子地图」、页内锚点不再被吸顶导航盖住、相册卡片显示作者、首页在线玩家点头像进个人主页。
v1.9.71
网站
2026-10-05
后台权限收紧,顺手修掉几处小毛病
- 设置、轮换密钥、备份恢复、系统工具现在只有服主能进 —— 服务器管理组照常管内容、举报和白名单。
- 局部换页带出来的几个小毛病一起修了:深色不再被打回、同一条表单不会被提交两次、认领倒计时不再走快、排序下拉不再整页刷新。
v1.9.70
网站
2026-10-05
选页不再整页刷新
- 分页、筛选、搜索、排序改成只换内容,地址栏照常变、后退键照常能用。
- 保存 / 审核 / 删除这些写操作保持原样跳转。
v1.9.69
网站
2026-10-05
修好玩家列表搜索框被卡片挡住
- 页面上带动画的元素都带 will-change,而 will-change 会创建层叠上下文,于是下拉框的 z-index 只在「自己的卡里」有效,压不过 DOM 顺序更靠后的统计卡
- 改成把整张搜索卡抬起来,下拉现在完整浮在最上面
v1.9.68
网站
2026-10-04
修好手机版个人主页「划不动」
- 3D 皮肤模型框原来写死 touch-action:none 并在 touchstart/touchmove 里无条件 preventDefault,手指落在它上面时整页滚不动 —— 现在改成竖向交给浏览器滚动、横向才转模型
- 页头那块「拖背景」也跟着收窄成只认鼠标(以前手指按在上面也会被吃掉滚动)
v1.9.67
网站
2026-10-04
服务器指南重写:内容厚了一倍,指令终于分得清哪些是给玩家的
- 新手指南、服务器规则、常见问题、关于云岭四页全部重写,每页都写清了「为什么这么做」和「卡住了怎么办」
- 指令页顶上新增「玩家常用指令」,按进门必用 / 走动传送 / 聊天 / 查看分组;下面那张 435 条的大表原样保留
v1.9.66
网站
2026-10-04
手机上那行滑动提示不再贴着表格
- 「↔ 手机上可左右滑动查看完整表格」以前紧贴在表格上边框上,看着像和表格叠在一起,现在拉开了间距
- 导航条滚起来之后改成完全不透明:以前是半透明的,页面上的大字会从底下透出来
v1.9.65
网站
2026-10-04
给上传的 SVG 补了一个安全漏洞
- 以前只要有人上传特制的 SVG 头像或背景,就能拿到每一个看过它的人的 IP 与浏览器信息。现在这类外链会被自动抹掉,画面本身不受影响。
- 另外补上了 HSTS 与几条保守的内容安全策略。
v1.9.64
网站
2026-10-04
审核角标不再"常亮" + 状态页不再显示内网地址
- 后台那个「审核」角标数的是 5 个队列,可点进去的「服务器管理」面板只做得了 2 个 —— 于是角标亮着、进去却没得审。现在两边口径一致了,面板顶部还多了「更多待审」一排:相册 / 皮肤 / 论坛,点一下直接跳到对应的后台页。
- 服务器状态页的「网页地图」那一行以前写着
127.0.0.1:8100(那是服务器内部地址,只有探测用),现在改成显示外网的网页地图地址。
v1.9.63
网站
2026-10-04
后台审核能直接看视频了
- 挂了动态背景视频的背景,审核卡片上现在直接放那段视频 —— 点一下播放键就能看,默认只加载开头(不费流量),右上角还会标出「含视频」。
- 以前卡片只显示玩家另外挑的封面图,跟视频内容可能完全没关系(有人传的是太空画面、封面却是动漫图)。现在不会再看错。
- 顺手修好「上传时间显示 1970-01-01」:那是我代传素材的工具写错了时间格式,数据与工具都已修正。
v1.9.62
网站
2026-10-04
登录 500 修好了 + 两处观感调整
- 修好一个 500:上一版我给「登录成功」后的审计日志写错了参数位置,导致只要真的登录成功就弹「内部错误」。现在登录会正常跳转,不再报错。
- 登录页那句「我已阅读并同意《服务协议》和《隐私政策》」挪到了表单最下面(在「登录」按钮之后),和常见登录页的样子一致;没勾仍然登不了。
- 个人主页页头的压暗改成平滑渐变,去掉了原先那条很明显的横线 —— 现在是从上往下自然淡出,不再是「一条胶带贴在页头」。
v1.9.61
网站
2026-10-04
登录要勾同意条款了
- 登录页多了一个勾选框:「我已阅读并同意《服务协议》和《隐私政策》」——不勾就登不了,QQ 一键登录与邮箱密码两个入口都拦(服务端也校验,光禁用按钮拦不住人)。
- 新写了《服务协议》与《隐私政策》两个页面,逐项写清楚本站存了你什么:QQ 给的昵称与 openid、邮箱与密码哈希、绑定的角色、游戏统计、你上传的图、登录的 IP 与时间。
- 也写清楚了会跟谁共享 —— 只有三个:QQ 互联(登录)、mc-heads.net(没自传头像时取皮肤头像)、126 邮箱(发验证码)。没有广告联盟,也不卖数据。
- 还写了保留多久、怎么要求删除或导出、未成年人怎么办。页面底部「快速链接」里也有这两个入口。
v1.9.60
网站
2026-10-04
页头文字在亮帧上读得清了
- 视频替掉照片之后,页头白字压在蓝天白云上,最差处只有 1.16:1,几乎读不出来。真因是绘制顺序:视频是真实子元素,而那条压暗渐变挂在
body.cdr-body::before(生成内容)上,生成内容永远排在真实子元素之前,于是渐变被视频整层盖住,一点作用都没起
- 改法是把压暗做成页头自己的背景 —— 一条自上而下的渐变(顶部 62%,到 350px 处收干净),只压住页头那一条,画面主体(人物、地面、水面)一个像素都不动;全程没有新增任何固定定位的图层,页面高度保持 6816px 不变
- 最亮那一帧上,页头各项对比度从 1.16~2.63:1 提到 4.85~6.91:1(白字标准 4.5:1)。顺带修掉一个只在线上出现的回归:「返回」按钮在液态玻璃下底面是半透明的,会被压暗罩一起压暗(5.19:1 掉到 2.14:1),现在按钮文字跟着转白,最差处 6.04:1
- 只有传过横幅的页面会生效,没传横幅的页面一个字节都不变;滚轮、按钮、视频播放都复测过
v1.9.59
网站
2026-10-04
动态背景:滚轮与点击失效的真因找到了
- 真因是类名撞车:
.pub-bg-video 既是视频元素的类,又被拿来当 <html> 上的开关类。于是整条「铺满屏幕的固定视频层」规则落到了根元素头上 —— 根元素被设成 position: fixed,页面高度当场塌成屏幕高,滚轮自然滚不动
- 更隐蔽的是
pointer-events: none,它是会继承的:整棵文档树都收不到鼠标,只有 <html> 接得住,「返回」按钮于是形同虚设
- 修法:状态类改名
pub-bg-on,视频元素那条规则收窄成 video.pub-bg-video,两边不再同名,将来谁再挂这个类都不会误伤整页
- 背景素材换回第一版(4.50 MB → 4.41 MB),压暗不再烧进画面,颜色恢复正常;另外修正了三个本地体检台,它们以前量「视频那一层」其实量到的是
<html>
v1.9.58
网站
2026-10-04
动态背景:修掉一处白送的高度、拖拽更好找
- 换了新视频(15.98 MB → 4.50 MB),压暗直接烧进画面,手机上看到的静图也是同一张
- 撤掉了一个多余的遮罩图层 —— 它虽然看不见,却让页面凭空多出一屏多的高度
- 鼠标移到页头上会变成「抓握」光标,按住就能拖背景;门控放宽,带触摸屏的笔记本也能用
- 滚轮的问题还在查,这一版先把上面三处修了
v1.9.57
网站
2026-10-04
个人主页能用动态背景了
- 传一段 5 秒~1 分钟的无声小视频,电脑上循环播放;手机上仍然只放静图,一点流量都不多花
- 只有「横幅」那一格能挂视频,和图片走同一条审核;上限 6 MB,超了会被明确拒掉、不会静默
- 手机看到的静图就是你那张横幅,所以记得选一张和视频气质接近的
- 这个功能默认关着,先在后台开关里打开,上传框才会出现
v1.9.56
网站
2026-10-03
「选了图、点了保存、却什么都没发生」修好了
- 有玩家上传了头像和横幅、视频都发来了,后台却一条待审都没有 —— 那张图根本没到服务器,$_FILES 里从头到尾是空的
- 真因是 iPhone 相册默认的 HEIC:浏览器解不开它,裁剪弹窗把这种情况当成「取消」,顺手把文件从表单里抹掉了。提交时表单里没有文件,服务端只能当「这次没换图」,回一句绿字就完事
- 现在解不开的图不再丢弃 —— 原图照常上传(顶多不裁剪),并且告诉你是怎么回事
- 另外补了一道服务端兜底:前端说选了图、服务端却没收到文件,就直接报错,再也不会假装成功;真的点了取消也会明确提示「已取消,没有上传」
v1.9.55
网站
2026-10-03
「未知玩家」的名字修复搬进了后台
- 命令行脚本 .tools/_backfill-names.php 现在成了后台「系统工具」里的一个按钮,不用再敲命令
- 它会读历代备份里的 usercache.json,把「名字还是 UUID」的行补回真名,并把会话记录 / 成就 / 皮肤一起搬过去
- 页面先给你看要改哪些行、改成什么,确认了再点执行;动手前自动落一份数据库快照
- 只动名字是整串 UUID 的行,真名被占用时合并,正常玩家的名字一律不碰
v1.9.54
网站
2026-10-03
排行榜:几个维度各排前十,一屏看完
- 你说的是「细分排行榜」。玩家列表的排序下拉一次只能看一个维度,想知道"谁挖得最多、谁死得最多"就得来回切。新的 /ranking 把 9 个维度各取前十放在同一屏
- 每个维度一张卡,卡里是名次、头像、名字和那个维度的数值 ——
- 数值和玩家列表逐字一致(同一份格式化出口,两处各写一份迟早会对不上)。点名字进个人主页
- 卡头右侧的「查看全部」会带着这个维度打开完整列表(?sort=),不用再去下拉里找。入口在玩家列表页标题下的「排行榜」按钮;没有数据的维度不出空卡,假人照旧不进榜
v1.9.53
网站
2026-10-03
个人主页背景现在能拖了
- 传过横幅的主页,背景照片可以按住鼠标直接拖——像看一张能推动的风景照,拖的时候页头、头像、名字都稳稳压在照片上
- 只在最上面那块(页头)能拖。下面的卡片、表格、按钮照常点,选中文字也不受影响;按按钮时不会误触发拖拽
- 松手会弹回原位,拖到边缘就停住(四周各留一点余量),不会把照片拖出屏幕露出底色
- 只在鼠标 / 触控板上生效;触屏和系统里开了「减少动态效果」的用户自动关掉,行为和以前一样
v1.9.52
网站
2026-10-03
「未知玩家」以后会自己变回真名
- 列表上有几行名字显示成「未知玩家 · 87274f」——那串其实是他的 UUID。服务端的名字缓存只保留约一个月,老会员停玩一阵子之后模组就查不到名字了,只能把 UUID 报上来
- 问题是这种行以前永远好不了:等玩家下次上线、服务端重新认识他,改名那一步会撞上「名字不能重复」的约束(真名往往已经被另一次上报新建了一行),错误被吞掉,这行继续挂着 UUID
- 现在两条路都走通:真名没人用就直接改名(并把那段时间的会话记录、成就、皮肤一起搬过去);真名已被占用就并进那一行——时长相加、进度取并集、首末时间取边界
- 不用你做任何事,他下次上线自己就修好了。日志里会记一笔「认领=N」,后台「系统工具」能查到
v1.9.51
网站
2026-10-03
头像全站生效了;登录记录分页;浅色按钮不再发灰
- 你自己传的头像,以前只有个人主页看得到 —— 全站的头像走的是另一条路,它压根不知道你传过图。现在玩家列表、评论区、导航也都会用你的头像了;没传过的人一点变化都没有
- 「最近登录记录」以前一页 30 条,太长。现在每页 10 条,底部是站里其它列表页同款的翻页器(只有一页时不显示)
- 「展开全部徽章」那颗按钮看着发灰、像被禁用 —— 是权重没压住:浅色按钮的蓝底被基础那层白盖掉了,连它自带的底色也被抹了。已修
- 个人主页左栏下面那块空白:现在左栏会长到和右栏一样高,由末尾的「服内排名」撑满,不管你徽章是展开还是收起都不会再留洞。雷达那段说明也改成点一下才展开
v1.9.50
网站
2026-10-03
液态玻璃照参考重写了:这次是真的那块玻璃
- 上一版只有「一张渐变贴图 + 位移」,怎么调都不像。逐条对照参考才发现缺的是三样东西,这一版全部补齐
- ① 折射按真实光学算:玻璃厚度、边缘倒角、折射率(1.0~3.0)和圆角曲面一起参与,边上才有「厚玻璃」那种放大感;上一版那个衰减曲线是我拍脑袋写的
- ② 加了高光层 —— 沿着一圈边缘、朝固定方向的反光。这是液态玻璃最显眼的特征,上一版完全没有,难怪一直觉得不够
- ③ 位移之后补回饱和度(折射会把颜色拉灰),再去掉一点点采样锯齿。模糊依然只能给 0.3px:它一大,「邻近像素」就没有差别,折射会整个消失
v1.9.49
网站
2026-10-03
头像可以自己裁剪了:拖一拖,框里看到的就是最终效果
- 以前只能整张图传上去,由系统自己居中等比缩放 —— 脸偏在一边就只能认了。现在选好图会先弹出一个取景框:拖动图片调整位置、滚轮或滑块缩放,框里看到的就是最终头像
- 导出是 512×512(和服务端的头像上限一致),格式 WebP。小图不会被放大 —— 放大只会更糊,所以按原尺寸裁。取景框在窄屏会自动收窄,手机上也能用
- 有两类图片故意不裁:GIF 动图(裁完只剩一帧,动效就没了)和 SVG,它们原样走老流程。裁剪过程中任何一步出问题(浏览器不支持、内存不够)都会自动放行原图 —— 绝不会让你卡在「选了图没反应」
- 横幅不裁剪 —— 它本来就是宽幅,裁成方块没意义。这个功能只在「我的 → 我的资料」里上传头像时出现。
v1.9.48
网站
2026-10-03
窄屏把毛玻璃降了一档,手机上的掉帧有救了
- 手机版个人主页卡顿的原因不是动画写错了,而是模糊本身太贵:每张卡片都挂着
blur(32px) saturate(180%),而这一页同时可见的玻璃面有七八个,滚动时每一帧都要把它们背后的像素全部重采样一遍
- 32px 和 14px 的差别肉眼几乎看不出来 —— 卡片底色本来就压着 .70~.78 的白,模糊只是让背后的照片化开;但采样成本按半径大致是平方级的。饱和度 180% 也一起降到 150%,这个页面里没有任何地方需要颜色更艳
- 只在窄屏降档:桌面端一切还宽裕,一个像素都没动。这是纯性能改动,外观上你基本察觉不到,但手机上滚动会顺很多
- 这是纯性能改动,外观上你基本察觉不到 —— 如果你在手机上滚动还是觉得卡,告诉我具体是哪一屏,我接着查。
v1.9.47
网站
2026-10-03
手机版状态页短了一大截;封禁名单不再每行都挂一句「未绑定 QQ」
- 手机版的服务状态页以前每一行服务都被挤成两三行。原因很具体:那一行是三列网格,最小宽度加起来 504 像素,而手机视口只有 492 像素 —— 刚好塞不下,于是每行都被迫折行。现在窄屏改成两列、「备注」独占一行,整页短了 500 像素以上
- 顺手把面板内边距、可用性色条、节点卡的尺寸在窄屏下调紧了一档。这些改动只写在状态页自己的一段样式里,全站其他页面一个像素都不动
- 封禁名单里,每一行玩家名下面都挂着一句一模一样的「未绑定 QQ」,看着像这张表出错了。查下来是后台那个「封禁页隐藏 QQ」的开关算出来了却从来没被用过 —— 设置一直是死的
- 现在三处都听这个开关了:列表行、头像上的 QQ 角标与悬停提示、以及展开后的明细。「封禁理由」目前仍写死中文(10 种语言下都显示中文),这个我留到后面单独处理
v1.9.46
网站
2026-10-03
背景图能动了,还能跟着鼠标轻轻让开
- 背景图现在支持 GIF 动图。以前不是"没支持",而是"支持了但一动就被压平"——所有上传图都会被统一重编码成 WebP,而解码 GIF 只拿得到第一帧,所以动图传上来就变成静图
- 修法是:识别到多帧 GIF 就原样存盘、不重编码,动效完整保留。代价是动图不会被缩到 1920×1080(重编码就等于杀掉动效),这是有意的取舍
- 背景现在会跟着鼠标动:指针移动时,背景那一层朝反方向轻轻平移最多 10 像素,看起来像照片有景深、镜头跟着你看
- 实现上每帧只改一个 CSS 变量,照片本身一次都不重绘;鼠标停下就收敛、不再排帧,静止页面的开销和以前完全一样。只对鼠标与触控板开启,系统开了"减少动态效果"时整个关闭
v1.9.45
网站
2026-10-03
「返回」键上那个「十」字:查了四轮,真因藏在注释里
- 那个「十」字没了。它是浏览器在小盒子上做毛玻璃采样时留在上边缘正中的一块亮斑 —— 这颗按钮只有 58×35,亮斑占的可见面积很可观;卡片面积大,同样的亮斑被稀释掉,所以卡片上一个都看不到
- 修法是这颗小按钮不再挂毛玻璃采样,着色从 8% 提到 14% 把通透感补回来。代价为零:开着与关掉折射,这颗按钮的像素差异是 0 / 1766688(最大单通道差 1)
- 但真正难缠的是下一层:规则写对了却不生效。我在注释里逐字引用参考 CSS 时写了
/* 6% */ —— CSS 注释不能嵌套,那个 */ 把大注释提前关掉,紧跟的 } 又把规则提前关掉,解析器一路把后面所有规则全吞了
- 这个坏注释从 1.9.42 起就一直在,等于整整三个版本里,按钮玻璃的内圈柔光和外投影都是丢的 —— 现在一并回来了。教训已写成自检:注释里绝不能写会提前终止注释的东西(同样的坑我在 PHP 里已经栽过两次)
v1.9.44
网站
2026-10-03
鼠标一动就闪的那条横线:查了八个版本,真因是悬停时卡片被抬起 2px
- 真因不是高光、也不是毛玻璃的面积,而是全站的一条悬停样式:鼠标每划过一张卡片,它就被抬起 2px,而卡片带毛玻璃 —— 一移动,浏览器就得把它背后的画面重新采样一遍,采样按小方块切开,方块接缝就是那条线
- 中间走了五个弯路(把高光从背景搬到伪元素、改成 transform、改成真实子元素、挪出玻璃、整段删掉),每一条看上去都「应该有用」,但都没碰到真因
- 现在的修法:玻璃面悬停时不再位移,改用描边 + 阴影给反馈;另外去掉了两处整幅宽的毛玻璃(导航条与钉住的名字行)—— 大面积采样是最贵的一档
- 同一批还做了两件你看得见的事:鼠标跟随高光整段删除(太晃),按钮的液态玻璃照参考重写成三层(折射与着色分开)
v1.9.43
网站
2026-10-03
后台登录按钮没了:是我上一版写出的优先级 bug
- v1.9.42 那套按钮玻璃有个优先级写错了:基础那层 8% 白的着色是「5 个类 + 2 个元素」,而主按钮的深蓝渐变只有「3 个类」—— 于是基础层永远赢,深蓝渐变根本画不出来;同一段里的
background: none 又把主按钮自己的渐变抹掉了。深蓝底 + 白字就这样变成了白底 + 白字,按钮整个消失
- 修法:实心品牌按钮(主按钮)不再参与玻璃。它本来就是深蓝底 + 白字,玻璃这套只适合浅色按钮。主按钮恢复成原来的实心样式
- 同一个 bug 还悄悄吃掉了悬停提亮(它也是「4 个类」,同样输给 5 个类)—— 所以上一版说的「放上去和没放上去不一样」其实从来没生效过。现在真的生效了
- 还有一个附带 bug:
background: none 连加载中的按钮一起抹了,而玻璃层又排除它们 ⇒ 转圈那几秒按钮整个透明。现在加载中的按钮会恢复底色
v1.9.41
网站
2026-10-02
鼠标跟随的那团光删掉了
- 删掉了什么:指针在卡片上移动时跟着走的那团冷蓝色柔光,整段移除 —— 变量、开关、那层元素、脚本,一个碎片都没留
- 为什么删:你连着报了四次「鼠标一动就闪一块 / 一条横线」,我改过四个版本(写在卡片背景里 → 搬到伪元素 → 改成真实子元素 → 挪成整页的独立层)都没治好。你最后一句是「鼠标跟随的高光删掉,太晃了」—— 那就不要了
- 顺带的好处:删掉之后,指针划过不再引起任何重绘。这正好也是那条横线的最后一块拼图 —— 带毛玻璃的元素内部只要有东西在逐帧变化,浏览器就得反复重算它背后的画面,重算又是切成小方块做的,方块接缝就是你看到的那条线
- 别的都没动:毛玻璃的透明度、第一屏的照片、钉住的名字行、按钮的液态玻璃,全部保持原样。没有鼠标的访客和触屏访客本来也看不到这团光,对他们来说这次更新等于零变化
v1.9.36
网站
2026-10-02
鼠标跨过元素时高光不再跳一下;按钮的液态玻璃加强了
- 鼠标高光不再"跳一下":以前指针从一块卡片移到另一块时,光斑是瞬移的 —— 旧的立刻消失、新的立刻出现。现在旧的那块留在原地淡出、新的在鼠标位置淡入,中心点也跟着平滑走,整段大约 180ms
- 为什么没用 CSS 过渡:
transition 是"整体替换"的属性,没有"只给某一个属性加过渡"的写法;要写就得用一个会同时盖掉卡片入场动画和悬浮动画的选择器,滚动入场会从"淡入上浮"直接变成硬切。所以改成让脚本逐帧缓动一个数字(光强),跑完就停、不常驻循环
- 按钮的液态玻璃加强了:折射位移 14 → 50、倒角带加宽,并补上真正让"看着像玻璃"的那几样 —— 上沿一道镜面亮线、左右两沿的冷暖色散描边、内圈柔光;同时把模糊从 1.5px 收到 0.8px(模糊正好会抹掉位移要吃的那点细节)
- 还是那句实话:只有 Chrome / Edge 看得到;而且折射要有东西可折射才明显 —— 按钮压在白卡片上几乎为零,压在横幅照片那种有明暗细节的地方才看得出来。开关在后台「系统设置 → 外观效果」,默认关
v1.9.35
网站
2026-10-02
第一屏先看照片,往下滚内容才升起来;按钮有了液态玻璃
- 第一屏改成「英雄区」:传过横幅的玩家主页刚进来只有页头和背景照片铺满整屏,内容区完全不显示;滚轮往下一动,整块内容淡入并升起来(仍然保持 28% 透光);滚回顶部它会缩回去,可以反复看
- 为什么动的是内容块本身、而不是给它套一层容器:祖先只要带上「不透明度小于 1」,里面那一堆
backdrop-filter 玻璃就会采到「空的」背景,磨砂效果整个坏掉。逐块淡入淡出就没有这个祖先。另外正文里唯一两处 position: fixed(背景层和钉住的名字行)都不在这个集合里,所以加位移是安全的
- 按钮的液态玻璃折射(后台「系统设置 → 外观效果」多了一个开关,默认关):按钮边缘会像一块厚玻璃那样把身后的图案掰弯一点。用的是 SVG 位移贴图 +
backdrop-filter,贴图在打开页面时用 canvas 现画一次,没有逐帧脚本
- 只有 Chrome / Edge 看得到:Safari 与火狐不支持这条 CSS 特性,表现是静默失效(不报错、也不画),会自动退回现在这套磨砂玻璃。而且折射要有东西可折射才看得见 —— 按钮压在白卡片这种纯色表面上时效果几乎为零,压在横幅照片那种有明暗细节的地方才明显
v1.9.34
网站
2026-10-02
卡片透了一点、鼠标高光收小了,钉住时会滑下来
- 改了什么:传过横幅的主页上,大卡片的透光从 5~10% 提到约 28%(照片能看出来了),统计小格和雷达卡跟着一起调淡
- 为什么统计小格那排看着是两种颜色:鼠标跟随高光原来是一块半径 320px、alpha .22 的冷蓝色斑,盖住卡片左半边时,第 1 格实测 rgb(189,193,197)、盖不到的第 4 格 rgb(245,246,247) —— 同一排差 56 级。现在光斑收到 200px、alpha 降到 .10,并且小格不再单独参与高光(亮的永远是最外层那张卡片),同一排实测差 3 级
- 「闪烁」的另一半:指针从卡片空白移到小格上时,脚本的落点在「整张卡片」和「那一小格」之间来回跳,光斑从一大片瞬间换成一小点。把小格移出高光范围之后,这条跳动没有了
- 切到钉住时加了一段滑动:名字那一行从导航下面滑下来 10px 并淡入,180ms;系统开了「减少动态效果」时这段动画和按钮的回弹一起关掉(鼠标跟随高光保留)
v1.9.33
网站
2026-10-02
往下滚的时候,名字那一行会钉在导航底下
- 改了什么:传过横幅的玩家主页,往下滚时「头像 + 名字 + 等级 + 徽章」那一行会钉在站内导航下面,卡片从它底下滑过去;签名不在这一行里、照常滚走,「返回」跟名字一起钉住
- 为什么不能用 `position: sticky`:这一行的父元素是
.cdr-container,它只有页头那么高,sticky 的活动范围就被框在里面 —— 滚过页头它照样跟着走。所以改成了 position: fixed,再用脚本在它原来的位置插一个等高占位块(fixed 会脱离文档流,不补占位的话钉住那一刻整页会往上窜 86px)
- 钉住之后字色要反过来:这一行平时是压在横幅图上的白字,钉住后底下换成了浅色玻璃,白字压白底等于看不见(实测过一版:头像和「在线中」都在,名字那一格是空的)。所以钉住态的名字、等级、徽章统一换成玻璃面上用的墨色
- 只影响传过横幅的玩家主页 —— 没传横幅的页面(比如
/players/zlc)一个字节都没碰
v1.9.32
网站
2026-10-02
鼠标高光只亮该亮的那一块了
- 真因是自定义属性会继承。脚本给鼠标压住的那张卡挂
.is-lit,--glass-spot 就顺着继承链一路传给卡里每一个 .stat-mini —— 一个开关变成了七八块亮面。站长看到的就是「我鼠标在另一个地方,怎么全亮了」。实测证据:探针黄条新增了一个 spot= 计数,它数的不是 .is-lit 有几个,而是算出来的 --glass-spot 有几个元素不是透明 —— 修之前指针停在卡片标题的空白处时是 lit=1 spot=8/27
- 修法:让每个玻璃面自己把
--glass-spot 重置成 transparent,继承链就断在这里;哪一块被指针真正压住,由脚本单独给它挂 .is-lit。改完 spot=1/27
- 顺带修的第二个坑:那条重置和
.is-lit 的规则特异性一样,而它写在后面 —— 按「后来者胜」,光写 body.cdr-body .is-lit 会被它整条盖掉,高光会彻底消失(实测 lit=1 spot=0/27)。所以 .is-lit 那条必须逐个列全四个选择器、把特异性抬上去。这一步要是漏了,就是从「亮得太多」直接变成「一点都不亮」
- 另外把坐标改成进入新元素时同步写一次,不再只等
requestAnimationFrame:否则第一帧读不到坐标,光斑会先闪现在卡片正中再跳到指针那儿。现在一个 .is-lit 就是一块亮面,指针在哪亮在哪
v1.9.31
网站
2026-10-02
液态玻璃加两处手感:鼠标跟随高光 + 按钮回弹
- 鼠标跟随高光:指针在任意一块玻璃面上移动时,会有一小团冷蓝白的柔光跟着指针走 —— 只有指针所在的那一张亮,其余保持原样。它是画在卡片背景里的一层
radial-gradient,读的是脚本实时写入的 --glass-mx / --glass-my。不加节点、不碰层叠上下文,也不干扰卡片的模糊。浅色主题用的不是白光而是冷蓝白:白卡片(rgb 229~245)上再叠白光最多只能提 6 级,肉眼等于没有
- 页头照片带加高:
.page-head 的下内边距从 30px 加到 160px(整块约 317px),下面那排白卡片跟着整体往下推,头像、名字、等级标签现在直接压在横幅图上 —— 这就是「露出背景图」。只加高、不加内容,窄屏收到 72px;没有把内容整体下移,那样顶上最暗的遮罩就白留了,转白的那几行字会看不清
- 按钮 spring 回弹:按下时压到 .955,松手时用
cubic-bezier(.34, 1.56, .64, 1) 收回来 —— 第二个控制点的 y = 1.56 大于 1,曲线会冲过终点再回调,那一下「弹」就是它。纯 CSS,不用 JS、也不用物理引擎
prefers-reduced-motion 的降级改成只降「自主运动」:按钮回弹(松手之后自己弹一下,属于自主运动)换成普通的短过渡,仍然有按下反馈;鼠标高光保留 —— 指针跟随是直接操纵,动的是指针本身,不是页面自己动。站长那份液态玻璃要求原文写的也是「去掉 displacement,只保留 blur + 高光」。这也是这台机器唯一能看见高光的办法:实测 Windows 的动画效果是关的(MinAnimate = 0 / DragFullWindows = 0 / VisualFXSetting = 2),浏览器会如实上报 reduce,高光要是一起关掉就永远看不到
- 以上全部只在传过横幅的玩家主页生效(整段仍然在
$pubBgCss !== '' 里);其余页面 —— 包括没有横幅的玩家页 —— 一个字节都没碰,自检里有四条断言专门守这件事
- 一句实话:这两个都是「手感」效果,静态截图看不出来,得真的把鼠标划过去、真的按一下按钮。另外建议顺手在系统设置里打开动画(设置 → 辅助功能 → 视觉效果 → 动画效果),否则浏览器会对所有网站说「用户要求减少动态效果」
v1.9.30
网站
2026-10-02
液态玻璃重做:卡片颜色不再跟着滚动变
- 真因不在渲染引擎:个人主页的背景图挂在
body 上、用的是 background-attachment: fixed。那句写法的意思是"图钉在视口上不动",而它不是一个独立的合成图层 —— 浏览器每一帧都要为卡片的 backdrop-filter 重新采样它,采样窗口和滚动位置不同步就"跳色";同时卡片在移动、图不动,于是每张半透明卡都会把整张照片扫一遍。两件事叠在一起才是站长看到的"有时深、有时浅、又时正常"
- 治滚动时闪:背景从
body 挪到一个 position: fixed 的独立图层(body::before,z-index: -1、pointer-events: none、will-change: transform)。独立图层可以被提升为合成层,整个滚动过程中采样源都是同一块已合成的位图,不再逐帧重采样
- 治静止时深浅不同:卡片改成"材质自己定色"。依据是实测的线性外推 —— 跨滚动差 ≈ (1−alpha)×53,要压到 4 级以内需要 alpha ≥ .925。大卡上沿 72% → 95%、下沿 60% → 90%;统计小格 80%/70% → 97%/94%;雷达卡 76%/66% → 96%/92%。照片仍有 5~10% 从卡里透出来,那是玻璃的色感来源
- 玻璃做成了多层材质:噪声层 + 竖向渐变 + 边缘掠射高光 + 内折射倒角,参数全部抽成变量(
--glass-blur --glass-sat --glass-highlight --glass-displacement --glass-noise),要调直接改一处。一句实话:真正的 SVG feDisplacementMap 折射做不出来 —— Chromium 与 Safari 的 backdrop-filter 只接受滤镜函数、不接受 url(#svgfilter),所以用一圈内折射倒角来近似那个视觉,没有假装做了
- 效果:同一个位置跨滚动只差 3~6 级(上一版 18 级,最早 100 级),整体亮度落在 229~245;深色主题只差 1~3 级。同时去掉了玻璃面上的
text-shadow 白晕 —— 卡面稳定之后它不再有用,只会吃掉 12px 小字的字干
- 顺便修「能力雷达图字不好看出来」:没动任何透明度,只把「全服」那几行副标签的字号从 .76rem 提到和主行一致的 .84rem、颜色从次要灰提到正文色、补一点字重。真因是 12px 与 13px 的中文在 Windows 下走的是不同的抗锯齿档。以上只影响传过横幅的玩家主页,没有横幅的页面一个字节都没碰
v1.9.29
网站
2026-10-02
翻页时卡片忽深忽浅,修好了
- 真因不是渲染 bug:个人主页的背景图用了
background-attachment: fixed,图片钉在视口上不动,而卡片跟着页面滚 —— 于是每张半透明的卡都会把整张照片"扫"一遍:扫到深色天空就发暗,扫到亮色建筑就发白。实测同一张卡随滚动从 rgb(99,107,125) 一路摆到 rgb(201,197,200),差了 100 级灰
- 修法是把玻璃本身加密一档 —— 能同时保住"透明"和"稳定"的杠杆只有 alpha:大卡片上沿 56% → 72%、下沿 34% → 60%;统计小格 76%/60% → 80%/70%;雷达卡 70%/52% → 76%/66%。三档的密度关系(大卡最透、小格最实)保持不变
- 效果:同一个位置跨滚动只差 14 级(原来 47 级),整体亮度落在 163~206 —— 从"中灰发暗"变成了明确的浅色磨砂。深色主题同步加密(82%/72% 那一档),跨滚动只差 4~8 级
- 只影响传过横幅背景的玩家主页。没有横幅的页面(比如
/players/zlc)根本不发这段玻璃样式,这次改动对它们一个字节都没碰
v1.9.28
网站
2026-10-02
「日均在线 86 小时」修好了
- 原来的算法是「终身累计时长 ÷ 有会话记录的活跃天数」—— 分子是十年的,分母只有 2026-09-12 之后的 11 天,两个年代相除就出了「86 小时/天」。不是分子错了,是分母缺了大半
- 分母换成终身活跃天数:聊天记录、成就解锁、进服会话三张表按天去重取并集 —— 你的号是 423 天。941 小时 ÷ 423 天 = 2 小时/天,量级终于对了
- 顺带修好两处:登录次数改用终身累计(1,655 次,以前 929 个老玩家显示 0);最长单次时长不会再出现「平均 21 分钟、最长 0 小时」这种不可能的组合
- 还顺手修好三枚成就:活跃 7 / 30 / 100 天 之前因为同一个分母永远解锁不了 —— 全站会话记录最多只有 16 天,阈值根本够不着
- 安全审计(一):修掉会被人真正利用的几处 —— 上传的 SVG 里能用转义藏外链(头像能拿去偷访客 IP)、后台能删到 uploads 之外的文件、登录有开放重定向、备份压缩包里的脚本能落地成网页后门、两个本地调试脚本在线上可访问
- 安全审计(二):接口与后台加固 —— 空名单不再能一键清空全站封禁、上报有行数上限、白名单名字有校验、聊天单条失败不再拖垮整批、数据库报错不再把细节回显给访客
v1.9.27
网站
2026-10-02
雷达那一栏的小字,看清楚了
- 「能力雷达」那一栏的小字(轴名、右侧数值、「全服」、下面那段说明)坐在 34% 的玻璃上时,最暗的地方对比度只有 3.3 : 1 —— 低于小字该有的 4.5 : 1。这就是你说的「看不清」,确实是我上一版没收干净
- 修法两处:次要文字整体压深一档;同时给「能力雷达」整张卡单独一档底色 —— 它整张卡几乎全是小字,不该和大卡片共用同一个透明度
- 大卡片没有被牵连:皮肤卡、成就卡、页脚仍然是 34%,背后的图照样透得出来;统计小格原来那档密底色也不变
- 深色主题配了同款;仍然只发生在传过横幅的页面上,没横幅的角色页一个像素都没动
v1.9.26
网站
2026-10-02
玻璃再透一档,字照样看得清
- 主页面:上沿 62% → 56%、下沿 40% → 34%。现在背后的图是真的看得见了 —— 塔灯的竖条、地平线、远景的方块轮廓都能透出来,不再是一块磨砂板
- 「能看见图」和「字看得清」本来是打架的,所以拆开处理:统计小格(「累计在线」「登录次数」那种小字密集区)单独用一组更密的底色(76% → 60%),大卡片保持很透。小的更实、大的更透,正好和苹果的层次反过来用
- 文字补了一圈极淡的同向光晕(
text-shadow)—— 底子亮时看不出来,底子暗时才显形,等于给字自带一层局部底。这样才敢把透明度压到 34%
- 深色主题配了对应的深玻璃与暗色光晕;仍然只发生在传过横幅的页面上,没横幅的角色页一个像素都没动
v1.9.25
网站
2026-10-01
玻璃再透一点,也更像苹果了
- 主页面:不再是"一层均匀的 68% 白",改成上亮下透的竖向渐变(62% → 40%),高斯模糊 22px → 32px,另加
saturate(180%) + brightness(1.12)。苹果那种玻璃会"拾取"背后的颜色并略微提亮,光加模糊只会像磨砂
- 玻璃片四周多了折射边 —— 上沿一道 1px 掠射高光,内侧再围一圈极淡的描边;阴影也拆成两层(贴地的接触阴影 + 散开的环境阴影),这样玻璃才像"浮"在图上,而不是贴着一张纸
- 顺手修了一个调透之后才冒出来的问题:「累计在线」「登录次数」这类副标签快看不见了 —— 它们用的灰在半透的白底子上只有 2.5:1。现在玻璃面内单独换深一档,压在图上的那行小字保持原样不动
- 深色主题跟着换了一整套深玻璃参数;这些仍然只发生在传过横幅的页面上,没横幅的角色页一个像素都没动
v1.9.24
网站
2026-10-01
主页变成了「液态玻璃」
- 卡片、皮肤卡、六个统计方块和整个页脚都换成了半透明玻璃(68% 白 + 22px 高斯模糊),背后的横幅被模糊之后透出来。字仍是深色,压在图上也看得清;深色主题自动换成深玻璃
- 成就徽章卡片的标题栏多了「全部收起 / 全部展开」 —— 8 个分类一次收掉,不用再滑到 98 枚勋章的最下面去按那个按钮
- 右下角的管理抽屉多了第四个页签「头像 / 背景」,待审的图直接在那儿通过或拒绝。它和后台「玩家与数据 → 头像 / 背景」是同一份数据,在哪边审都一样
- 这些只发生在传过横幅的页面上 —— 没横幅的角色页一个像素都没动(我拿改动前后的截图逐像素比对过)
- 玻璃做不出来时(老浏览器)会自动退回原来的实心卡片;但没有跟随系统的「降低透明度」偏好 —— 站长自己那台机器的 Windows 透明效果就是关的,跟随它的话他自己一个玻璃都看不到
v1.9.23
网站
2026-10-01
个人主页能铺满整屏了
- 背景 —— 传过横幅的人,角色页会用那张图铺满整个浏览器窗口,头像、昵称、等级、位置都压在图上面。没传过横幅的页面一个像素都不变
- 位置 —— 个人中心「个性化」里可以选国家(选了中国还能选到省份),选完会显示在主页「离线 / 排名 #8」那一排;不选就不显示
- 玩家列表的行首头像改成优先用你自己传的那张。以前一律去国外取官方皮肤头像,国内基本加载不出来,所以看到的永远是彩色字母方块
- 上传的头像和背景要经过审核才会出现在页面上。审核期间旧图继续用,不会出现「一半新一半旧」;想撤掉的话点「移除」是立刻生效的
- 上传上限放宽:横幅最大 3840×2160(原 1920×1080),并且开始接受 SVG —— SVG 会做安全清洗,脚本、外部引用、内嵌 HTML 全部丢掉
v1.9.22
网站
2026-10-01
弹窗换个样子 · 老封禁补回来了
- 全站 16 处弹窗统一成了站内自己的样式。原来那些是浏览器自己的框,顶上还写着「cloudridge.cn 显示」,手机端尤其出戏,样式也完全不跟着站点走。现在标题、正文、按钮都由站点控制,危险操作是红色按钮,Esc 取消、Enter 确认、关掉之后焦点自动回到刚才点的那个按钮上
- 老服关服时还封着的 8 个人 + 3 个 IP 补回了封禁名单,公示页自此是 12 人 + 7 个 IP。名字、IP、封禁时间和处理人都按当年原样抄回来,没有一处是编的。有一点要说清楚:模组只是读服务器上的封禁文件往上汇报,游戏里真正拦人仍以服务器那份名单为准 —— 名单要等服务器重新载入才生效
v1.9.21
网站
2026-10-01
那个「未知玩家」并回本人了
- 玩家列表上一直挂着一行「未知玩家 · 000000」,看着像第四个没被统计到的人。查清了:旧服的 floodgate 给基岩版玩家发的 UUID 落在
00000000-0000-0000-0009-… 这个占位域里,而模组上报时只能拿名字 —— 那一刻名字恰好就是这个 UUID。它其实是 birdzhonghuifei 用基岩版玩的那段时间,现在并回本人了
- 合并的规矩:计数类(时长、登录次数、死亡、挖掘、放置、移动距离)相加,进度取并集,首次进服取更早的那个、最后在线取更晚的那个 —— 时间是不能相加的。挂在他名下的 9 枚徽章本人早就有同款,重复的那份直接丢掉。玩家榜由此少了一行,
birdzhonghuifei 的数字也比原来更完整
v1.9.20
网站
2026-10-01
日历能直接跳年月了
- 日历弹层左上角多出「年」「月」两个下拉:先挑年份再挑月份,两步就能到任何一个月,不用再点着
‹ 一个月一个月往前翻。左右两个翻月按钮和中间的「今天」都还在,翻页时两个下拉会跟着一起走
- 顺手修掉一个排序毛病:按「首次进入」排序时,日期查不到的那几行原本会被顶到第 1–4 名,看着像整个榜单坏了 —— 「没有值」并不等于「最早」。现在这类行一律沉到榜尾,无论升序还是降序
v1.9.19
网站
2026-10-01
聊天记录又补回 229 条
TrChat 插件日志只从 2023-09-01 才开始记,2024 年下半年有几段是残缺的。这次把三个从没导过的旧服 CoreProtect 库翻了出来,里面存着 2024-07 到 2024-12 的 34,417 条聊天;去重之后净补回 229 条发言,分布在 37 天,最早的是 2024-07-11
- 去重按「同一个玩家 ±5 秒内已经说过同一句」判定 —— 同一条发言
TrChat 和 CoreProtect 各记一份,时间戳常差 1 秒、偶尔正好跨过分钟线,按分钟比会把这几十条误当成新发言重复刷进来
- 这 37 天原本也不是一片空白 ——
TrChat 当时记下了大部分对话,补回来的是被漏掉的那些零星几句。现在翻到 2024 年 7 月到 12 月的这些日子,当时聊的内容更完整了
v1.9.18
网站
2026-10-01
账号里的小号可以摊开了
- 「玩家列表」里名下不止一个角色的行,行首多了一个箭头:默认收起,点一下把每个角色摊开成单独一行,各自的累计在线、登录次数、最后在线、状态一目了然(主行是加总,子行是各自的值)。再点一下收回
- 搜小号的名字会把那一行自动展开 —— 搜
Winter 时你会直接看到它和 Fruity_oxygen 各自的数据,不用先猜它挂在谁名下。顺带修掉一个老毛病:按「玩家名」排序时表头比正文少一列,整张表会错位
v1.9.17
网站
2026-10-01
玩家榜按账号排名 · 三年的聊天记录全部找回
- 「玩家列表」现在一行 = 一个网站账号:同一个 QQ 名下的小号数据加在一起算(
Fruity_oxygen 与 Winter 合并成一行、ElfinLettuc 与 Faithe 合并成一行),没绑过网站账号的散人各占一行。名字后面那枚「N 个角色」徽章可以点开看是谁并到了谁名下 —— 原来把大号和小号拆成两行的榜单,看着像小号白玩了
- 新增账号主页(
/accounts/编号):名下每个角色单独列出来,各自的时长与登录次数一目了然,上面的汇总数字就是它们相加的结果。这个页面完全公开,不用登录也能看。顺带清掉一条脏数据:有个角色的绑定字段指向了一个根本不存在的账号编号
- 回填了三个一直被占位值糊住的字段:最后在线(原来 929 个角色全写着 2026-09-13)、首次进服(936 个同样是假的 2026-09-13)、登录次数(全站合计只有 291,928 个人显示「—」)。最后在线取自服务端存档文件的修改时间,首次进服与登录次数取自历代服务端的日志。现在
wwwsum 老老实实写着 2024-08-22、7Strawberry 写着 2024-03-07,登录次数由 291 涨到 21,766
- 聊天框把开服以来的记录全部补回来了:从 2022-12-16 的第一条,到 2026-09-25 模组实时上报接手,一共 174,457 条发言与进出服记录(发言 124,024 条、进服 25,424 次、退服 25,009 次)。以前只有装过模组的那几天有记录,现在在网页地图上随便点一天,都能看到当时的对话
- 日历原来只把最近 400 天标成可点,补回来的 729 天里有 492 天点不动 —— 等于还原了却看不到。现在有记录的每一天都能点进去。另外「注册玩家」这个数字在首页和玩家列表上原来差了 2(791 对 789),已统一成账号口径
日期为对应版本的发布时间。发现新问题欢迎到讨论区反馈,或者直接找服主。