Citysands
问题:
服务器为宝可梦服务器,所用服务端核心为CATSERVER(官网最新版),MC版本是1.12.2
玩家跑图过快时,后台会不断显示,而后达到某个阈值后,玩家被弹出,客户端显示“连接超时”。
P.S. 服务端没有崩溃,玩家可以直接重进。
-
服务器配置


4c8g,i9-12900K,带宽20M
-
后台报错信息:







-
TPS:


P.S.基本上十多个人的话挺稳定的,就是跑图的时候会骤然卡顿,然后就退出服务器,连接超时了……
(跟服务商讨论了下,觉得是区块问题)
-
MODS:

-
PLUGINS:

-
日常占用:


-
配置文件(bukkit.yml+catserver.yml+spigot.yml+server.properties)
新建文件夹.zip (3.61 KB, 下载次数: 1)
-
若是还有需要提供的,我这边尽快补上awa
因为自己也有在玩,是一个联机服务器,所以就比较苦恼,最近连接超时频率太高了,所以想着看看能否解决awa
服务器有设置边界,7w左右
麻烦各位大佬了,拜谢.



Thehrz
spigot.yml 下
  1. moved-too-quickly-multiplier: 10.0
  2. moved-wrongly-threshold: 0.0625
复制代码


两个值调大

Citysands

moved-too-quickly-multiplier: 10.0

  #实际上是服务器允许玩家移动的最大速度。这在某些情况下会造成问题,例如大型TNT加农炮。

  moved-wrongly-threshold: 0.0625

  #增加这个数字可能会减少玩家速度太快后回弹次数,但也可能被外挂玩家滥用
-
所以提高后是可以“解决”这个问题是吗?
以及我想知道,服务器出现的问题是区块加载问题还是其他什么问题呢。
以及,推荐数值是多少呢?
麻烦了,谢谢awa

__FELT
你是不是把区块卸载时间调太短了 玩家来到一个需要加载的区块未能及时加载

Thehrz
Citysands 发表于 2022-8-5 17:56
moved-too-quickly-multiplier: 10.0

  #实际上是服务器允许玩家移动的最大速度。这在某些情况下会造成问 ...

这个确实是 Spigot 的限制 如果你需要计算公式 稍后我会上传

你是Mod服务器 应该找出玩家移动速度这么快的原因

所以应该根据自己服务器情况在测试环境调试

Citysands
__FELT 发表于 2022-8-5 18:07
你是不是把区块卸载时间调太短了 玩家来到一个需要加载的区块未能及时加载 ...

我看了下,服务器有两个插件是有“清理区块”功能的
分别是:
[区块清理]NoSpawnChunks 1.7-1.9
配置文件如下:
  1. # NoSpawnChunks Configuration
  2. # By dmulloy2

  3. # Worlds to unload chunks for. If '*' is in the list,
  4. # it will unload chunks for all worlds.
  5. worlds:
  6.   - '*'

  7. # Chunk Unload Task - periodically unloads chunks
  8. # Enabled - boolean
  9. # Interval - integer (in minutes)
  10. task:
  11.   enabled: true
  12.   interval: 30

  13. # Java Garbage Collection
  14. # task (boolean) - whether or not to run the garbage
  15. # collector in the unload task.
  16. # unloading (boolean) - whether or not to run garbage
  17. # collector whenever we unload chunks.
  18. garbageCollector:
  19.   task: true
  20.   unloading: false

  21. # Whether or not to keep world spawns in memory
  22. # input - boolean
  23. keepSpawnInMemory: false
复制代码


-
以及:
[宝可梦优化]SuperOptimization3.3

