Пинг и потери: считаем сами, потому что считать нечем

Вендор заменил сетевой слой на свой Netty-обработчик, поля задержки в нём нет,
а сам класс в маппингах не восстановлен. Ванильный getLag() не достать, и игра
пинг нигде не показывает.

Остаётся то, что есть всегда: сервер шлёт keep-alive раз в 15 секунд по своему
собственному расписанию. Отклонение интервала прихода - это и есть сеть, и
скользящее среднее по нему даёт оценку на любом сервере. Грубые интервалы
(потерянный пакет удваивает интервал) в среднее не попадают.

Число помечается как оценка: Rsx.pingExact() false, в строке "ping~". Эхо со
своим nonce в имени канала осталось в коде, но в этой сборке обработчик
кастомного payload у клиента не найден, поэтому профиль его не объявляет и эхо
просто недоступно - точность пока такая, какая есть.

Период keep-alive читается из -Drsx.keepalivePeriod: прокси иногда шлют иначе, и
стенду нужен короткий, чтобы проверить математику за секунды.

Заодно: Resolver игнорировал "принудительный" скан и отдавал устаревший индекс
замет позапрошенных классов. HUD-гейт читался в первый кадр и не находил экран.

Стенд кормитkeep-alive с интервалом 240 мс при периоде 200 и ждёт оценку около
50 мс - ровно то отклонение, которое он и создал.
This commit is contained in:
SashegDev
2026-10-17 03:42:32 +03:00
parent 419b2d0a6b
commit b5ffe0e9d7
13 changed files with 514 additions and 86 deletions
+2 -1
View File
@@ -219,6 +219,7 @@
},
"missing": [
"net.minecraft.client.Minecraft#snooper",
"net.minecraft.client.network.NetHandlerPlayClient#handleCustomPayload",
"net.minecraft.network.NetworkManager"
],
"build": {
@@ -228,6 +229,6 @@
"jarMtime": 1792011090,
"classes": 3759,
"totalClasses": 7695,
"generated": "2026-10-17 03:11"
"generated": "2026-10-17 03:30"
}
}
+3
View File
@@ -58,3 +58,6 @@ class rsx.ui.textures mhemp
method rsx.ui.textures byPath super (Ljava/lang/String;)Lwyw;
class rsx.ui.scale avpajdfu
field rsx.ui.scale factor break F
class rsx.net.echoPacket fgoftjl
method rsx.net.echoPacket ctor <init> (Ljava/lang/String;Ldcuglw;)V
class rsx.net.echoBuffer dcuglw