17173 > 游戏资讯 > 官方公告 > 正文

《空间站工程师》多人游戏更新

2026-01-28 18:26:45 神评论
17173 新闻导语

《空间站工程师》多人游戏更新:优化网络序列化30%,修复同步问题,提升大型基地性能。Unity引擎升级带来10%帧率提升,新增火箭内容与液体设备!

本次更新涉及一些高度技术性的工作,旨在从根本上改进多人游戏的运行方式,重点关注主机发送和客户端接收多人游戏更新的机制。这些变更不仅针对多人游戏错误,还对性能产生了深远影响。这些变化在大型基地中尤其明显。


如果您对我们的开发工作感到满意,请考虑通过购买DLC来支持我们。您的支持让我们的更新成为可能





多人游戏序列化
我们已将网络消息的读写操作速度优化了30%。
对运行我们大型Vulcan测试基地的专用服务器进行分析后,我们在内存分配方面发现了几处重大的性能提升点。

我们重写了服务器端代码,该代码负责组装上一刻的世界变化,以消除一些不必要的对象创建和数组双重处理。我们还能够将相同的方法应用于客户端代码,该代码负责解包网络消息。

总体而言,这使得连接到拥有大型基地的服务器的感觉更加流畅,本地主机的玩家也将体验到更稳定的帧时间。

RakNet
此变更修复了一个长期存在的严重同步问题,许多用户都遇到过这个问题。具体表现为,特别是对于与服务器 ping 值较高的用户,他们可能会陷入严重不同步的状态。
我们现有的网络运行在一个RakNet包上,该包仅暴露了使其工作所必需的内容。它在C++后台处理了许多连接方面的事情,并仅为我们提供了一个简单的API。这意味着我们无法访问完整的API,包括许多调试工具。我们负责Brutal框架的企业团队为我们构建了一个新的RakNet包,该包通过C#直接向我们公开整个RakNet API。

本次更新中实现的是1对1的替换,没有功能变更。然而,由于这是一个较新的RakNet版本,它可能已经带来了一些好处,并且它将允许我们实现一套全新的调试工具,这些工具随游戏一起发布,以便更深入地了解玩家遇到多人游戏问题时发生的情况。这项工作将在未来的补丁中完成。

Unity引擎升级
RakNet的变更要求我们将Unity更新几个小版本。初步结果显示,对游戏没有负面影响,并且帧率大约提高了10%。话虽如此,任何引擎升级都伴随着高风险,以及可能隐藏到日后才出现的严重问题的潜在风险。对实时产品更新Unity版本是一个我们不会轻易做出的决定,但我们认为有必要让《空间站工程师》作为一款多人游戏发挥最大潜力。

着陆坪便携式连接器
我们一直存在一个关于着陆坪便携式连接器的问题。这个问题是,在重新加载或加入游戏后,您会难以与之交互以卸下它们。我们经过几次尝试才隔离并修复了这个问题,但现在终于解决了!

即将到来的变更
在补丁说明中,您会看到提到一些即将推出的火箭内容和一个用于液体的新大气设备。不过,它目前还需要在测试版中进行更多测试,因此预计它将在不久的将来进入稳定版。

我们在规划时很谨慎,以免过于自信——因此,除非我们确信能够以我们资源所能及的、可接受的质量交付它们,否则我们不愿敲定具体的路线图功能。说了这个前提,我们可以确认一些我们正在为未来更新研究的内容:
  • 核反应堆
  • 地形改造DLC(1.0版本之后,之前不会)
  • 空间站 + 世界基地在同一关卡中(进行中)
  • 前往新世界(使用火箭迁移到新世界)
  • 载具改进(创意模式中已存在一些实验)
  • 深层矿机变更、改进和内容
快速修复
  • 修复了ins IC10指令解析其参数不正确的问题。现在它将按照Stationpedia所述正确解析参数 a=值 b=位置 c=长度。
  • 修复了电弧炉在0摄氏度释放气体的问题。现在它将在熔炼时释放热气体。
  • 修复了StrongestContactMetaData堆栈操作。
  • 修复了交换物品会导致衰变伤害被治愈的问题。
  • 修复了AdvancedTablet抛出的索引越界异常,该异常可能导致存档无法加载。
  • 修复了在真空世界中,中型和大型交易员槽位有时会被小型交易员填充的问题。
  • 修复了门控制、电源控制和模式控制电路板无法与已更新到新动画系统的设备一起工作的问题。


您的支持让这些更新成为可能



