海姆达尔号角

创作者: RAGEmedia
已更新:2026-09-12 09:04:11
142KB

前置 MOD

使用 海姆达尔号角 时将自动安装

关于此 MOD

服务器端维京人死亡公告、Boss击败记录以及加入/离开通知。支持原版客户端;在客户端安装后可将信息流升级为显示确切击杀者和死因。

格拉尔号角

一个服务端的维京击杀信息与玩家名单系统。玩家阵亡信息会显示在左上角的消息栏和聊天窗口中;Boss被击败时会在屏幕中央显示横幅提示;玩家加入和离开也以同样的风格进行公告。

以海姆达尔之角命名——那号角一吹响,九界皆闻。

谁需要安装这个

服务器需要它。每个客户端都是可选的,且该模组不强制版本。

  • 在服务器上 它完成所有工作——检测、措辞和广播。它通过以下方式触达玩家 显示消息 和 聊天消息,这是原版《英灵神殿》已经注册的两个 RPC,所以即使服务器上全是未装模组的玩家,也依然能看到完整的消息推送。
  • 在客户端上 这是纯增益的。安装后,该玩家的死亡会报告真实死因和真正的凶手。未安装时,其死亡仍会通告,但凶手是邻近猜测,非战斗死因则显示为通用描述。

混合人口是正常的,也是意料之中的。连接时不会拒绝任何人。

客户为何更改饲料质量

关于死亡的每一个细节——是谁挥出的攻击、造成了何种伤害、是否由其他玩家所为——都存于 最后命中,背景设定在 角色伤害运行在拥有濒死角色的ZDO的任意端上,也就是受害者自己的机器。专用服务器永远不会实例化一个 玩家 远程客户端的组件,永远无法读取它。

所以服务器会回退到它 可以 看:这个 死亡 在每个已连接玩家的复制角色ZDO上,以及站在尸体附近的任何敌对生物上打上标记。这样能正确处理普通情况——你被正在攻击你的东西杀死,而它还在那里——但对于远程击杀、逃跑生物造成的死亡,以及所有非战斗原因造成的死亡,都会判断错误。

原版客户端 海尔姆客户
死亡宣告 是 是
受害者,位置,生物群系 精确 精确
杀手生物 最近的敌人,20米内,猜测 精确
星级 来自被猜中的生物 精确
PvP击杀 从未识别 准确,且凶手已被点名
坠落、溺水、火焰、冰冻、中毒、树木倒下 按通用格式读取 各有各的信息
推车、船只、建筑、炮塔、世界边缘 读取为通用 归类为环境

无论哪种方式,击败首领的判定都是精确的。服务器会全程记录。 区域系统.RPC_设置全局键,仅服务端注册。

加入和离开

香草只报到达,从不报离开,这种不对称并非疏忽。到达栏其实就是聊天。 大喊加入的客户端会自行发送,来自 Game.SpawnPlayer 第一次生成时。正在离开的客户端无法喊话,因此没有东西可以与之镜像。两半都必须在服务端进行观察。

出发班次查询地点: 断开连接,唯一的漏斗会统一处理干净退出、连接断开和被踢出这三种情况。玩家进入的消息来自服务器 tick 中对等节点列表的差异比较,并且只有在玩家确实在世界中拥有角色时才会触发,因此在角色选择界面就退出的玩家永远不会被公告。同样的差异比较也支撑着离开钩子:如果某次游戏更新改变了 断开连接,叶子会晚一个刻宣布停止,而不是悄无声息地停下。

叶子有三种措辞,因为撞车不该读作愉快的告别:

他们如何离开 卡池
退出到菜单或桌面 离开留言
崩溃,Alt-F4,网络中断 离开超时提示
被踢出、被封禁、不在允许名单中 离开时被踢出的消息

重新加入静默期 防止频繁的连接波动刷屏:在时间窗口内重新加入的玩家不会发布公告,随后的离开也会被一并抑制——除非该会话已经超出了时间窗口,在这种情况下它算作一次真实访问,其结束仍会被报告。身份标识基于对等方的平台ID,因此它能在重连后保持不变,也不会在两个玩家取相同名字时发生冲突。

树叶默认会公告。到货不会:原版已经涵盖了它们,所以 加入公告 一开始是这样,开启它只是增加第二行,而不会替换原版的内容。无论哪种方式,停止服务器时都是静默的——不会出现无人在线时却刷出一堆离开提示的情况。

