20 Апреля 2024 01:42 
Заработай шерингом
Навигация
 +  - 
Скачать игры
Сейчас на сайте
19.04.2024
Apollo
01:46:51
offline
19.04.2024
Samurai97
02:42:46
offline
19.04.2024
Aloha123
10:32:17
offline
15.04.2024
fukkinside
4 дней
offline
14.04.2024
V1ad
5 дней
offline
Последние фото
Game of Blocks : WesterosCraft and Game of Thrones
Game of Blocks : Wes...
Альбом: Скриншоты

Вынос трёх пати куполом
Вынос трёх пати куполом
Альбом: Скриншоты



Альбом: Флора

Последние видео
Видео THE WORLD LIVE -  since 2008 | earthTV : So thank you for the many views of this stream, please enjoy the original classic television version of THE WORLD LIVE, first uploaded here for you in 2008 with just 7 locations.

Онлайн камеры:  THE WORLD LIVE - since 2008 | earthTV

Видео The Best Of Norway's Railway Cab Views : I\

Онлайн камеры:  The Best Of Norway's Railway Cab Views

Видео 130 LIVE World Cameras : 130 LIVE World Cameras, Relaxing Music, Map, Daily Timelapse - Your Armchair Travel

Онлайн камеры:  130 LIVE World Cameras

Наша кнопочка
FAQ7.ru
Код:
RSS каналы
Новости
Комменты
Форум
Статьи
Фото
Файлы
Ссылки
Объявления
Реклама
RU CLICKSРусский трафик
Автор темы: Warhangel
ID темы: 225
Информация о теме:
Имеются 1 сообщений по данной теме, которая была просмотрена 14317 раз.
Реклама
Обменник Обменник
Просмотр темы
Логин:
Пароль:  
Форум » Игровые форумы » Lineage » Серверная
Просмотр темы
Текущий рейтинг: (Всего: 0 голосов)  
Ответить
Иконка 
Геодата и с чем её едят
Наверх Распечатать сообщение #1
Опубликовано 09-09-2010 08:32
Аватар пользователя

Супер Администратор



Сообщений: 2689
Вас поблагодарили: 23
раз(а) в 23 сообщениях

Зарегистрирован: 24.03.10
Со дня регистрации: 5141
Откуда: Россия

Скрыть награды


Пожаловаться на это сообщение 

Часто появляются вопросы на "стёртую до бороды" тему геодаты,зачем она нужна,какая есть и куда пихать.
Возьмём две основные *_conv.dat и *.l2j,первую отбросим так как этот формат для ОФФ-серверов,хотя есть реализации в яве и этого формата.
Для чего она? Для мобов не существует стен как в принципе и для чаров, упёршись в стену и буксуя на месте вы всё таки меняете свои координаты, мобы проскакивают их шустрее.
По скольку для мобов мир - ровное плато, агрессивные вас заметят и атакуют если окажетесь в их радиусе даже если находитесь за стеной и не видите их. Геодата поможет вам от этого избавиться, если сказать короче геодата - информация о всех препятствиях имеющихся в клиенте игры. Поэтому геодата существует для разных хроник, геодата интерлюда будет считаться не полной для грации к примеру.
Вся карта мира разделена на квадраты,они пронумерованы,благодаря этому вы сможете определить какой квадрат отвечает за конкретную область:
faq7.ru/images/imagehost/a534289651c23ac822f07fc90f26159d.jpg

На картинке отмечена только поверхность,подземелья не отмечены как и материк Хеллбонда, но это не значит что квадраты пустые.В клиенте квадраты находятся в папке MAPS и пустые весят от остальных одинаково.
Геодаты в шаре полно и она разного качества, подбирайте ту которая будет корректно работать на вашей сборке. Если в квадрате есть косяки, к примеру невидимые преграды,или не можете пройти в открытые двери или ворота,то это не причина менять его на другой,существует софт для редактирования гео и невидимую перегородку можно убрать, но это отдельная тема...
Работа геодаты зависит еще и от гео-движка сборки - неотъемлемой составной части ядра этой сборки,так что не путайтесь с определениями что бы других не путать,геодата и геодвиг разные вещи.
У разных команд делающие эмуляторы разного качества гео-движки поэтому не всякая гео подойдёт к сборкам каких либо команд на 100%, чей геодвиг качественней решайте сами,тестируйте, темы "что лучше" для флуда.

