Сборки серверов

СливПлатные

Новые сообщения

Сейчас онлайн

  • yarchez
  • slimy119
  • MilaPchela
  • Egop3000
  • skite69ers
  • CC_jun
  • Rozovoe_Vino65
  • qioxxue
  • _Myrmix_
  • spark_86
  • Llrix
  • I7I7
  • E1ast
  • Nimit
  • XTAMPLE_gps
  • m1ilyukhin
  • Lycor1ss
  • scorgme
  • alex_mz
  • Vova_Ronsky
  • Screammhere
  • markkorwicz
  • RenKTen
  • Gjrjge
  • Анико
  • lemnt
  • Levi
  • SSWdA
  • german2146
  • Vladostop1ik
  • G8_8888
  • njkitakjler
  • vanyadev
  • Evilcorecry
  • Lunacy
  • chupo20021
  • MrLavX
  • gogonadze
  • Egash
  • chithuan
  • NevileeV
  • JosemyXtreme
  • SnakPark32
  • arlcer
  • nickerel
  • sunraych
  • deezzee777
  • damian312
  • white_boyyyy
  • TONAS
  • extra
  • iwtdie
  • fkdasakddj
  • sqzme
  • sovk
  • 𝘽𝙞𝙩𝙧𝙖𝙩𝙚
  • enoteke
  • ronchi
  • SeiniS

Paper + Velocity: Network Protocol Error из-за locator bar / waypoint UPDATE без TRACK

Corazon161
Версия ядра сервера
1.21+
Всем привет
Нужна помощь с очень странной проблемой на Minecraft 1.21.11.

Кратко:
при включённом vanilla locator bar у игроков периодически происходит disconnect / Network Protocol Error. По клиентским логам видно, что клиент получает waypoint UPDATE, но у него нет соответствующего waypoint в локальной Map, из-за чего происходит NPE и disconnect.
Отключать locator bar как решение не хочу, потому что это важная PvE-фича сервера. Хочу понять первопричину и нормальный способ исправления.

Связка:
  • Velocity + Paper backends
  • Backend-серверы стоят на отдельном VDS
  • Velocity и часть других backend-серверов стоят на другом VDS
  • Панель: Pterodactyl

Проблемный backend:
Paper 1.21.11 build 131
Пример версии:
Paper version 1.21.11-131-ver/1.21.11@6d5b910
Build date: 2026-05-03

Непроблемный backend:
Paper 1.21.11 build 69
Пример версии:
Paper version 1.21.11-69-main@94d0c97
Build date: 2025-12-30

То есть версия Minecraft одинаковая — 1.21.11, но Paper build разный.

Velocity:
Velocity 3.4.0 build 566

Плагины на проблемном backend:
  • FancyNpcs
  • GSit
  • packetevents
  • Spartan
  • Themis
  • ViaVersion
  • ViaBackwards
  • Simple Voice Chat
  • Multiverse-Core
  • WorldGuard
  • LuckPerms
  • Warp/Home/Spawn/RTP плагины
  • и другие обычные плагины

Также был самописный WaypointHotfix, который пытался блокировать waypoint-пакеты. Он уменьшал количество вылетов, но полностью проблему не решал. Есть подозрение, что такой подход может сам создавать рассинхрон, если блокируется TRACK, а UPDATE проходит.
Суть проблемы
Когда gamerule locatorBar=true, особенно после:
  • /warp
  • /home
  • /spawn
  • /rtp
  • /tpaccept
  • /tp
  • смены мира
  • respawn
  • join
  • elytra / резкого перемещения

начинается сильный поток ClientboundTrackedWaypointPacket.

После этого часть игроков получает disconnect.

Серверный лог часто показывает просто:
<player> lost connection: Disconnected
или на Velocity:
Connection reset by peer
В вашем подключении произошла внутренняя ошибка
Но клиентский лог показывает настоящую причину.
Фрагмент из latest.log клиента:
[Render thread/WARN]: Unsupported Waypoint update operation: class net.minecraft.class_11200$class_11201


[Render thread/ERROR]: Failed to handle packet class_11173[operation=UPDATE, waypoint=net.minecraft.class_11200$class_11201@139422ca], disconnecting


java.lang.NullPointerException: Cannot invoke "net.minecraft.class_11200.method_70766(net.minecraft.class_11200)" because the return value of "java.util.Map.get(Object)" is null
[Render thread/WARN]: Client disconnected with reason: Ошибка сетевого протокола

По смыслу это выглядит так:

Клиент получил waypoint UPDATE

Клиент попытался найти этот waypoint в Map

Map.get(...) вернул null

Клиент получил Network Protocol Error

Disconnect

То есть клиент получает UPDATE для waypoint, которого у него нет. Либо TRACK до клиента не дошёл, либо waypoint уже был UNTRACKed/очищен после телепорта или смены мира.
На Velocity в этот момент обычно видно только reset:
Exception caught while decoding frame for /<ip>:<port>
io.netty.channel.unix.Errors$NativeIoException: recvAddress(..) failed with error(-104): Connection reset by peer
[connected player] <player> has disconnected: В вашем подключении произошла внутренняя ошибка.е
если нужны будут подробные логи - скину
 
GPT-4o
Привет!

Проблема, с которой вы столкнулись, действительно выглядит как рассинхронизация между клиентом и сервером относительно waypoint'ов. Вот несколько рекомендаций, которые могут помочь в диагностике и исправлении ситуации:

1. Проверка плагинов:
- Убедитесь, что ни один из плагинов не вмешивается в обработку waypoint'ов. Особенно это касается плагинов, которые работают с сетевыми пакетами, таких как packetevents и Spartan. Попробуйте временно отключить их и проверьте, сохраняется ли проблема.

2. Обновление версии Paper:
- Попробуйте обновить проблемный backend до более новой версии Paper, если такая доступна. Иногда исправления ошибок могут быть включены в новые сборки.

3. Логи и отладка:
- Включите детализированное логирование для Velocity и Paper. Это может помочь выявить, какие пакеты отправляются и в каком порядке, что может помочь в диагностике проблемы.

4. Обработка waypoint'ов:
- Если у вас есть возможность, попробуйте изменить логику обработки waypoint'ов в вашем самописном WaypointHotfix. Возможно, стоит добавить дополнительные проверки на наличие waypoint'ов перед их обновлением или отправкой обновлений.

5. Синхронизация состояний:
- Убедитесь, что состояние waypoint'ов синхронизируется между клиентом и сервером корректно. Возможно, стоит реализовать дополнительную логику для обработки случаев, когда клиент не успевает обработать TRACK перед получением UPDATE.

6. Тестирование:
- Попробуйте создать тестовый сервер с минимальным набором плагинов и настройками, чтобы воспроизвести проблему. Это может помочь изолировать причину.

7. Обратная связь от сообщества:
- Поскольку проблема может быть известна другим, попробуйте обратиться к сообществу Paper или Velocity для получения дополнительных советов или патчей.

Если после выполнения всех этих шагов проблема сохраняется, возможно, стоит рассмотреть возможность обращения к разработчикам Paper или Velocity с подробным описанием проблемы и собранными логами.

Если вам нужны дополнительные примеры кода или конфигурации, дайте знать!
 

Похожие темы на Black-Minecraft.com

ВерхНиз