共享发现

创作者: lorenzobaroni
已更新:2026-09-16 12:35:35
26KB

关于此 MOD

在同一个瓦尔海姆世界中,玩家之间共享物品和材料发现,支持多人同步和每个世界的持久化。

共享发现

共享探索是一个英灵神殿多人游戏模组,可按世界共享物品/材料发现。

当一名玩家发现物品或材料时,该发现会被发送到服务器,作为世界进度存储,并同步给其他玩家。每个客户端都会通过《英灵神殿》原生的方式应用该发现。 玩家.添加已知物品 流程,所以Valheim本身决定哪些配方可用,并显示原版发现通知。

功能

  • 共享物品发现
  • 服务器权威进度
  • 玩家加入/生成时通过快照同步离线玩家
  • 按世界持久化,使用 获取世界UID()
  • 香草配方逻辑
  • 原版发现通知
  • 多人游戏主机及面向专用服务器的架构
  • r2modman 与 Thunderstore 包结构

重要

共享探索不会强制解锁配方、制作站、Boss进度、花费或配方可见性。它共享稳定的物品预制体ID,并让英灵神殿正常处理配方解锁。

该模组不会在加入新世界时导入旧角色的所有已知物品。只有在共享发现功能激活期间的新发现,以及该世界已由共享发现保存的发现,才会成为共享世界进度。

需求

服务器和每个客户端都应安装相同版本的 SharedDiscovery。

本地构建引用所需:

  • 英灵神殿托管程序集
  • BepInEx
  • 来自BepInEx的Harmony

共享发现使用英灵神殿原生的 路由RPC 应用程序接口。

插件目标框架为 net462,与常见的 Valheim/BepInEx 模组目标相匹配。核心库还面向 net8.0 用于本地测试。

安装

用于 r2modman 开发:

  1. 复制 环境.道具.示例 至 环境.道具.
  2. 设置 瓦尔海姆安装 到 Steam 英灵神殿安装文件夹。
  3. 设置 BepInEx路径 转到 r2modman 配置文件的 BepInEx 文件夹。
  4. 设置 部署路径 到目标插件文件夹。
  5. 奔跑:
.\build.ps1 -Configuration Release -CopyToProfile

手动安装:

BepInEx/plugins/SharedDiscovery/ SharedDiscovery.dll SharedDiscovery.Core.dll

建造

.\build.ps1

或:

dotnet build .\SharedDiscovery.sln

构建脚本在编译前验证所需的本地程序集。

包裹

.\package.ps1

安装包 ZIP 已写入 dist/SharedDiscovery-0.1.0.zip.

已检查瓦尔海姆API

本次项目所检查的本地英灵神殿安装将主要游戏类型存储于:

Valheim/valheim_Data/Managed/assembly_valheim.dll

找到相关的真实API:

  • 玩家.添加已知物品(物品掉落.物品数据)
  • 玩家.是否已知材料(字符串)
  • 玩家.生成时(布尔)
  • 对象数据库.获取物品预制体(字符串)
  • ObjectDB.GetItemPrefab(ItemDrop.ItemData.SharedData)
  • 获取世界唯一标识符()
  • 获取世界名称
  • 网络.是服务器()
  • 网络。世界存档加载完成时()
  • ZNet.OnNewConnection(ZNetPeer)
  • ZRoutedRpc.Register<T>(string, Action<long,T>)
  • ZRoutedRpc.Register(string, Action<long>)
  • ZRoutedRpc.InvokeRoutedRPC(...)
  • 读取整数/读取字符串/写入(整数)/写入(字符串)

坚毅

服务器端世界状态存储在:

BepInEx/config/SharedDiscovery/worlds/<WORLD_UID>.json

加载器能容忍文件缺失、文件为空、重复条目、无效条目以及解析或读取失败,而不会导致服务器崩溃。

Valheim: 英灵神殿 的热门 MOD

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

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