/Lag
No edit summary |
(Updating to match new version of source page) |
||
| (26 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
使用 TC 插件时可能在某些功能上会造成服务器或客户端的卡顿。该页面会展示卡顿的原因细节,以及如何去缓解卡顿。 | 使用 TC 插件时可能在某些功能上会造成服务器或客户端的卡顿。该页面会展示卡顿的原因细节,以及如何去缓解卡顿。 | ||
| Line 8: | Line 6: | ||
Minecraft 不太擅长渲染复杂的体素模型。如果你的服务器上装载有复杂模型的自定义资源包,这可能会导致客户端的帧数下降。请在上传自定义资源包到服务器之前尽可能优化和查看模型。JSON 文件的大小是最强有力的指标。 | Minecraft 不太擅长渲染复杂的体素模型。如果你的服务器上装载有复杂模型的自定义资源包,这可能会导致客户端的帧数下降。请在上传自定义资源包到服务器之前尽可能优化和查看模型。JSON 文件的大小是最强有力的指标。 | ||
== | == 巨大的矿车 == | ||
在[[Special:MyLanguage/TrainCarts/Attachments|组件编辑器]]中配置矿车的 [[Special:MyLanguage/TrainCarts/Attachments/Physical|物理]] | 在[[Special:MyLanguage/TrainCarts/Attachments|组件编辑器]]中配置矿车的[[Special:MyLanguage/TrainCarts/Attachments/Physical|物理]]属性时,矿车的大小可以设置的非常大。这会改变实体本身的边界框,并导致服务器的 TPS 下降。主要原因是服务器对于碰撞箱的计算量过大。为防止这些卡顿,可禁用列车的方块碰撞。 | ||
{{Command|train collision block cancel|Turns off block collisions, trains will fall through the ground|train.property.collision}} | {{Command|train collision block cancel|Turns off block collisions, trains will fall through the ground|train.property.collision}} | ||
< | 你还可以配置玩家放置的所有矿车或现有保存的列车。请在<code>DefaulTrainProperties.yml</code>或<code>SavedTrainProperties.yml</code>中编辑列车配置: | ||
<pre> | |||
trainname: | |||
collision: | |||
block: CANCEL | |||
</pre> | |||
== 超长的等待距离 == | |||
配置列车的[[Special:MyLanguage/TrainCarts/Signs/Property#Wait_Property|等待距离属性]],以便列车与前车保持距离。这个属性会使列车始终检测前方的轨道。因此如果等待距离设置得太高,可能会导致服务器的TPS下降。 | |||
== 保持区块加载 == | |||
列车可以设置为[[TrainCarts/Signs/Property#Keep_Chunks_Loaded|保持区块加载]], 但加载过多的区块也可能会降低服务器的性能。区块过多加载会消耗 RAM, 这可能会导致内存不足。一些区块可能还包含了实体或红石装置,都会导致服务器的 TPS 下降。当启用这个属性的列车移动时,它们会不断加载和卸载区块,这也可能导致问题。 | |||
通常单辆列车启用区块加载属性并不会发生什么,这和玩家移动时会加载和卸载区块相同。但如果服务器上有数百辆这样的列车就可能会造成问题。 | |||
你可以降低列车保持加载的半径,或配置它不模拟保持加载的区块来提高性能。当列车要长距离行驶时,应该这样做。 | |||
== 限制列车数量 == | |||
= | |||
你可以编辑<code>plugins/Train_Carts/config.yml</code>来限制每个世界的 TC 矿车实体数量,这可以防止失控的生成牌或玩家滥用导致服务器崩溃。 | |||
<pre> | <pre> | ||
# | # 限制服务器的矿车数量。 | ||
cartLimits: | cartLimits: | ||
# | # TC 矿车在世界上能存在的最大数量。 | ||
# | # 如果数量达标,则不能再放置/生成矿车。 | ||
# | # 值设置为 -1 可以禁用限制(默认值)。 | ||
maxCartsPerWorld: -1 | maxCartsPerWorld: -1 | ||
# 是否将已卸载的列车/矿车算在世界限制的列车数量中。 | |||
# | |||
countUnloaded: false | countUnloaded: false | ||
# 列车的最大车厢数量。 | |||
# | # 当列车车厢数量达标时,其他矿车将不会再与这辆列车进行链接, | ||
# | # 并且也不能生成超过车厢数量限制的列车。 | ||
# | # 设置为 -1 可以禁用限制,允许任何长度的列车(默认值)。 | ||
# | |||
maxCartsPerTrain: -1 | maxCartsPerTrain: -1 | ||
</pre> | </pre> | ||
== 保存列车生成限制 == | |||
= | |||
除了全局限制外,还可以为每个保存的列车设置生成限制。使用<code>/train save name</code>保存列车后,你可以使用<code>/savedtrain name spawnlimit <limit></code>设置生成限制。 | |||
当列车数量达标时,配置了列车名称的生成牌和列车生成箱将不能再生成列车。对于交通网络中的[[Special:MyLanguage/TrainCarts/Signs/Spawner|自动生成牌]]特别有用,结合将 '''config.yml''' 中的<code>destroyAllOnShutdown</code>设置为 true 使用更佳。 | |||
</ | |||
Latest revision as of 09:49, 12 October 2025
使用 TC 插件时可能在某些功能上会造成服务器或客户端的卡顿。该页面会展示卡顿的原因细节,以及如何去缓解卡顿。
复杂的 3D 模型
Minecraft 不太擅长渲染复杂的体素模型。如果你的服务器上装载有复杂模型的自定义资源包,这可能会导致客户端的帧数下降。请在上传自定义资源包到服务器之前尽可能优化和查看模型。JSON 文件的大小是最强有力的指标。
巨大的矿车
在组件编辑器中配置矿车的物理属性时,矿车的大小可以设置的非常大。这会改变实体本身的边界框,并导致服务器的 TPS 下降。主要原因是服务器对于碰撞箱的计算量过大。为防止这些卡顿,可禁用列车的方块碰撞。
| Command: | /train collision block cancel |
|---|---|
| Permission: | train.property.collision |
你还可以配置玩家放置的所有矿车或现有保存的列车。请在DefaulTrainProperties.yml或SavedTrainProperties.yml中编辑列车配置:
trainname:
collision:
block: CANCEL
超长的等待距离
配置列车的等待距离属性,以便列车与前车保持距离。这个属性会使列车始终检测前方的轨道。因此如果等待距离设置得太高,可能会导致服务器的TPS下降。
保持区块加载
列车可以设置为保持区块加载, 但加载过多的区块也可能会降低服务器的性能。区块过多加载会消耗 RAM, 这可能会导致内存不足。一些区块可能还包含了实体或红石装置,都会导致服务器的 TPS 下降。当启用这个属性的列车移动时,它们会不断加载和卸载区块,这也可能导致问题。
通常单辆列车启用区块加载属性并不会发生什么,这和玩家移动时会加载和卸载区块相同。但如果服务器上有数百辆这样的列车就可能会造成问题。
你可以降低列车保持加载的半径,或配置它不模拟保持加载的区块来提高性能。当列车要长距离行驶时,应该这样做。
限制列车数量
你可以编辑plugins/Train_Carts/config.yml来限制每个世界的 TC 矿车实体数量,这可以防止失控的生成牌或玩家滥用导致服务器崩溃。
# 限制服务器的矿车数量。 cartLimits: # TC 矿车在世界上能存在的最大数量。 # 如果数量达标,则不能再放置/生成矿车。 # 值设置为 -1 可以禁用限制(默认值)。 maxCartsPerWorld: -1 # 是否将已卸载的列车/矿车算在世界限制的列车数量中。 countUnloaded: false # 列车的最大车厢数量。 # 当列车车厢数量达标时,其他矿车将不会再与这辆列车进行链接, # 并且也不能生成超过车厢数量限制的列车。 # 设置为 -1 可以禁用限制,允许任何长度的列车(默认值)。 maxCartsPerTrain: -1
保存列车生成限制
除了全局限制外,还可以为每个保存的列车设置生成限制。使用/train save name保存列车后,你可以使用/savedtrain name spawnlimit <limit>设置生成限制。
当列车数量达标时,配置了列车名称的生成牌和列车生成箱将不能再生成列车。对于交通网络中的自动生成牌特别有用,结合将 config.yml 中的destroyAllOnShutdown设置为 true 使用更佳。