更新日志 0.2.6136.26812
  • 修复了解构压力输送液体引擎会返回错误套件的问题。
  • 更改了植物分析仪的视口遮罩为矩形遮罩,试图修复某些玩家内容超出屏幕边界的问题。
  • 将网络分析仪面板移至其自己的预制件,并将滚动矩形遮罩类型更改为rect2d,试图修复某些玩家文本出现在滚动矩形外部的问题。
  • 添加了服务器托管的后备行为,该行为存在于旧版本的rocketnet中。
  • 添加了轨道发射架有效载荷对象的非常粗糙的初版,该对象将放入火箭有效载荷舱。这可用于在低轨道部署发射架。目前设置为不可生成。
  • 先前提交中缺失的文件
  • 更改了Get IPv4Address以使用raknet函数获取主机IP地址。
  • 更改了在尝试自动获取IPv4地址时过滤掉环回地址。
  • 添加了获取IP地址时的进一步日志记录。
  • 添加了如果服务器托管失败,它将重新尝试最多3次。
  • 添加了一些当托管服务器失败或中止时的额外日志。
  • 修复了如果raknet无法启动托管,服务器将被正确中止的问题。
  • 添加了火箭乘员舱的新模型。从乘员舱移除了玩家插槽和屏幕,并为这些添加了两个独立的对象——将在模块内部建造。建造限制尚未到位,模型是占位符。
  • 将RocketPayload.cs重构为抽象类,并添加了DeliveryPayload类以处理PayloadDeliveryContainer独有的功能。
  • 修复了IC10代码未在Harm Suit上运行的问题。
  • 修复了小型冰箱的 clipping 问题,即当门关闭时,薯条会穿过门。现在,当任一冰箱变体关闭时,冰箱槽位中物品的渲染也会被禁用。
  • 修复了气闸控制文本拼写错误的问题。过去是:“Presurize”。已更改为拼写:“Pressurize”
  • 更改了更新分拣机和逻辑分拣机为新模型。
  • 修复了表情动作的问题,即“无”表情会导致多人游戏中的其他玩家将您的表情视为“死亡”,并移除了角色定制中更改表情的下拉菜单。
  • 修复了将液体罐放入便携式堆肥器时的方向和位置问题。
  • 修复了在空间站工程师难度下,Zrillians重生时没有应急服的问题。
  • 修复了灭火器液体罐槽位名称的本地化问题。
  • 从火箭母板游戏内UI画布中移除了不正确的硬编码错误字符串。
  • 修复了着陆坪液体罐连接器上错误旋转的风扇网格。
  • 修复了在具有多种风暴类型的世界中着陆器工具提示闪烁的问题。
  • 修复了交换物品会导致物品上的所有伤害(包括衰变)被治愈的问题。
  • 修复了在Commit26773中意外从WorldManager所有预制件列表中移除的一些预制件。
  • 修复了在多人游戏中设置表情时,当持续时间超过后不会恢复为默认表情的问题。
  • 修复了穿过地形的RocketPayloads将立即被传送回地表。+ 添加了数量条件现在可用于在创作助手提示时评估构成结构网络的物品数量。
  • 在ThingPrefabCondition和NetworkCondition中添加了PlantAnalyserCartridge的情况。
  • 向游戏中添加了新的除颤器工具。目前具有与HealPill类似的行为。
  • 更改了English.xml修复
  • 修复了SimpleFabricatorBase在 submerged 且未连接电源线时可能抛出错误的问题。
  • 更新了教程4气闸演练,关于控制台不再需要数据磁盘的部分。
  • 修复了将单个管道或管道公用设施升级为绝缘变体会删除管道/罐内容物的问题。
  • 修复了如果从全球大气层渲染液体,世界液体渲染器可能抛出索引越界异常的问题。
  • 更新了墙壁和管道加热器的Stationpedia描述,添加了压力和温度的操作范围值。
  • 修复了ins Ic10指令解析其参数不正确的问题。现在它将按照工具提示所述正确解析参数 a=值 b=位置 c=长度。
  • 修复了电弧炉在0摄氏度释放气体的问题,这是由于AddEnergy方法未运行,该回归发生在2024年9月将AtmosphericEventInstance从类重构为readOnly结构之后。
  • 将StrongestContactMetaData堆栈操作更改回返回操作码加3个字节。现在它被创作成 (字节)操作码:(字节)穿梭类型:(字节)联系槽索引:(字节)已联系。返回slotIdHash不起作用,因为总字节数超过了双精度数中可用的数量
  • 更新了libRakNetDLL.so
  • 修复了门控制、电源控制和模式控制电路板无法与已更新到新动画系统的设备一起工作的问题。
  • 修复了由于错误创作的碰撞体,当用手钻看着灯泡时无法解构墙壁长宽灯的问题。
  • 更改了增加了All_Light_Activated密集池的大小。
  • 修复了便携式液体罐Stationpedia描述中的不准确之处。
  • 修复了在真空世界中,中型和大型交易员槽位有时会被小型交易员填充的问题。遇到此问题的存档将在当前交易员过期并生成新交易员时发现此问题已解决。
  • 修复了AdvancedTablet抛出的索引越界异常,该异常可能导致存档无法加载。遇到此错误的存档现在将能够正确加载。
  • 更改了重新启用了液体过滤,该设备现在可在测试版上进行测试。
  • 重新启用了火箭有效载荷舱和有效载荷交付容器,这些物品现在可在测试版上进行测试。
  • 更改了StrongestContactMetaData堆栈指令以使用新的交易员槽定义。它现在返回以下打包值:操作码(字节):slotIdHash(Int32):穿梭类型(字节):已联系(字节)
  • 添加了ContactSlotIdHash逻辑值到MediumSatelliteDish,以便也可以通过标准逻辑命令读取此值。
  • 修复了在滑槽网络中移动的物品有时会错误地应用“穿过世界掉落”行为,导致物品被传送到最近的安全掉落位置(通常在屋顶上)的问题。
  • 从配方列表中移除了液体过滤,并使其不可生成。
  • 更改了暂时使有效载荷舱对象不可生成,因为它们需要在测试版上进行进一步测试。它们将在明年年初的补丁中移至稳定版。
  • 修复了液体过滤机未使用电源的问题。
  • 引擎升级中缺失的png元文件。
  • 添加了大型有效载荷舱。有效载荷舱放置在火箭中,允许连接和部署有效载荷物品。使用位置面板中的新部署操作,该操作在低轨道空间地图节点可用。有效载荷舱必须打开并开启,部署操作才能进行。
  • 添加了有效载荷交付容器。这允许通过火箭战略性地交付最多10个物品。焊接容器并用扳手将其连接到火箭的大型有效载荷舱。目标X和Z坐标应在有效载荷舱上设置,一旦部署,容器将被投放到该确切位置。部署的容器可使用追踪器墨盒进行追踪。
  • 修复了物理碰撞错误或地形碰撞器LOD未及时生成可能导致物品穿过地形并被销毁的问题。
  • 更改了物品的越界检查,以在检查返回地表时也检查对象是否完全位于地形内。
  • 修复了运行编辑器验证未在重新分配之前清除InteractableParentIndex,这可能在创作新资产时导致错误的可交互对象。
  • 修复了槽位中的动态对象会阻挡建造的问题。
  • 更改了ItemKitLiquidFiltration的名称,以与其他套件的命名约定更加一致。曾是“Kit Liquid Filtration”,更改为 Kit (Liquid Filtration)。
  • 添加了新的LiquidFiltrationMachine。其功能与原始过滤机类似,但它能够处理液体和气体。
  • 修复了放置在大气设备中的集成电路在盖板关闭时未设置为不可见的问题。
  • 向AtmosphereHelper添加了TakeNormalisedLiquidVolumeScaled函数。
  • 将Unity版本从2022.3.7更新到2022.3.62 - 更新Unity版本总是伴随着高风险,并且存在许多未知数。
  • 添加了新的raknet并替换了所有基础级别的网络代码,这需要小幅更新Unity版本才能实现。从代码角度来看,功能上应该没有变化,raknet的变化可能对多人游戏产生一些积极影响。这一变更将使我们能够更轻松地监控和调试网络问题,并为我们进行改进打开了许多大门。不过,本次提交只是从旧版本到新版本的1对1替换。
  • 移除了RocketNet插件
  • 修复了动态罐有时在作为客户端加入游戏时无法从连接器上移除的问题。
  • 更改了DynamicThing.SerializeOnJoin中的一些数据类型,因为它们不必要地大。
  • 修复了客户端在加入时未获得正确的缓存WorldCenterOfMass和Position值的问题。
  • 添加了多人游戏序列化重构的第二轮尝试。上一测试版视频中的双重处理被破坏,导致大量问题。缓冲区流程已简化,并将被缓存。缓冲区现在将被重用以减少内存流失。这应该能减轻服务器压力,并修复玩家正在经历的某些同步问题。未来的变更将用新版本替换后端RakNet实现。
【来源:steam】
我想了解这个游戏:
官网 专区 下载 礼包
关于空间站工程师的新闻
亲爱的 17173 玩家们~我们正在打磨平台的找游戏功能,想听听你平时是怎么筛选、导航找游戏的?你的真实习惯和偏好,能让后续找游戏更顺手哦!立即点击填写问卷 参与问卷