配置文件如下:
  1. Version: '3.3'
  2. EntityClear:
  3.   Clear:
  4.   #实体清理
  5.     Enable: true
  6.     #是否开启
  7.     Cycle: 12000
  8.     #清理周期 20 = 1s 默认6000为5分钟
  9.     Distance: 32
  10.     #清理距离!以玩家为中心,周围32格外的宝可梦都清理
  11.   Nospawn:
  12.   #阻止出生
  13.     Enable: true
  14.     #是否开启
  15.     Distance: 10
  16.     #安全距离!以玩家为中心,10格内的宝可梦不限制数量
  17.     PerPlayerEntityLimit: 25
  18.     #在限制区域内每个玩家周围可以存在多少个宝可梦(限制区域为LimitDistance-Distance)
  19.     LimitDistance: 64
  20.     #限制距离
  21.   DelayCheck:
  22.   #可能对服务器占用较大
  23.     Enable: false
  24.     Delay: 300
  25.     #延时检测的时间,将在这个时间后检测实体周围是否存在玩家。
  26.     DelayDistance: 16
  27.     #延时清理(New)
  28.     #实体生成后将在这个时间后重新检测实体周围是否存在玩家,不存在将清理
  29.   Worlds:
  30.     AllWorld: true
  31.     #是否对所有世界生效
  32.     WorldList:
  33.     #如果不对全世界生效,那么这里填写需要生效的世界。
  34.     #记得把AllWorld设置成false
  35.     - NONE
  36.     #可替换Config.yml文件内的SafeEntityes  (不好意思,写插件的时候疏忽了,i写成了y)
  37.   SafeEntityes:
  38.   #安全实体,默认配置已经添加了神兽列表,该神兽列表为本人自行整理,可能存在疏漏。
  39.   - Articuno
  40.   - Zapdos
  41.   - Moltres
  42.   - Raikou
  43.   - Entei
  44.   - Suicune
  45.   - Regirock
  46.   - Regice
  47.   - Registeel
  48.   - Uxie
  49.   - Mesprit
  50.   - Azelf
  51.   - Cobalion
  52.   - Terrakion
  53.   - Virizion
  54.   - Tornadus
  55.   - Thundurus
  56.   - Keldeo
  57.   - Silvally
  58.   - Tapu_Koko
  59.   - Tapu_Lele
  60.   - Tapu_Bulu
  61.   - Tapu_Fini
  62.   - Mewtwo
  63.   - Lugia
  64.   - Hooh
  65.   - Kyogre
  66.   - Groudon
  67.   - Rayquaza
  68.   - Dialga
  69.   - Palkia
  70.   - Regigigas
  71.   - Giratina
  72.   - Arceus
  73.   - Reshiram
  74.   - Zekrom
  75.   - Kyurem
  76.   - Xerneas
  77.   - Yveltal
  78.   - Necrozma
  79.   - Mew
  80.   - Celebi
  81.   - Slaking
  82.   - Latias
  83.   - Latios
  84.   - Jirachi
  85.   - Deoxys
  86.   - Heatran
  87.   - Cresselia
  88.   - Manaphy
  89.   - Darkrai
  90.   - Shaymin
  91.   - Victini
  92.   - Landorus
  93.   - Meloetta
  94.   - Genesect
  95.   - Goodra
  96.   - Zygarde
  97.   - Diancie
  98.   - Hoopa
  99.   - Volcanion
  100.   - Magearna
  101.   - Marshadow
  102.   - Zeraora
  103.   - Melmetal
  104.   - Cosmog
  105.   - Cosmoem
  106.   - Solgaleo
  107.   - Lunala
  108.   - Nihilego
  109.   - Buzzwole
  110.   - Pheromosa
  111.   - Xurkitree
  112.   - Celesteela
  113.   - Kartana
  114.   - Guzzlord
  115.   - Poipole
  116.   - Naganadel
  117.   - Stakataka
  118.   - Blacephalon
  119.   TargetEntities:
  120.   #目标实体
  121.   #非宝可梦MOD的实体也可以添加进来
  122.   - PIXELMON_PIXELMON
  123. ItemClear:
  124. #掉落物清理
  125.   Clear:
  126.     Enable: true
  127.     Cycle: 12000
  128.     Distance: 6
  129.   SafeItemList:
  130.   #不清理的掉落物
  131.   - 277
  132.   - 293
  133.   - 278
  134.   - 279
  135.   - 276
  136.   - 310
  137.   - 311
  138.   - 312
  139.   - 313
  140.   - 256
  141.   - 257
  142.   - 258
  143.   - 267
  144.   - 292
  145.   - 306
  146.   - 307
  147.   - 308
  148.   - 309
  149.   - 283
  150.   - 314
  151.   - 315
  152.   - 316
  153.   - 317
  154.   - 261
  155.   - 302
  156.   - 303
  157.   - 304
  158.   - 305
  159.   - 403
  160.   - 138
  161.   - 264
  162.   - 57
  163.   - 265
  164.   - 42
  165.   - 266
  166.   - 41
  167.   - 388
  168.   Worlds:
  169.     AllWorld: true
  170.     WorldList:
  171.     - NONE
  172. ChunkClear:
  173. #区块清理
  174.   Clear:
  175.     Enable: true
  176.     Cycle: 12000
  177. MessageSettings:
  178.   MsgEnable: true
  179.   EntityMsg: §3§l[SUPERO] §8[§a§l>§8] §8成功清理§a§l§o%num%§8个实体!
  180.   ItemMsg: §3§l[SUPERO] §8[§a§l>§8] §8成功清理§a§l§o%num%§8个掉落物!
  181.   ChunkMsg: §3§l[SUPERO] §8[§a§l>§8] §8成功清理§a§l§o%num%§8个区块!
  182.   ChunkWarnMsg: §3§l[SUPERO] §8[§a§l>§8] §c正在进行区块清理,服务器出现卡顿属正常现象!
  183.   EntityClearWarnMsg: §3§l[SUPERO] §8[§a§l>§8] §a§l§o%s%秒§8后将清理实体!
  184.   ItemClearWarnMsg: §3§l[SUPERO] §8[§a§l>§8] §a§l§o%s%§8秒后将清理掉落物!
