服务器信息

创作者: Odin_Sons
已更新:2026-09-13 03:23:43
135KB

前置 MOD

使用 服务器信息 时将自动安装

关于此 MOD

通过一个小型 HTTP JSON API 公开 Valheim 服务器的世界名称、已连接玩家(含 Steam 头像)和已安装模组——专为直接从浏览器读取的实时状态页面而构建。

服务器信息

VirusTotal

一个用于Valheim专用服务器的BepInEx插件。它公开了一个小型HTTP API,提供世界名称、已连接玩家和已安装模组(并附加了每个模组的 manifest.json 当它有一个时)——用于项目的状态页面显示实时服务器状态。

安装中

复制 服务器信息.dll 进入服务器的 BepInEx/plugins/ 文件夹并重启服务器进程——就这样。BepInEx 会生成 BepInEx/config/Odin_Sons.ServerInfo.cfg 首次运行时,以下每项设置均为默认值,因此无需额外配置即可直接使用。

网络设置

该插件运行自己的HTTP服务器,无需在其前面部署nginx或任何其他反向代理。在新服务器上需要检查两件事:

  • 防火墙/端口转发。 无论你配置哪个端口(8880 默认情况下)需要确保你的状态页面或浏览器无论从何处调用它都能访问到——在防火墙中开放它,如果服务器位于NAT后面,还需在路由器上进行端口转发。
  • Windows:URL 预留。 HttpListener 需要管理员授予的保留,才能让非管理员进程为所有主机绑定端口。这仅控制哪些 本地 Windows 帐户 可能会占用该端口——这不会影响网络访问,网络访问是由上面的防火墙步骤处理的。如果日志显示启动时出现访问错误,请找到实际运行服务器的账户(我是谁)并以管理员身份运行一次(替换 8880 和 你的用户名):
    netsh http add urlacl url=http://+:8880/ user=YOUR_USERNAME
    
    如果你不确定哪个账户会运行它(例如可能会更改此设置的服务管理器), 所有人 总是有效,但让 任何 本机上的本地账户也会占用该预留——在单用户机器上没问题,但在共享机器上最好避免。

跨域请求由两项设置控制,这两项设置均位于 [服务器]:

  • 领域 — 该服务器可访问的公共域名或IP。默认为空。插件除了用它来控制下一个设置外,不用于其他任何用途——可以把它理解为“此服务器已准备好公开”,而不是插件会实际使用的地址。
  • 允许的来源 — 谁被允许从浏览器读取响应。默认为 * (任意站点),但实际只发送一次 领域 已设置——因此全新安装不会为一个尚不可公开访问的服务器宣传 CORS 策略。

