Реализация KnownList - Страница 2 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 13.02.2017, 21:17   #11
Пользователь

Автор темы (Топик Стартер) Re: Реализация KnownList

Вспомнил почему я делал KnownList.
Как сервер будет понимать кому отправлять пакет ObjectDelete при выходе из радиуса условной "видимости".
Допустим в кноун листе было так, если во время движения вы отходим от персонажа на некоторое условное расстояние то шлем пакет ObjectDelete обоим клиентам. Ведь если объект есть в кноунлисте => значит сервер отправлял ему пакет PlayerInfo или NpcInfo или DropItem. А если все будет работать через WorldRegion то как понять был ли отправлен пакет на отображение объекта и нужно ли его удалять (ObjectDelete) или же данным пакетом можно принебреч и клиент сам поймет что ему нужно удалить объект при достаточном удалении от него?? И если допустим следующая ситуация представим что радиус боракаста у нас 4000 точек. Вот мы зашли в гиран - прогрузили всех игроков, потом убежали из гирана допустим на 5000 точек. А человек в центре гирана решил выйти из игры. но так как радиус боардкаста допустим 4000 точек то клиент убежавшего из гирана об этом не узнает, и прибежит обратно и увидет этого игрока - который уже вышел. Ну и все в таком духе. Или же при удалении из мира боардкастить objectDelete на весь регион? но тогда некторым клиентам придет удаление обьекта с objectId о котором они даже и не знали. Ведь если клиент сам не котролирует удаление "далеких" объектов тогда без кновн листа не обойтись получается. Значит могу сделать вывод что клиент сам эти объекты удаляет. Или же я ошибаюсь? Вообщем я в ступоре покачто. Займусь другими вещами пока не получу ответ
Alay вне форума Ответить с цитированием
Непрочитано 13.02.2017, 21:50   #12
Пользователь

Автор темы (Топик Стартер) Re: Реализация KnownList

Нефига он не удаляет. Очистка идет только при телепорте и рестарте соответственно. Получается что боардкаст нужно делать на весь регион. А в этом ничего хорошего нет. Нет серьезно либо я чего то упускаю либо тут идет обмен шила на мыло. Регион то сам по себе не маленький
Alay вне форума Ответить с цитированием
Непрочитано 14.02.2017, 04:17   #13
Аватар для DiagoD

По умолчанию Re: Реализация KnownList

Цитата:
Сообщение от Alay Посмотреть сообщение
Вспомнил почему я делал KnownList.
Как сервер будет понимать кому отправлять пакет ObjectDelete при выходе из радиуса условной "видимости".
Допустим в кноун листе было так, если во время движения вы отходим от персонажа на некоторое условное расстояние то шлем пакет ObjectDelete обоим клиентам. Ведь если объект есть в кноунлисте => значит сервер отправлял ему пакет PlayerInfo или NpcInfo или DropItem. А если все будет работать через WorldRegion то как понять был ли отправлен пакет на отображение объекта и нужно ли его удалять (ObjectDelete) или же данным пакетом можно принебреч и клиент сам поймет что ему нужно удалить объект при достаточном удалении от него?? И если допустим следующая ситуация представим что радиус боракаста у нас 4000 точек. Вот мы зашли в гиран - прогрузили всех игроков, потом убежали из гирана допустим на 5000 точек. А человек в центре гирана решил выйти из игры. но так как радиус боардкаста допустим 4000 точек то клиент убежавшего из гирана об этом не узнает, и прибежит обратно и увидет этого игрока - который уже вышел. Ну и все в таком духе. Или же при удалении из мира боардкастить objectDelete на весь регион? но тогда некторым клиентам придет удаление обьекта с objectId о котором они даже и не знали. Ведь если клиент сам не котролирует удаление "далеких" объектов тогда без кновн листа не обойтись получается. Значит могу сделать вывод что клиент сам эти объекты удаляет. Или же я ошибаюсь? Вообщем я в ступоре покачто. Займусь другими вещами пока не получу ответ
Вы пытаетесь к трехколесному велосипеду, вместо седла и педалей, приделать еще по несколько колес.
Функции вашего кноулиста, выполняет регион. При входе в него, вы получаете информацию по объектам внутри вашего региона, а так же по соседним, когда кто-то попадает в соседний или ваш регион, вы получаете о нем информацию, когда вы перемещаетесь и выходите из какого-то региона, то удаляетесь с него и его соседей, ну и собственно добавляетесь в новый с его соседями.
Клиенту не придет фантомный ID ибо если он есть на удаление, значит перед этим он попал вам на отображение.
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 14.02.2017, 12:34   #14
Пользователь

Автор темы (Топик Стартер) Re: Реализация KnownList

Меня одного коробит 1 вещь.
размер ребра региона 32к+ точек. Зачем слать инфу об игроках которых клиент никогда не увидит. Мне с трудом верится что пока я нахожусь в Орене на оффе мне прихотят пакеты аницации мобов из полномочий(расстояние от орена до них примерно 20к точек, но они в одном регионе.)
Или же на оффе регионы дробятся на еще более мелкую сетку?

