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

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

专用服务器:将世界和怪物的模拟任务移至服务器端,可能提升客户端性能。

杂项

注意:截至2026年,本项目已不再维护。



在**专用服务器**上运行世界和怪物模拟。

已更新至补丁版本:0.220.5

**特性**

* 服务器模拟世界和AI物理。 * 客户端FPS性能提升 * 船只由驾驶者模拟,以改善高延迟下的操控体验。

**安装方法**

1. 安装BepInEx(建议同时在客户端和服务器上安装“Better Networking”)。 2. 将插件DLL复制到专用服务器的 BepInEx/plugins/ 目录下。 3. 完成!无需修改客户端。

**配置**

* 可增加 MaxObjectsPerFrame.MaxObjects 的值,以加快服务器上区域的加载速度,但这会增加CPU使用率。

**注意事项**

* 仅在专用服务器上运行。 * 该模组会显著增加服务器资源占用,在性能较弱的CPU上运行可能导致游戏体验不佳。 * 使用“optterrain”命令时应禁用此模组。 * 此模组无法防止作弊或任何形式的客户端篡改。 * 虽然本模组复杂度较低,但与其他大多数模组一样,未来的Valheim补丁可能会以意想不到的方式使其失效。我们建议您备份角色和世界,并在每次游戏发布新补丁时考虑禁用此模组。

**为什么需要这个模组?**

通常情况下,为了降低服务器资源占用,Valheim服务器会将某个区域的模拟任务移交给第一个进入该区域的客户端。然而,如果负责该区域的玩家连接质量不佳,该区域内的所有其他玩家都会受到影响。本模组试图以增加原本应负责该区域的客户端的延迟为代价,来改善这一特定情况。

**工作原理**

这个专用服务器模组使得地形、怪物以及其他通常由客户端创建和拥有的对象,改为在服务器上创建,并由此由服务器拥有和模拟。

**面向模组开发者 - 与Serverside Simulations的兼容性**

对于希望保持与Serverside Simulations兼容的模组开发者:

* 如果你的模组修改了与模拟/世界行为相关的内容,那么它必须能够在专用服务器上运行,并考虑以下几点: * Player.m_localPlayer 在专用服务器上始终为**null**;你的代码应检查此情况。 * 在专用服务器上,ZNet.instance.GetReferencePosition() 返回的是世界范围之外的一个位置,与任何玩家位置无关。 * 任何与图形或HUD相关的代码,如果预期在服务器上运行,可能应放在 ZNet.instance.IsDedicated() 检查之后。

**问题追踪器**
[url=https://github.com/ddormer/valheim-serverside/issues]https://github.com/ddormer/valheim-serverside/issues
[/url]
**手动编译**

要手动编译,请在 src/Environment.props 中创建一个包含以下内容的文件,并将路径更改为你的Valheim安装目录。
[code]



E:\SteamLibrary\steamapps\common\Valheim dedicated server


[/code]