服务端模拟(真实专用服务器)

创作者: freyeux
已更新:2025-05-14 09:43:52
12KB

关于此 MOD

对于专用服务器:将世界和怪物模拟移至服务器,可能提升客户端性能。
注意:自2026年起,本项目不再维护。


运行世界与怪物模拟于 专用服务器.

已更新至补丁:0.220.5

功能

  • 服务器模拟世界和AI物理。
  • 客户端帧率优化
  • 船只由驱动程序进行模拟,以在高延迟下提升操控体验。


安装

  • 安装 BepInEx(建议在客户端和服务端都安装“Better Networking”)
  • 将插件 DLL 复制到专用服务器的 BepInEx/plugins/ 目录中。
  • 你完成了!无需在客户端进行任何更改。


配置

  • 每帧最大对象数.每帧最大对象数可以提高以改善服务器上区域的加载时间,但会以CPU使用率为代价。


注意事项

  • 仅在专用服务器上运行。
  • 该模组会大幅增加服务器资源占用,在性能较弱的CPU上运行可能导致游戏体验不佳。
  • 使用“optterrain”命令时,应禁用该模组。
  • 这个模组不会防止作弊或任何形式的客户端篡改。
  • 虽然这个模组复杂度不高,但和大多数模组一样,未来的《英灵神殿》更新可能会以意想不到的方式导致模组失效。我们建议您备份角色和世界,并且在游戏发布新补丁时考虑禁用此模组。


为什么?

通常情况下,为了降低服务器资源占用,英灵神殿服务器会将某个区域的模拟运算交给第一个进入该区域的客户端来处理。然而,如果负责该区域的玩家网络连接较差,该区域内的其他所有玩家都会受到影响。本模组旨在改善这一特定情况,代价是原本负责该区域的客户端会承受更高的延迟。

怎么?

这个专用服务器模组会使原本由客户端创建和拥有的地形、怪物及其他对象改为在服务器上创建,从而由服务器拥有和模拟。

面向模组开发者——与服务器端模拟的兼容性

对于有兴趣保持与服务器端模拟兼容性的模组开发者:

  • 如果你的模组对世界的模拟或行为做出了更改,它就需要能在专用服务器上运行,并且应该考虑到以下几点:
    • Player.m_localPlayer 始终 null 在专用服务器上;你的代码应检查这一点。
    • 在专用服务器上, ZNet.instance.GetReferencePosition() 返回世界之外的位置,与任何玩家位置无关。
    • 任何与图形或HUD相关的代码可能都应该放在一个 ZNet.instance.IsDedicated() 检查该代码是否应在服务器上运行。


问题追踪器
https://github.com/ddormer/valheim-serverside/issues

手动编译

要手动编译,请在以下位置创建一个文件: src/Environment.props 包含以下内容,并将路径改为指向你的 Valheim 安装目录。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<属性组>
<!-- 需要是你的 Valheim 基础文件夹路径 -->
<VALHEIM_DEDI_INSTALL>E:\SteamLibrary\steamapps\common\Valheim dedicated server</VALHEIM_DEDI_INSTALL>
</PropertyGroup>
</项目>

Valheim: 英灵神殿 的热门 MOD

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

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