如果您想给主世界更多的时间用以计算,这也可以做到。
众所周知,在Minecraft服务器上,世界每秒将更新20次。 这意味着每次更新时,服务器只有50毫秒的时间更新每个活动的世界, 并更新实体、实体方块和其他内容,例如照明和区块生成。 一旦您的服务器上有很多玩家,并且大部分人没有处于挂机状态,服务器可能会在给定的50毫秒内无法更新所有内容。 这是导致服务器卡顿的元凶之一。 在安装了多个大型mod的服务器,通常具有大量实体方块构成的自动化设备, 以及许多新的怪物和其它实体,更会加剧这个问题。 在服务器中使用动态时刻,您将能够定义每个世界的更新允许使用多少时间, 以及在每个世界内允许实体和实体方块使用多少时间更新。 每当运算所需时间达到限制时,动态时刻将限制更新每个设定的实体和/或实体方块的更新速度。 本质上,每个世界中的实体和实体方块都有单独的TPS。 |
/tickdynamic list [dimnames, time, entitiesrun, tps, maxslices, minimumentities] 列出所有世界和每个世界分别请求的数据、包含的实体&实体方块。 如果此列表长于6行就会被分页。默认情况下,它会显示第一页,但是您可以在最后一个参数写明页码。 The list command will list all the world, and the requested data for them and the Entities & TileEntities in them. If this list is longer than 6 rows, it will be put into multiple pages. By default it will show page one, but you can provide a page number as the last argument. /list dimnames 列出维度名称及其维度ID。 列表中的其他所有内容当前都使用维度ID代替(例如DIM0,DIM-1等),因此,使用“ list dimnames”指令可以获取绑定到这些数字的实际名称的列表。 目前这是临时而为,仅列出当前加载和勾选的维度名称。 仅使用DIM编号开头的原因是,这些名称通常很长,以至于导致表在聊天中会使用很多行,影响正常聊天内容的阅读。 List the names of the dimensions and their dimension id. Everything else in the list currently uses the dimension numbers(Like DIM0, DIM-1 etc.) so using 'list dimnames' you can get a list of the actual name bound to those numbers. This is currently temporary, and will only list the names of dimension currently loaded and ticking. The reason for only using DIM numbers to start with, is that the names often are so long that they cause the table to wrap around to multiple lines in chat. /list time 列出CPU平均使用时间和分配的最大平均CPU时间(以毫秒为单位,下文所有的CPU时间均用时间代指)。 在每刻开始时,本mod将获取平均使用时间和每个方块被分配的最大平均时间,然后重新分配时间。 此命令将向您显示此数据,使您可以查看哪个世界以及哪个世界中的什么东西在使用大量时间。 此列表还显示“世界数据”列,该列是该世界中实体和实体方块使用的总时间。 这里的一个特殊条目是“(other)”。 这表示在实体和实体方块之外还有东西使用了时间,并且当动态时刻负载将计算时间分布时,它将不得不从线程池中删除该时间。 从版本0.1.3开始(内部版本),还有一个“外部”组。 该组将显示2刻之间使用的时间,这会使下一刻的开始被延后。 如果您有其他服务在运行Minecraft服务器的机器上运行,这项就会显示占用很多时间。 如果这花费了大量时间,则可能表明您运行的那些其他服务正在占用大量CPU时间。 List the average used, and average given time in milliseconds. At the start of each tick, Tick Dynamic will take the average time used and slicesMax for each group, and redistribute the time. This command will show you this data, allowing you to see which world, and which group within that world is using the time. This list also shows an 'World Data' column, which is the combined time used for Entities and TileEntities in that world. One special entry here is '(Other)'. This indicates any time used outside Entities and TileEntities, and when Tick Dynamic calculates the time distribution, it will have to remove this time from the pool. Starting from version 0.1.3 there is also an "External" group. This group will show the time used between Ticks, that causes the next tick to start late. You will notice this show a lot of time used if you have other things running on the same machine as the minecraft server. If this uses a significant amount of time, it can indicate that you have something else using up a lot of CPU time. /list entitiesrun 列出平均每刻运行的实体/实体方块的数量。 这使您可以大致了解每个刻度运行的实体或实体方块的数量,并且可以与“/list time”结合使用,以很好地表明可以限制什么东西来减少在不同世界中使用的时间。 List the number of Entities/TileEntities which run on average each tick. This gives you an overview of the number of Entities or TileEntities which run each tick, and can in combination with 'list time' give an good indication of what can be done to reduce time used in the different worlds. /list tps 列出每个世界中当前每秒的实体和实体方块运行的TPS。 这有助于分析特定方块的速度降低了多少。 例如,如果实体的TPS为10,则意味着只有一半的实体将更新每个服务器Tick。 注意:某些世界可能会将TPS显示为'0.00'。这可能意味着当前没有加载和/或运行这个世界。 List the current Ticks Per Second of Entities and TileEntities in each world. This gives you and indication of how much the specific group has been slowed down. For example, if Entities have a TPS of 10, that means only half of the Entities will update each server Tick. Note: Some worlds may show the TPS as ',00'. This means that the world currently is not loaded and/or running. /list maxslices 本质上只是列出配置文件中设定的当前最大平均使用时间的值。 查阅slicesMax注释获取有关配置的更多信息。 Essentially just lists the current slicesMax value from the configuration file. Check out the slicesMax documentation for the config for more information. /list minimumentities 本质上仅列出配置文件中的每种东西当前最低运行速度的值。 有关更多信息,请查看minimumObjects文档以获取配置。 Essentially just lists the current minimumObjects value from the configuration file. Check out the minimumObjects documentation for the config for more information. /tickdynamic tps 输出当前服务器tps Print the current average server TPS /tickdynamic value 该命令当前尚未实现,但是将来它将允许在游戏内更改配置文件,而无需手动编辑配置文件。 This command is currently not implemented, but in the future it will allow you to directly change the configuration entries without having to manually edit the config file and running reload. /tickdynamic reload 重载配置文件 Reloads the configuration file, and applies the new configuration. /tickdynamic enabled [yes, y, no, n] 启用或禁用该mod。请注意,在某些情况下,它仍会收集数据,但不会限制任何东西。 注意:这条命令不会将此更改写入配置文件! Enabled or disabled Tick Dynamic. Note it will still in some cases gather data, but will no longer apply any limits. Note: It does not write this change to the configuration file! /tickdynamic help 打开CurseForge上的帮助页面 For now it just prints the URL of this page. |
当您首次使用安装的mod启动世界时,它将创建一个新的默认配置文件。 它带有注释,应该很容易理解,但是有些东西我们将更详细地介绍。 配置文件的结构: 配置的结构中有一个名为“世界”的主组。 在此“世界”组中,每个维度/世界都对应一个分组。 然后在每个世界中,您都有“实体”和“实体方块”群体。 每个组始终只有一个,当在服务器上创建或加载新世界时,mod将自动为新世界创建组。 建议您首先运行一次,让mod自动创建配置文件,然后打开配置并调整所需的设置,然后在服务器上以op身份执行“ tickdynamic reload”命令。 将来会有一条命令直接调整设置,而无需重新加载或编辑配置。 条目: slicesMax 您会在配置中看到的配置选项之一是“ slicesMax”。 这里是您控制分配给每个世界以及每个世界内分配给实体和实体方块的时间的权重。 每刻的时间(默认情况下为50ms)将根据其配置的数量数分配给所有世界。 如果您有3个世界,每个世界权重为100,那么每个世界将获得100/300=约33%的时间。 因此,您可以为主世界设置maxSlices为300,同时给其他两个100。这样,主世界将获得60%的时间。 在分配给世界的时间中,这将根据其权重以相同的方式进一步分配给实体和实体方块。 实体方块和实体是分配给这个世界的时间的一部分,因此它们的权重仅在该世界中彼此相对。 如果任何组有未使用的时间,则该时间将分配给其它组。 因此,即使您给实体方块分配了1000的权重,对实体分配了100的权重,只要实体方块没有被分配全部时间,实体就能使用至少100权重的时间。 因此,权重与时间百分比的公式为:(self.maxSlices / allSiblings.maxSlices)* 100 注意:maxSlices = 0具有特殊含义。这意味着要考虑但不限制组的时间使用情况。 基本上,即使它超出父级maxTime,也可能会花费所有需要的时间,从而将其同级项降低到minimumObjects。 minimumObjects 随着服务器在给定的50ms时间内处理不完的事物越来越多,它将把更新实体和实体方块的数量减的越来越少。 最终它将达到停止更新它们的地步,这应该并不是您想要的。 使用minimumObjects,您可以将其设置为不会低于值,无论服务器的TPS有多低。 |
SpongeForge不用试了,完全不兼容。 该mod的1.7.10版本已停止更新,本人在K锅测试尚未发现问题,但使用前还请多加测试。 1.12.2版本的bukkit+forge端,多线程优化的版本测试时会出现debug刷屏的问题,不建议使用。 (作者都说那玩意兼容性略差) 该mod在国内较为冷门,如果需要在服务器使用,请严格测试。 该mod使用MIT许可,无论是作者还是搬运者均不对使用该软件造成的损失负责。 |
7-2-a Mod发布帖
标题格式:
([BGM])[高版本号-低版本号]+[Mod本名——Mod译名]([Mcreator制作])+其他
[版本号] :Mod支持的所有Minecraft版本,例:[1.14.4-1.7.10],若仅支持某个0.1阶段全版本亦可写作[#.#.X] 例:[1.14.X]
[Mod本名] :即 Mod作者公开的Mod官方名称
[Mod译名] :请参考《Minecraft Mod简体中文翻译规范与指南》07
[Mcreator制作]:如为使用Mod制作器Mcreator制作的Mod,请在标题中间规定位置添加此项
2020-02-29 18:31:00