AI生成声明:本模组由 AI 智能体(WorkBuddy)在用户的明确需求与逐项验收下编写; 功能设计、真机测试与发布决定均由用户主导。
在 HUD 上实时显示网络质量的纯客户端模组 —— 不用再按 F2 去看那一大堆调试信息。
面板贴在「在HUD中显示日期和时间」面板的正左侧,同一水平线、同一高度、同字体同字号同颜色同背景,看起来就像同一套界面的一部分。
┌──────────────────────────┬──────────────────────────┐
│ 延迟 42毫秒 99% ↓3.4 ↑0.8 KB/s P 3 │ 第 128 天 14:32 │
└──────────────────────────┴──────────────────────────┘
↑ 本模组(EasyHUD) ↑ 天数/时间面板
| 项 | 默认 | 说明 |
|---|---|---|
| 延迟 | 开 | 格式 延迟 42ms |
| 连接质量 | 开 | 格式 99%,在原版 F2 里 99% / 98% 的那一项 |
| 上下行带宽 | 开 | 格式 ↓3.4 ↑0.8 KB/s |
| 在线玩家数 | 开 | 格式 P 3(含主机) |
| 低质量变色 | 开 | 正常时与天数面板同色;Ping>120ms 或质量<80% 变黄;Ping>250ms 或质量<50% 变红 |
| 单人自动隐藏 | 开 | 单人自己开主机时不显示(无网络流量,显示0无意义) |
每一项都能在配置里单独关掉。刷新间隔默认 0.5 秒(网络统计本身是低频采样的,刷太快只会让数字乱跳)。
Valheim 和 Steam 都没有暴露“丢包率”这个数字。 我把链路挖到了底:
连接面板.更新 ← 原版 F2 面板 → ZNet.获取网络状态(输出本地质量, 输出远程质量, 输出延迟, 输出发送字节每秒, 输出接收字节每秒) → ZSteamSocket.获取连接质量(...) → Steamworks.Steam网络套接字.获取连接实时状态(...) → Steam网络连接实时状态_t { 延迟毫秒数, 本地连接质量, 远程连接质量, 发送|接收数据包每秒, 发送|接收字节每秒, ... }
这个结构体里只有“包速率”,没有“丢包率”Steam 给出的最接近的指标就是
本地连接质量 / 远程连接质量(0~1 的连接质量,已经综合了丢包、延迟、抖动)。
所以本 HUD 用 连接质量 % 来反映网络质量的好坏:丢包或延迟一恶化,它就会明显掉下来, 这也是原版 F2 面板显示的那两个百分比。若你更希望看到数字化的延迟波动, 可以关注 Ping 与带宽两项的变化。
(理论上还有一条路:Steamworks.NET 的 获取详细连接状态 会返回一段人类可读的文本,里面带 dropped 计数——但它是给人看的字符串、格式随 Steam 版本变、且只在 Steam 后端有效,做成正式功能太脆弱,本模组没有采用。)
不是硬编码坐标,也不要求你去抄一遍配置:
白天时间面板(挂在 Hud.m_rootObject 下)。本面板右边缘 = 它的左边缘 − Gap,y 与它完全相同。所以:
[4 - 回退样式] 里的内置样式,默认值就是那个模组的默认外观(AveriaSansLibre-Bold / 16 / 白色 / 背景 00000064 / 高30)。面板宽度默认按文字自动收缩;想让两个面板一样宽,把 面板宽度 填成 200 即可。
BepInEx/配置/easyhud.客户端.仅限.cfg
| 分区 | 键 | 默认 | 说明 |
|---|---|---|---|
| 1 - 常规 | 已启用 |
真 | 总开关 |
| 1 - 常规 | 单人时隐藏 |
真 | 单人时隐藏整个面板 |
| 1 - 常规 | 更新间隔 |
0.5 | 刷新间隔(秒),推荐 0.25~1.0 |
| 1 - 通用 | 比赛日时间风格 |
真 | 自动继承天数面板的样式 |
| 1 - 通用 | 面板宽度 |
0 | 0 = 按文字自动;填 200 = 与天数面板同宽 |
| 1 - 通用 | 间隙 |
0 | 与天数面板的间距(像素) |
| 1 - 通用 | 主机上规范化 |
真 | 自己当主机时显示平均值请提供需要翻译的文本内容。 |
| 2 - 内容 | 显示延迟 / 显示画质 / 显示带宽 / 显示玩家 |
真 | 逐项开关 |
| 2 - 内容 | 下箭头 / 上箭头 |
↓ / ↑ | 上下行箭头;若字体显示成方块就改成 v / ^ |
| 3 - 警告色 | 已启用 |
真 | 低品质变色 |
| 3 - 警告色 | 警告延迟毫秒 / 高延迟毫秒 |
120 / 250 | Ping 阈值 |
| 3 - 警告色 | 警告质量百分比 / 低品质百分比 |
80 / 50 | 质量阈值 |
| 3 - 警告色 | 警告颜色 / 坏颜色 |
FFFFA0FF / FF6B6BFF | 黄 / 红 |
| 4 - 备用样式 | 字体大小 / 字体名称 / 字体颜色 |
16 / AveriaSansLibre-Bold / FFFFFFCA | 找不到天数面板时用 |
| 4 - 备选风格 | 轮廓启用 / 轮廓颜色 / 背景颜色 |
真 / 000000FF / 00000064 | 同上 |
主机上标准化游戏底层的 获取网络状态 在主机模式下是把所有客户端的值累加的 (原版 F2 也这样,所以主机开 3 人时 F2 会显示 300% / 1500毫秒 这种数字,其实每个人都不差)。
真(默认):除以有效连接数,显示平均值,更容易看懂。假:与 F2 面板完全一致的累加值。自己是客户端连别人时,这个开关没有任何影响。
唤醒界面(只是为了挂 UI),不碰任何网络/游戏逻辑。网络兼容性 声明、无内嵌 ServerSync / ConditionalConfigSync。EasyHUD-1.0.0.zipEasyHUD.dll 放进 BepInEx/plugins/进游戏后看 BepInEx/LogOutput.log,应出现:
[Info : EasyHUD] 已挂载补丁类:HudAwakePatch [Info : EasyHUD] Hud.Awake() prefix=0 postfix=1 OK [Info : EasyHUD] Harmony 补丁挂载完成:1/1 成功。 [Info : EasyHUD] 网络面板已创建:父节点 Hud.m_rootObject,初始位置 (…),字体 AveriaSansLibre-Bold。 [Info : EasyHUD] 已找到「DayTimePanel」面板并贴到其左侧:它的位置 (…) / 尺寸 (…) → 本面板 y=-25,样式来源=继承它的 UI 组件
| 现象 | 原因 / 处理 |
|---|---|
| 完全看不到面板 | 单人游戏时默认隐藏 → 进多人或把 单人模式时隐藏 改成 false |
| 面板位置不对 / 没贴在一起 | 日志里搜「已找到「DayTimePanel」」;若没有这行,说明没找到那个面板(它没装或被改名),此时本 HUD 用回退坐标 |
| 文字显示成方块 | 换 字体名称([4 - 备用样式]),或把 下方向键 / 上箭头 换成 v / ^ |
| Ping 一直是 0 | 该数据来自 Steam 的实时连接状态,只在真正联机时才有值;另外主机模式请见 主机端规范化 |

