Отскок назад

Die

Прославленный
Местный
Старожил I степени
Сообщения
426
Розыгрыши
0
Решения
1
Репутация
578
Реакции
131
Баллы
1 438
Здравствуйте, интересует способ фикса данного бага:
Или хотя бы какой пакет отвечает за это? Склоняюсь к MoveBackwardToLocation, но не уверен.
 
типа того, так же желательно реализовать счетчик количества отклонений, и при достижении определенного порога принудительно синхронизировать клиент, или же при получении последующих правильных координат обнулять его

Код:
       int ping = 256 + (L2GameClient.getPing() * activeChar.getMoveSpeed()) / 1000;
       else if(diff > ping)
       {
           activeChar.validateLocation(1);
       }

А не проще ли проверить как это реализовано на ПТС сервере, чем городить велосипеды? Иной раз L2PHX и клиента вполне достаточно чтобы понять логику работы некоторых функций.
 

прости, 90% сборок сейчас разрабатываются на овере. мы не говорим за мусор вроде интерлюда, потому что там что игроки что админы из каменного века всё ещё не вышли, а овер уже давно лыжей назвать нельзя.

Оффтоп:

jois, спасибо
А у Вас проблемы с ИТ хрониками? А ну да, продажи вашего ХВ всё хуже и хуже, надо же как-то клиентов тянуть из других хроник. Я вот не понимаю, какая Вам разница кто на чём сидит?
 
А не проще ли проверить как это реализовано на ПТС сервере, чем городить велосипеды? Иной раз L2PHX и клиента вполне достаточно чтобы понять логику работы некоторых функций.
как вы узнаете алгоритм генерация пути птс сервера по пакетам?
 
Ещё есть такое как updatePosition
 
как вы узнаете алгоритм генерация пути птс сервера по пакетам?

А кто говорил про генерацию пути? Причём здесь она? Вопрос в асинхронности клиента и сервера. Или я тему неправильно понял?
 
А кто говорил про генерацию пути? Причём здесь она? Вопрос в асинхронности клиента и сервера. Или я тему неправильно понял?
валидацию спрашивает клиент, когда у клиента конфликт в пермещении или интервал наступил, а сервер просто коректирует. Вся суть в накоплении ошибки. Сервер валидирует не в том месте и не в то время, и получается расинхрон перемещения сервера и клиента. Клиент думает, одно, а серверу пофиг. Там валидация формул математики 1 класса distance = speed * time +- добавить и должно как железное быть. Клиент бежит сам по себе, когда сервер отправил пакет разрещающий пермещение, соль не в пинге, а во времени и скорости вычисления на стороне сервере. Формула в идеале должна быть расчитана на системы реального времени.
 
валидацию спрашивает клиент, когда у клиента конфликт в пермещении или интервал наступил, а сервер просто коректирует. Вся суть в накоплении ошибки. Сервер валидирует не в том месте и не в то время, и получается расинхрон перемещения сервера и клиента. Клиент думает, одно, а серверу пофиг. Там валидация формул математики 1 класса distance = speed * time +- добавить и должно как железное быть. Клиент бежит сам по себе, когда сервер отправил пакет разрещающий пермещение, соль не в пинге, а во времени и скорости вычисления на стороне сервере. Формула в идеале должна быть расчитана на системы реального времени.

Берём ПТС сервер на локальной машине, L2PHX и клиент.
  1. Шлём перса бежать вдаль и смотрим пакеты, регистрируем время.
  2. Потом усложняем процедуру добавив пинг клиенту. Например взять хаб на 10 МБит и включить клиент за ним. Можно запилить прокси с лютым пингом. Проверяем тоже самое.
  3. Потом иммитируем отвал клиента, так, чтобы клиент не получал пакеты с сервера. регистрируем что и когда он шлёт.
А уж потом все домыслы обретают реальные очертания. А так, это всё больно похоже на сферического коня в вакууме. Как видите не так уж и сложно.
 
А не проще ли проверить как это реализовано на ПТС сервере, чем городить велосипеды? Иной раз L2PHX и клиента вполне достаточно чтобы понять логику работы некоторых функций.
а кто сказал что оно не так работает?
 
Просто рука лицо! Вся соль в ревалидации, это не правится сферическими затычками в пакетах, если конечно валидация вообще есть. Это комплексное решение как переписыванием алгоритма валидации так и пересчета пути и к тому же корректной имплементации пакета NetPing(который кстати ни где не реализован, почти) как лаг компенсатора. На всю эту дичь что бы не швыряло и т.д. я потратил почти месяц, если кому интересно велком

Как решить проблему тебе тут ни кто не поможет, ибо так ни кто этой хрени тут по сути и не решил и не тут только.
 
А так, это всё больно похоже на сферического коня в вакууме. Как видите не так уж и сложно.
Ну так запили, в чем проблема ? Линейная алгебра + геометрия + реверс инжинир. Вообще тфу.
 
Просто рука лицо! Вся соль в ревалидации, это не правится сферическими затычками в пакетах, если конечно валидация вообще есть. Это комплексное решение как переписыванием алгоритма валидации так и пересчета пути и к тому же корректной имплементации пакета NetPing(который кстати ни где не реализован, почти) как лаг компенсатора. На всю эту дичь что бы не швыряло и т.д. я потратил почти месяц, если кому интересно велком

Как решить проблему тебе тут ни кто не поможет, ибо так ни кто этой хрени тут по сути и не решил и не тут только.
Странно, но проблема такая же и у Вас)
 
Если бы камера нормально отдалялась с первого раза получилось бы...
 
Т.е. типа это тоже самое что и на вашем видео в котором швыряет даже вперед при масс спаме MoveToPawn ?
 
Т.е. типа это тоже самое что и на вашем видео в котором швыряет даже вперед при масс спаме MoveToPawn ?
Моего видео тут нет, разве что Выше с вашего тест сервера. Первое видео я нашёл в интернете и хочу понять проблему. У вас замечена только первая часть (при клике). При спаме скиллом, всё нормально.
 
Само смещение назад может быть обусловлено исключительно клиентской частью и отображением движущегося объекта. на всех ява(почти) серверах швырят по сторонам от простого массового проклика при движении в любую точку. Суть проблемы описана выше вкратце.
 
Само смещение назад может быть обусловлено исключительно клиентской частью и отображением движущегося объекта. на всех ява серверах швырят по сторонам от простого массового проклика при движении в любую точку. Суть проблемы описана выше вкратце.
Но как видно на видео в конце (там где фикс) у человека всё нормально работает.
 
Назад
Сверху Снизу