如果你的状态页面直接从浏览器读取此端点,请设置 域名 到此服务器的真实地址,如果你想限制谁能读取响应,请设置 允许的来源 到状态页面的确切来源(协议+主机+端口,例如 https://status.example.com ——浏览器要求完全匹配,因此仅仅指向同一服务器的域名不算作同一来源)。

配置

通过 BepInEx/config/Odin_Sons.ServerInfo.cfg。数值设置声明了一个可接受范围——BepInEx 会将文件中超出范围的值钳制到最近的边界,而不是原样接受,任何 BepInEx 配置编辑器模组(例如 Configuration Manager)都会将其渲染为有界滑块,而非自由文本。

[服务器]

按键 类型 默认 范围 含义
港口 32位整数 8880 1–65535 Web 服务器的 HTTP 端口。
服务器信息路径 字符串 服务器信息 — 服务器信息端点所提供的 URL 路径。
领域 字符串 (空) — 此服务器的公共域名或IP。盖茨 允许来源 ——见下文。
允许来源 字符串 * — 作为值发送 访问控制允许来源,仅一次 领域 已设置。
请求超时秒数 32位整数 5 1–60 请求在超时前等待游戏主线程的时长。

[缓存]

按键 类型 默认 范围 含义
缓存间隔秒数 32位整数 5 1–3600 服务器/玩家列表的重新计算频率。
头像缓存分钟数 32位整数 60 1–1440 已获取的头像 URL 复用多长时间,以及非活跃玩家的条目保留多长时间。

[Steam]

按键 类型 默认 含义
Steam API密钥 字符串 (空) 可选;没有它,插件仍可正常工作—— 玩家 照常返回,只是没有 头像链接.

[模组]

按键 类型 默认 含义
元数据源 字符串 清单,装配 模组优先顺序(以逗号分隔) 描述/网站地址/依赖项 ——见下文。

[日志]

按键 类型 默认 含义
日志级别 标志枚举 错误,警告 此插件将哪些消息级别写入BepInEx日志。可组合以下值: .cfg (例如 错误,警告,信息)以包含更多细节; 信息 添加正常操作不需要的启动/诊断信息。

头像缓存的工作原理

获取的头像URL保存在内存中,以SteamID为键——不会写入磁盘,重启后即消失。条目存在时间短于 头像缓存分钟数 会被原样复用;一旦过期,该玩家的下一次请求就会从Steam获取新的URL并将其替换。超过这段时间无人请求的条目 头像缓存分钟数 会在下次刷新时被移除,这样只上线过一次的玩家就不会永远留在内存中。

没有实时命令可以提前清除它——重启服务器是唯一的办法,因为缓存本来也无法在重启后保留。要让它在所有地方更快刷新,请降低 头像缓存分钟数.

示例回复

获取 /serverinfo
{ "name": "我的英灵神殿服务器", "playersCount": 1, "players": [ { "Name": "Ari", "SteamID": "76561198000000000", "AvatarUrl": "https://avatars.steamstatic.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_full.jpg" } ], "mods": [ { "name": "条件配置同步", "guid": "_shudnal.ConditionalConfigSync", "version": "1.0.4", "description": "英灵神殿模组的共享配置同步与服务器策略库。", "websiteUrl": "https://github.com/shudnal/ConditionalConfigSync", "dependencies": ["denikson-BepInExPack_Valheim-5.4.2333"], "namespace": "shudnal", "packageName": "ConditionalConfigSync" }, { "name": "BepInExPack_Valheim", "guid": "denikson.BepInExPack_Valheim", "version": "5.4.2333", "description": "英灵神殿的BepInEx整合包。", "websiteUrl": "https://github.com/BepInEx/BepInEx", "dependencies": [], "namespace": "denikson", "packageName": "BepInExPack_Valheim" } ] }

名称/指南/版本 来自BepInEx本身的mod,所以它们始终存在。在哪里 描述/网站网址/依赖 来自何处由以下控制 元数据来源:

  • 显现 — 模组自身的 清单.json (Thunderstore/Hexium 包): 描述, 网站网址, 依赖.
  • 装配 — 模组自身编译的元数据: 程序集说明 对于 描述,一个嵌入式的 仓库地址 (某些构建配置会自动添加此项)用于 网站地址,以及其用于以下内容的 BepInEx 依赖项 GUID: 依赖.

对于每个字段,系统会按配置的顺序尝试各个来源,第一个非空值胜出——因此默认 清单,装配 优先使用清单文件,仅对没有清单文件的模组回退到程序集。将其设置为 清单 要完全禁用程序集回退,请 装配 完全忽略显化,或 装配,清单 当两者都存在时,优先使用程序集元数据。字段是 null 如果所有已配置的源都没有它的值。

命名空间/包名 不受影响 元数据源 ——它们是Thunderstore/Hexium的包标识,因此只会来自manifest.json,或者 null 没有的话。

命名空间 + 包名 构建一个Thunderstore或Hexium模组页面URL(两者格式相同):

  • https://thunderstore.io/c/valheim/p/{namespace}/{packageName}/
  • https://valheim.hexium.gg/mods/{namespace}/{packageName}

制作人员

基于Maddy的PublicWebLink。

许可证

GNU通用公共许可证第3版或更高版本版权所有 (C) 2026 Odin_Sons。如果您分叉或重新分发修改后的版本,GPL-3.0 要求您保留本项目的版权/许可声明完整,并将整个作品同样以 GPL-3.0 许可(参见 许可证,第5节)——实际上这意味着需要注明出处并链接回 https://github.com/odin-sons/serverinfo,因为告示指向的就是那里。

贡献

查看 贡献指南.md 用于从源码构建。

Valheim: 英灵神殿 的热门 MOD

探索适用于 Valheim: 英灵神殿 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 Valheim: 英灵神殿 的全部潜力 — 今天就探索这些顶级 MOD!