Что такое pathnode? Отличная штука, благодаря этой приблуде мобы у вас при агре не будут ломиться сквозь стены, они их будут оббегать как и сам персонаж, создаётся пачнод определённым софтом с квадрата геодаты и его качество зависит от этого квадрата.Расширение пачнода - *.pn.
Количество файлов пачнода должно быть равно количеству файлов геодаты.
Есть сборки на основе команды Rebellion (а точнее Fortress), такие как L2Dream, L2f ССР, Phoenix, L2Royal извиняюсь если кого забыл, у таких сборок есть возможность поставить геодвижёк на отдельную машину что бы разгрузить основной игровой сервер,но использовать не советую поскольку не доделаны, хотя возможно в платных геосервер уже реализован на 100%.
Таким сборкам пачнод не требуется, их геодвиг генерирует его в процессе работы,сомневаюсь что это хорошее решение,но и не плохо с другой стороны, кому как,по мне так геодвиг sf в полне нормальный.
Сборки sf,это L2jServer - первые кто написал ява эмулятор,также L2jFree, L2Emu,L2Ambrella и др. на их основе, так же можно причислить Balancer (Fortress с которого основался Rebellion),но ему пачнод уже не требовался. Был отрезок времени когда эти команды использовали внешний геосервер (кроме L2jServer), но позже от него похоже отказались.
Таким сборкам неоходима геодата + пачнод,для комфортной игры вашим клиентам.
Установка геодаты на сборки без пачнода (Rebelion):
Покажу на примере L2Dream.
Путь куда закинуть гео,сами файлы *.l2j:

C:\L2Dream\game\data\geodata


Не в "C:\L2Dream\geo\data\geodata"(это и есть внешний геосервер),а именно по тому пути что указал.
Настройка.
Идем по пути "C:\L2Dream\game\config",нам нужен geodata.ini или geodata.properties:
#================================================= ================================================== ====
# Даный файл является конфигуратором геодаты.
#
# Геодату можно отключить, запустить в классическом режиме на гейм сервере, а также запустить как выделеный сервер геодаты.
#
# На даный момент на сервере геодаты отсутсвует какая-либо авторизация(за ненадобностью).
# Если у вас мания взлома, то закрывайтесь на уровне операционной системы.
# Ну или просите прикрутить SSL.
#================================================= ================================================== ====

# Включает/отключает геодату и поиск пути.
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
# 0 = Геодата отключена.
# 1 = Геодата будет загружена в геймсервер.
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
GeoData = 0

# Хост для сервера геодаты.
# * Забиндит все интефейсы.
# Игнорируется при GeoData = 0 или GeoData = 1
GeoServerHost = 127.0.0.1

# Куда будет пытатся коннектится клиент.
# Игнорируется при GeoData = 0 или GeoData = 1
GeoClientTargetHost = 127.0.0.1

# Порт для геодаты.
# Сервер откроет на нем сокет.
# Клиент будет пытатся подключится к нему.
# Игнорируется при GeoData = 0 или GeoData = 1
GeoPort = 9050

# Сглаживает путь.
# Стоит отключать только для дебага.
PathClean = True

# Обрабатывать ли двери в геодате
# Настройка влияет на ГеймСервер
AllowDoors = False

PathFindingBoost = True
PathFindArea = 250
Внимательно читаем,нам нужно это:

# Включает/отключает геодату и поиск пути.
# Рекомендуется включить. Требует наличия файлов геодаты в data/geodata.
# 0 = Геодата отключена.
# 1 = Геодата будет загружена в геймсервер.
# 2 = Гейм сервер перейдет в режим клиента, и будет пытатся подключится на указаный адрес, в то время как
# сервер геодаты сядет на указаный адрес. Для работы на выделеной машине с несколькими серверами
# рекомендуется гигабитный (и выше) лан. Среднее потребление траффика на осаде Адена = 400 Кbps на одного игрока,
# с учетом активированных им гвардов. При обчной игре среднее потребеление до 200 Kbps на 1 игрока.
GeoData = 0