已知限制

  • 重复击杀首领只对安装了该模组的客户端进行公告。 每个世界中只添加一次Boss死亡时设置的全局键值;第二个骨量不会改变服务器可观测到的任何内容。运行Gjallarhorn的客户端会报告每次击杀,包括重复击杀。
  • 凶手的猜测只是猜测。 日志中已如此标记(猜猜看 对战 [exact]这样你一眼就能看出是哪条路径生成了某行内容。
  • 聊天内容也会以浮动文字显示 在死亡地点为附近站立的玩家显示,或在打开地图时显示。那是原版 添加世界内文本 行为无法从服务器端禁止。关闭 使用聊天 如果这让你不舒服的话。
  • 新来的默认保持原版。 《英灵神殿》自带的“我已抵达!”是加入的客户端发出的喊话,因此服务器无法屏蔽并非由它发起的消息。 公告加入 因此 假 开箱即用——启动后会加上Gjallarhorn的措辞 在……之上 原版内容而非替换它。叶子没有原版对应物,默认开启。
  • 监听服务器的主机不会宣告自己的加入或离开。 主机并非网络对等端,因此没有什么可观测的——而且当主机离开时,服务器也会随之关闭。专用服务器不受此影响。
  • 模组生物显示为其预制体名称。 显示名称表仅涵盖原版内容;其他内容则回退为清理后的预制件名称。
  • 仅限英语。 生物和生物群系名称来自内置表格,而非瓦尔海姆的 本地化,其单例由客户端启动路径设置,在无头服务器上并不可靠。

配置

BepInEx/config/com.ragemedia.gjallarhorn.cfg,首次运行时生成。除此之外的一切 详细日志 和 Discord截图 仅限管理员使用且从服务器同步,因此客户端无法为自己提供不同的信息源。

章节 设置 默认 它的作用
频道 宣告死亡 真 宣布玩家死亡。
频道 公告首领击败 真 宣布击败首领。
频道 宣布加入 否 以海姆达尔之音播报抵达信息。默认关闭:原版已有播报。详见已知限制。
频道 离开公告 真 宣布出发。原版没有对应功能。
频道 使用左上角信息流 真 公告会显示在左上角的消息栏中。
频道 使用聊天行 真 公告也会以聊天信息的形式发布。
频道 首领使用中央横幅 真 Boss击败使用中央横幅。玩家死亡从不使用。
频道 聊天发送者名称 基达尔霍恩 聊天行中的说话者名称。
内容 包含生物群系 真 解析 {biome}.
内容 星级 真实 渲染 二星灰矮人.
内容 输出到控制台 真实 将公告写入服务器日志。
内容 包含会话时长 真 将玩家在线时长附加到离开提示语中。
内容 时长 进入领域 {duration} 后 将追加的内容。清空它并使用 {duration} 在池中自行放置。
侦测 轮询间隔 1.0 死亡标记检查间隔秒数。仅限原版客户端。
检测 精确报告宽限 1.5 在猜测之前,等待客户端准确报告的时间。
检测 击杀搜索半径 20 猜测凶手时搜索的半径。
探测 虫群半径 / 虫群阈值 6 / 4 当死亡提示显示为“被一群敌人压制”。
侦测 重新加入静默期 60 离开后未宣布重新加入的秒数。 0 每次重新连接时都会公告。
消息 18个台球 — 分号分隔;随机选取一个。死亡与首领令牌 {victim} {killer} {boss} {biome}; 显示令牌 {player} {duration} 在线 {biome}。仍使用旧版本默认文本的池会在启动时迁移到新的默认值;已编辑过的池保持不变。
集成 Discord 截图 真 客户端。重写Discord截图的死亡字幕,见兼容性。

兼容性

Discord 截图 (传送美味)。当两个模组都安装在客户端上时,该玩家的死亡截图会附带一句Gjallarhorn台词发布,例如“阿斯特丽德 被黑森林的2星巨魔击倒”,而不是通用说明文字。该文本独立于游戏内文本单独生成,因此措辞可以不同,但击杀者、星级和生物群系保持一致。没有Gjallarhorn的玩家保留Discord Screenshots自带的说明文字。F12截图永远不会被改动。如果Discord Screenshots的更新改动了此钩子所挂接的方法,日志会予以说明,并恢复其默认说明文字。

不要与任何击杀信息、死亡公告或加入/离开公告模组同时运行。BepInEx不会阻止同时加载两者,每个事件都会被重复播报两次。

可以安全添加或移除

世界存档不会写入任何内容。公告仅存在于内存中。

Valheim: 英灵神殿 的热门 MOD

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

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