复制代码


-
第一个插件的配置文件我没动。
第二个插件
  1. #区块清理
  2.   Clear:
  3.     Enable: true
  4.     Cycle: 12000
复制代码

改为了
  1. #区块清理
  2.   Clear:
  3.     Enable: true
  4.     Cycle: 36000
复制代码


Citysands
Thehrz 发表于 2022-8-5 18:11
这个确实是 Spigot 的限制 如果你需要计算公式 稍后我会上传

你是Mod服务器 应该找出玩家移动速度这么快 ...

模组中的“靴子”有“增加50%的速度”的功能。
以及宝可梦本身是可以骑乘的,有些宝可梦的移动速度就比较快。
我目前将其设置为了
  1.   moved-too-quickly-multiplier: 50.0
  2.   moved-wrongly-threshold: 0.9
复制代码

落花雨喵
本帖最后由 落花雨喵 于 2022-8-5 20:38 编辑

可能是CatServer的优化选项导致
worldGenMaxTick选项限制了区块生成
可以尝试把这个选项从15改到更大(不要超过50)
副作用是玩家跑图时服务器TPS会降低
另外建议禁用或卸载区块清理插件(服务端会自行卸载区块)


Citysands
落花雨喵 发表于 2022-8-5 20:37
可能是CatServer的优化选项导致
worldGenMaxTick选项限制了区块生成
可以尝试把这个选项从15改到更大(不要 ...

我把worldGenMaxTick调到了25
禁止区块卸载的话,是指删掉nospawnchunks插件和禁掉supero的区块清理功能是吗
以及。

这个正常么,服务器目前后台基本没有quickly和wrong的报错了,但是这个是一直存在的。

落花雨喵
Citysands 发表于 2022-8-5 22:42
我把worldGenMaxTick调到了25
禁止区块卸载的话,是指删掉nospawnchunks插件和禁掉supero的区块清理功能 ...

这个是警告MOD导致区块生成卡顿 请报告MOD作者
不想看到的话在config/forge.cfg文件里将logCascadingWorldGeneration设置为false

Citysands
落花雨喵 发表于 2022-8-6 11:16
这个是警告MOD导致区块生成卡顿 请报告MOD作者
不想看到的话在config/forge.cfg文件里将logCascadingWorl ...

目前关了“区块清理”功能。
发现内存的确显著降低,没有动不动就爆满了。
worldGenMaxTick调到25后,玩家跑图的确会造成卡顿,我就调成了20
以及修改了以下两个参数
  1.   moved-too-quickly-multiplier: 50.0
  2.   moved-wrongly-threshold: 0.9
复制代码

目前没有连接超时情况出现,不过玩家跑图偶尔还是会造成卡顿这个问题,有方法解决么?

落花雨喵
Citysands 发表于 2022-8-6 12:01
目前关了“区块清理”功能。
发现内存的确显著降低,没有动不动就爆满了。
worldGenMaxTick调到25后,玩 ...

这个没有很好的办法解决
不限制玩家跑图的话
只能用WorldBorder插件设置边界然后预生成填充边界内的区块