Добавлено через 23 минуты
Цитата:
Сообщение от DiagoD Посмотреть сообщение
Вы пытаетесь к трехколесному велосипеду, вместо седла и педалей, приделать еще по несколько колес.
Функции вашего кноулиста, выполняет регион. При входе в него, вы получаете информацию по объектам внутри вашего региона, а так же по соседним, когда кто-то попадает в соседний или ваш регион, вы получаете о нем информацию, когда вы перемещаетесь и выходите из какого-то региона, то удаляетесь с него и его соседей, ну и собственно добавляетесь в новый с его соседями.
Клиенту не придет фантомный ID ибо если он есть на удаление, значит перед этим он попал вам на отображение.
А ваша реализация боардкаста по регионам 32+к точек и еще 8ми смежным. Получается борадкаст идет на 9ккк точек квадратных.
и примерно 90% из этих пакетов не принисут ни какой пользы.
И можно получить ссылку хотя бы на 1 исходники где нет knownlist'а, уже 3е сурсы скачиваю и везде вижу PcKnownlist.java

Последний раз редактировалось Alay; 14.02.2017 в 13:19. Причина: Добавлено сообщение
Alay вне форума Ответить с цитированием
Непрочитано 14.02.2017, 13:41   #15
Пользователь

По умолчанию Re: Реализация KnownList

Alay, lostworld
Influence вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 14.02.2017, 13:49   #16
Пользователь

Автор темы (Топик Стартер) Re: Реализация KnownList

забираю свои слова назад, уже нашел что REGION_SIZE = 4096; Выходит что мапа из 32к точек дробится на 64 мальеньких региончиков. это уже вполне правдоподобно. Я то думал что регион и мапа - одно и тоже
Alay вне форума Ответить с цитированием
Непрочитано 15.02.2017, 13:26   #17
Аватар для KID
Пользователь

По умолчанию Re: Реализация KnownList

полный бордель.
регионы были сделаны очень давно, во время запуска серверов на селеронах. нынешнее железо позволяет итерировать эти списки практически моментально. пытаться вылизать фичу до идеала на стадии ее разработки невозможно. сделайте как есть, а потом, когда уже будут сопутствующие части кода, концепт может изменится.
отсутствие knownList - плохой путь, имхо. получение игроком CI/NI на расстоянии до 8к стремно.
лучше научить эти листы взаимодействию только с определенными объектами, в основном это с игроками.
KID вне форума Отправить сообщение для KID с помощью Skype™ Ответить с цитированием
Непрочитано 15.02.2017, 14:48   #18
Аватар для DiagoD

По умолчанию Re: Реализация KnownList

Цитата:
Сообщение от KID Посмотреть сообщение
полный бордель.
регионы были сделаны очень давно, во время запуска серверов на селеронах. нынешнее железо позволяет итерировать эти списки практически моментально. пытаться вылизать фичу до идеала на стадии ее разработки невозможно. сделайте как есть, а потом, когда уже будут сопутствующие части кода, концепт может изменится.
отсутствие knownList - плохой путь, имхо. получение игроком CI/NI на расстоянии до 8к стремно.
лучше научить эти листы взаимодействию только с определенными объектами, в основном это с игроками.
не до 8к, а ровно 6к, это более чем приемлемо ибо радиус видимости клиента около 3к, точно уже не помню. А вот с каждым шагом перса отправлять добавление/удаление объекта, это действительно очень плохо, особенно в густонаселенных местах.
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Непрочитано 15.02.2017, 15:30   #19
Пользователь

Автор темы (Топик Стартер) Re: Реализация KnownList

Цитата:
Сообщение от DiagoD Посмотреть сообщение
не до 8к, а ровно 6к, это более чем приемлемо ибо радиус видимости клиента около 3к, точно уже не помню. А вот с каждым шагом перса отправлять добавление/удаление объекта, это действительно очень плохо, особенно в густонаселенных местах.
Да здрасте, приехали.


Расстояние может доходить до 11,5к точек.

Добавлено через 5 минут
Оба варианта по сути не идеальны. но размер региона ни кто не мешает уменьшить. Делается это изменением 1 переменной. И даже переписывать ничего не придется.
Все равно уже переписал все под регионы, пока пускай так будет.

Последний раз редактировалось Alay; 15.02.2017 в 15:36. Причина: Добавлено сообщение
Alay вне форума Ответить с цитированием
Непрочитано 15.02.2017, 15:38   #20
Аватар для DiagoD

По умолчанию Re: Реализация KnownList

Цитата:
Сообщение от Alay Посмотреть сообщение
Да здрасте, приехали.


Расстояние может доходить до 11,5к точек.

Добавлено через 5 минут
Оба варианта по сути не идеальны. но размер региона ни кто не мешает уменьшить. Делается это изменением 1 переменной. И даже переписывать ничего не придется.
Все равно уже переписал все под регионы, пока пускай так будет.
У меня он просто 2к, я по нему и считал, не обратив внимание что 4к указано
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация La2lucky Lineage II 13 17.07.2013 16:13
Реализация GVE мода adskih Lineage II 10 25.10.2012 17:08
Реализация MpConsumePercent finfan Работа со скриптами 2 06.07.2012 22:48
Реализация HWID Cyberpro96 Работа со скриптами 9 06.07.2012 22:03
Реализация swyatyk Lineage II 6 28.04.2012 17:40


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 07:31. Часовой пояс GMT +3.

Вверх