В этом параметре меняем 0 на 1.
2 ставим в том случае если всё таки решили поставить геосервер,его настройки:
# Хост для сервера геодаты.
# * Забиндит все интефейсы.
# Игнорируется при GeoData = 0 или GeoData = 1
GeoServerHost = 127.0.0.1

# Куда будет пытатся коннектится клиент.
# Игнорируется при GeoData = 0 или GeoData = 1
GeoClientTargetHost = 127.0.0.1

# Порт для геодаты.
# Сервер откроет на нем сокет.
# Клиент будет пытатся подключится к нему.
# Игнорируется при GeoData = 0 или GeoData = 1
GeoPort = 9050
Здесь всё ясно,можете зайти в "C:\L2Dream\geo" и увеличить выделяемой оперативки на геосервер изменением значений,StartGeoServer.bat:

java -Xms512m -Xmx768m -cp l2dserver.jar l2d.game.geodata.network.geoserver.GeoServer


Двери,можете включить если уверены что они у вас работают,так как их "непробиваемость" не во всех геодвижках реализовано:

# Обрабатывать ли двери в геодате
# Настройка влияет на ГеймСервер
AllowDoors = True


Вроде бы всё,если нет спросите.

Теперь sf,возьму как основу L2jServer,за всё время он не сильно изменился и не использовал геосервер.
Пути размещения файлов геодаты:

C:\L2jServer\gameserver\data\geodata


И патчнода:

C:\L2jServer\gameserver\data\pathnode


В папке в месте с геодатой необходим файл geo_index.txt, в папке с пачнодом pn_index.txt,их содержимое должно быть абсолютно идентичным:

16_10
16_12
16_18
16_19
16_20
16_21
16_24
16_25
17_10
17_11
17_15
17_16
17_17
17_19
17_20
17_21
17_22
17_23
17_24
17_25
18_10
18_11
18_14
18_15
18_16
18_19
18_20
18_21
18_22
18_23
18_24
18_25
19_10
19_11
19_13
19_14
19_15
19_16
19_17
19_18
1 9_19
19_20
19_21
19_22
19_23
19_24
19_25
19_26
20_10
20_11
20 _13
20_14
20_15
20_16
20_17
20_18
20_19
20_20
20_21
20_22
20_ 23
20_24
20_25
20_26
21_11
21_14
21_15
21_16
21_17
21_18
21_1 9
21_20
21_21
21_22
21_23
21_24
21_25
22_13
22_14
22_15
22_16
22_17
22_18
22_19
22_20
22_21
22_22
22_23
22_24
22_25
23_11
23_12
23_13
23_14
23_15
23_16
23_17
23_18
23_19
23_20
23_21
23_22
23_23
23_24
23_25
24_11
24_12
24_13
24_14
24_15
24_16
2 4_17
24_18
24_19
24_20
24_21
24_22
24_23
24_24
24_25
25_11
25 _12
25_14
25_15
25_16
25_17
25_18
25_19
25_20
25_21
25_23
26_ 11
26_12
26_14


В этих файлах прописаны загружаемые геосервером квадраты геодаты,если содержание geo_index.txt и pn_index.txt не совпадает то при загрузке геодаты может вылезти ошибка,просмотрев лог ошибки увидите какого файла геодаты или пачнода не хватает.
Настройка,находим по пути "C:\L2jServer\gameserver\config" General.properties,нам нужен следующий раздел:
#------------------------------------------------------------- --------------
# Geodata
# ----------------------------------------------------------------------- ----
# GeoData options:
# 0 = GeoData and PathFinding OFF (default)
# 1 = GeoData is used to check Line Of Sight (LOS) targeting and
# L2Playable movement. You need to download files for data/geodata folder.
# Monsters can pass walls but not aggro (no line of sight) through them.
# 2 = Full GeoData enabled. Includes PathFinding (requires also /data/pathnode
# files if CellPathFinding not enabled) and all character moves go through
# geodata checks (if a mob passes a wall, pathfinding didn't find a route
# but we allow attack and returning home).
# Recommended server memory minimum 2 GB, rather 3 GB.
# Default: 0
GeoData = 0

# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
# If False, pathnode files are used. Uses a max number of nodes in calculation which can be adjusted in the algorithm if it needs to be faster.
# Default: False
CellPathFinding = False

# True = Loads GeoData buffer's content into physical memory.
# False = Does not necessarily imply that the GeoData buffer's content is not resident in physical memory.
# Default: True
ForceGeodata = True

# This setting controls Client <--> Server Player coordinates synchronization:
# -1 - Will synchronize only Z from Client --> Server. Default when no geodata.
# 1 - Synchronization Client --> Server only. Using this option (without geodata) makes it more difficult for players to bypass obstacles.
# 2 - Intended for geodata (at least with cell-level pathfinding, otherwise can you try -1).
# Server sends validation packet if client goes too far from server calculated coordinates.
# Default: -1
CoordSynchronize = -1

GeoData = 0


Ставим 1 если нас только геодата,пачнод отсутствует.В этом случае мы получаем только то что агрессивные мобы не будут на нас кидаться,персы утыкаясь в стену не будут буксовать,а просто остановятся,но мобы если вы завернули за угол будут вас всё равно "видеть" и ломиться к вам через стену.
Ставим 2 если пачнод присутствует, так же включаем эту настройку:

# Cell-level pathfinding, produces more accurate routes but is (maybe 10x) heavier to calculate. Recommended for small servers at least.
# If False, pathnode files are used. Uses a max number of nodes in calculation which can be adjusted in the algorithm if it needs to be faster.
# Default: False
CellPathFinding = False


Ставим True если хотим более сглаженную работу пачнода,но нагрузка на сервер немного возрастёт,если нет то ничего не меняем.
Пожалуй всё подробно написал,спецы дополняем если что то не учел.

Не забывайте что если вы изменили конфиги при запущенном сервере,то они вступят в силу только после перезапуска сборки.
И строки начинающиеся с "#" никакого значения не имеют, это просто комментарий или один из неактивных вариантов конфигурации.

Автор: Produm

Изменил(а) Warhangel, 05-08-2017 19:54
 Offline
 
Посетить сайт автора
Цитировать
Ответить
Здесь присутствуют: 1 (пользователей: 0, гостей: 1)

« Предыдущая тема | Следующая тема »
 RSS Перейти на форум:
Розыгрыши 728х90

Последние объявления
ФотоЗаголовокГородРазмещено
АО «Карельский окатыш», АО «Олкон» и ООО «Яковлевский ГОК» продают неликвиды
• Хозяйство - Сырье и материалы Цена: 1 1
Другой18.04.2024
(на 1 месяц)
АО «Обуховский завод» реализует неликвиды
• Хозяйство - Сырье и материалы Цена: 1 1
Санкт-Петербург29.03.2024
(на 1 месяц)
Облако тегов тем форума
Биржа Bittrex присоединилась к ограничению торговли XRP, JPMorgan начал обслуживать криптовалютные биржи, Адреналин: счетчик кланов, Знали ли Вы насколько полезна клавиша Win на Вашей клавиатуре?, MAS Сингапура временно освободило криптовалютные компании от получения лицензий, Баг для Lineage 2 «Бьем сами себя», ArcheAge - начало ОБТ корейской версии намечено на ноябрь 2011 года, TERA: Игра выйдет в России, Путь воина, Power Fusion Forum v.2.2.1 Final и php-fusion 7.01, POS - руководство пользователя, Создание сервера CS 1.6 на Linux, Выход корейской версии Lineage M состоится в конце июня, Бегаем без паралича на эвентах, Rising Force Online Баг на руны
Главная Статьи Файлы Форум Ссылки Новости Фотогалерея Объявления Видео Файлобменник Гороскоп Торренты Радио Видеочат
Powered by PHP-Fusion copyright © 2002 - 2024 by Nick Jones. Released as free software without warranties under GNU Affero GPL v3.