修改前置工具
2026-09-12 14:33:53
修改前置工具

史诗战利品
randyknapp2026-09-09 21:20:10
为英灵神殿添加战利品掉落、魔法物品和附魔。

制作 建造 熔炼 烹饪 燃料 从容器中取出
aedenthorn2025-06-30 08:34:14
让你在制作、建造、使用熔炉和窑炉、添加燃料、烹饪食物等时,可以使用附近容器中的资源。

种植一切
Advize2025-09-09 11:15:37
重写了bkeyes93的种植增强模组。允许你的种植者种植浆果丛、蓟、蒲公英、蘑菇、此前无法获取的树种以及其他装饰性植物。还包括许多其他杂项功能(详见

无限制传送门
frostedplaything4102023-09-02 17:39:40
无限制传送门是一个客户端模组,允许玩家通过传送门传送任何物品。该模组提供广泛的自定义选项,让玩家能够控制物品限制、移除限制,

农场格子
Sarcenzzz2023-06-14 11:38:34
允许所有通过种植器种下的植物自动对齐并放置在网格中,确保它们有足够的生长空间。

更好的UI
MKMasa2021-04-15 09:19:42
这个模组对游戏界面做了一些细微的调整。你可以编辑并选择想要启用的更新内容。

更好的射箭
Ishid42026-09-10 16:16:51
为弓术玩法添加了许多功能和改动,包括全新的箭袋系统、可回收的箭矢、更精准的瞄准以及逼真的箭矢物理效果。