Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа с геодатой (https://forum.zone-game.info/forumdisplay.php?f=38)
-   -   Геодвижок (https://forum.zone-game.info/showthread.php?t=22504)

Foru 28.08.2012 04:25

Геодвижок
 
Привет, проблема гео движка. На многих сборках, я заметил играя, за класс камаель при использовании скила Прыжок возле стены, я ее перепрыгиваю, или застреваю, или вовсе проваливаюсь вниз. Искал информацию, в гугле по этому поводу но не, чего интересного не нашол.
Поэтому решил и спросить у вас, я не знатоков в сборке сервера.
По этому у меня к вам есть вопросы.
1) Где находиться, геодвижок интересует, название файлов и конфигурации.
2)Как проверить есть ли он в сборке, и как подключить его.
3) Как исправить, этот полет через стены?

Visor 28.08.2012 11:02

Re: Геодвижок
 
Достаточно исправить 3
В процессе каста найти ветку, где отделяются прыжковые скилы от обычных и перед перемещением чара пакет FlyToLocation( добавить проверку движения к точке с возвратом точки до которой можно двигаться.
Я ответил на вопрос - сможете ли вы это понять - я не знаю.

вопрос 1 - он там есть, конфиг в гейме
вопрос 2 - есть, в конфиге обычно подключается, загрузку гео обычно логирует в stdout

ANZO 28.08.2012 11:11

Re: Геодвижок
 
Достаточно включить геодвиг в сборке, чтобы в стены не летать. Обычно весь конфиг с себя представляет один файлик в папке configs под названием geodata.ini\geodata.properties

Visor 28.08.2012 11:12

Re: Геодвижок
 
Цитата:

Сообщение от ANZO (Сообщение 221588)
Достаточно включить геодвиг в сборке, чтобы в стены не летать.

Не факт, если геодата рабоатет, а в стены летит?
Лучше всегда начинать сначала.

ANZO 28.08.2012 11:14

Re: Геодвижок
 
Если сборь л2ж подобная то там canMove в блинке запилен еще с камаель хроник.

Visor 28.08.2012 11:15

Re: Геодвижок
 
Но он если не ошибаюсь не проверяет двери.
Ну да ладно, ТС-у советов для начала хватит

ANZO 28.08.2012 11:17

Re: Геодвижок
 
Двери вообще как я давно говорил нужно делать отдельным типом клеток в геодвиге. Динамические стены, грубо говоря - и не будет никаких проблем.

Visor 28.08.2012 11:21

Re: Геодвижок
 
Цитата:

Сообщение от ANZO (Сообщение 221592)
Двери вообще как я давно говорил нужно делать отдельным типом клеток в геодвиге. Динамические стены, грубо говоря - и не будет никаких проблем.

Вообще-то это не вы говорили - это еще балансер делал... в любом феникс-овер движке есть.
А насчет л2ж - то нет проблем проверять двери не перестраивая геодату - главное чтобы у дверей были правильные координаты.

Я думаю что теба геодаты еще будет мусолится разработчиками, как и тема дверей.

ANZO 28.08.2012 11:27

Re: Геодвижок
 
Зачем перестраивать?
У нас так:
1) Грузится гео
2) Грузятся дверьки
3) Далее идет обсчет координат дверек и в гео вносятся новые типы блоков, привязанные к состоянию той или иной копии двери.

В итоге получаем динамическую стенку, которая в зависимости от состояния проходима или нет.

У балансера да и вообще в феникс-двигах этот момент реализован крайне ужасно, если даже умудрится повернуть язык на слово "реализовано".

Visor 28.08.2012 11:31

Re: Геодвижок
 
Все это танцы с бубном по большому счету, достаточно знать геометрию школьной программы, чтобы посчитать пересечением линии пути с линией двери.
Вы также ничего не придумали - потому что в фениксах это уже есть, и не так уж плохо там реализовано - есть конечно косяки - но говорить что это ужастно - я бы не стал.

ANZO 28.08.2012 11:46

Re: Геодвижок
 
А зачем создавать еще поверх кучу проверок при передвижении персонажа на соприкосновение с какими-либо плоскостями, если это призвана и должна делать именно система поиска путей, которой, в свою очередь, геодвиг должен возвращать NSWE точки в которой находится игрок с учетом находящихся рядом дверей?
Все рады: геодвиг знает что дверь есть и корректирует AStar с их учетом, а игрок, сколько бы не прыгал и не издевался над этой дверью, как говоривал старик Гендальф, "Не пройдет".

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

Visor 28.08.2012 13:21

Re: Геодвижок
 
Вот делать мне больше нечего)
А что там в ГВ сделанопо дверям - кому нужно посмотрит возьмет.

G1ta0 28.08.2012 13:28

Re: Геодвижок
 
На овере делали по идее дрина, которую они на то время не реализовали, но на данный момент уже успешно спылесосили код из шарного овера. Так что проверки по пересечению "луча" это уже чисто l2j фишка.

rage 28.08.2012 14:13

Re: Геодвижок
 
В фени изначально двери закрывались по гео (в отличии от l2j где пробивалось пересечение с "кубом двери"), не помню уже, что именно правил, но это было по мелочи алгоритм в целом рабочий. Один большой косяк на фени это то, что двери в инстансах не закрывались по гео, а тупо нельзя было ходить стрелочками бггг :D

Foru 28.08.2012 15:06

Re: Геодвижок
 
Добрый день. geodata.ini такой файл есть.
Геодата у меня не подключена. Поскольку у компьютер, слабенький 3 гб оперативной памяти, сервер до конца не загружаеться.
Может это иза того что нету геодаты?
Код:

#===================================================#
# Даный файл является конфигуратором геодаты.      #
#===================================================#
GeodataEnabled = False
GeodataDebug = false
PathfindDebug = false
MultiThreadedLoad = false

GeoFirstX = 11
GeoFirstY = 10
GeoLastX = 26
GeoLastY = 26

# Паттерн для файлов геодаты.
# Файлы что подойдут под паттерн будут считатся файлами геодаты
GeoFilesPattern = (\\d{2}_\\d{2})\\.l2j

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

# Разрешать игроку падать с горизонтальной стены если он кликает по самой стене
AllowFallFromWalls = False

# Движение клавиатурой (стрелочками)
AllowMoveWithKeyboard = True

# оптимизация размещение гео в памяти, экономит около 150Мб памяти
# для оптимизации нужно сначала нужно сгенерировать карты совпадений
# java -Xms1g -Xmx1400m -Xmn192m -XX:PermSize=16m -cp l2rtserver.jar l2rt.debug.benchmark.GeoMatchesGenerator
CompactGeoData = True

# Мобы срезают углы, за счет чего нагрузка падает в несколько раз
# Могут застревать на поворотах и некрасиво обходить деревья
SimplePathFindForMobs = True

# Диагональный поиск. Возможно тратит больше ресурсов.
PathFindDiagonal = True

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

# Сильно ускоряет поиск, как влияет на качество неизвестно
# 0 - отключить, 1 - только начало пути, 2 - начало и конец пути
PathFindBoost = 2

# Максимальная высота ступеньки для поиска пути
PathFindMaxZDiff = 32

# Максимальная высота ступеньки для геодаты
MaxZDiff = 64

# Минимальная разница между слоями
MinLayerHeight = 64

# Базовый вес ячейки
Weight0 = 0.5

# Вес "плохих" клеток первого плана
Weight1 = 2

# Вес "плохих" клеток второго плана
Weight2 = 1

# Настройка буфферов для поиска пути
PathFindBuffers = 8x100;8x128;8x192;4x256;2x320;2x384;1x500

# Прибавка к Z для пакетов
ClientZShift = 16

# Глубина видимости (количество видимых регионов). От 1 и более.
ViewOffset = 1

# Размер региона. Менять с учетом ViewOffset.
DivBy = 2048
DivByForZ = 1024

# Номера квадратов геодаты с вертикальным разделением регионов (густонаселенные многоэтажные локации)
# Cruma Tower, Swamp of Screams, Garden of Eva, Tower of Insolence, Forge of the Gods, Imperial Tomb, Giant's Cave
VerticalSplitRegions = 20_21;22_16;22_25;23_18;25_14;25_15;25_19;24_23

# Отложенный спавн
DelayedSpawn = false

Я крутил эти на стройки на True
Код:

GeodataEnabled = False
GeodataDebug = false
PathfindDebug = false
MultiThreadedLoad = false

Сервер, не запускается до конца.

http://imglink.ru/pictures/28-08-12/...bb3d2966ba.jpg

http://s1.uploads.ru/i/f2irv.png

Zubastic 28.08.2012 15:39

Re: Геодвижок
 
Цитата:

Сообщение от G1ta0 (Сообщение 221627)
На овере делали по идее дрина, которую они на то время не реализовали, но на данный момент уже успешно спылесосили код из шарного овера. Так что проверки по пересечению "луча" это уже чисто l2j фишка.

Када шара астериоса? :redlol:

Добавлено через 1 минуту
Foru, да, из-за этого.

Foru 28.08.2012 16:02

Re: Геодвижок
 
Понятно. У меня геодата весит 800м. Есть ли маленькие, багнутые, гео главное чтобы, запустилось с оперативкой 3 гб, хочу точно в этом убедиться, что это из за геодаты. Хроники Freya.

G1ta0 28.08.2012 18:06

Re: Геодвижок
 
Цитата:

Сообщение от Zubastic (Сообщение 221671)
Када шара астериоса? :redlol:

Уже была, ты опоздал редлолить.

darkevil 28.08.2012 19:27

Re: Геодвижок
 
Цитата:

Сообщение от Foru (Сообщение 221665)
Добрый день. geodata.ini такой файл есть.
Геодата у меня не подключена. Поскольку у компьютер, слабенький 3 гб оперативной памяти, сервер до конца не загружаеться.
Может это иза того что нету геодаты?
Код:

#===================================================#
# Даный файл является конфигуратором геодаты.      #
#===================================================#
GeodataEnabled = False
GeodataDebug = false
PathfindDebug = false
MultiThreadedLoad = false

GeoFirstX = 11
GeoFirstY = 10
GeoLastX = 26
GeoLastY = 26

# Паттерн для файлов геодаты.
# Файлы что подойдут под паттерн будут считатся файлами геодаты
GeoFilesPattern = (\\d{2}_\\d{2})\\.l2j

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

# Разрешать игроку падать с горизонтальной стены если он кликает по самой стене
AllowFallFromWalls = False

# Движение клавиатурой (стрелочками)
AllowMoveWithKeyboard = True

# оптимизация размещение гео в памяти, экономит около 150Мб памяти
# для оптимизации нужно сначала нужно сгенерировать карты совпадений
# java -Xms1g -Xmx1400m -Xmn192m -XX:PermSize=16m -cp l2rtserver.jar l2rt.debug.benchmark.GeoMatchesGenerator
CompactGeoData = True

# Мобы срезают углы, за счет чего нагрузка падает в несколько раз
# Могут застревать на поворотах и некрасиво обходить деревья
SimplePathFindForMobs = True

# Диагональный поиск. Возможно тратит больше ресурсов.
PathFindDiagonal = True

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

# Сильно ускоряет поиск, как влияет на качество неизвестно
# 0 - отключить, 1 - только начало пути, 2 - начало и конец пути
PathFindBoost = 2

# Максимальная высота ступеньки для поиска пути
PathFindMaxZDiff = 32

# Максимальная высота ступеньки для геодаты
MaxZDiff = 64

# Минимальная разница между слоями
MinLayerHeight = 64

# Базовый вес ячейки
Weight0 = 0.5

# Вес "плохих" клеток первого плана
Weight1 = 2

# Вес "плохих" клеток второго плана
Weight2 = 1

# Настройка буфферов для поиска пути
PathFindBuffers = 8x100;8x128;8x192;4x256;2x320;2x384;1x500

# Прибавка к Z для пакетов
ClientZShift = 16

# Глубина видимости (количество видимых регионов). От 1 и более.
ViewOffset = 1

# Размер региона. Менять с учетом ViewOffset.
DivBy = 2048
DivByForZ = 1024

# Номера квадратов геодаты с вертикальным разделением регионов (густонаселенные многоэтажные локации)
# Cruma Tower, Swamp of Screams, Garden of Eva, Tower of Insolence, Forge of the Gods, Imperial Tomb, Giant's Cave
VerticalSplitRegions = 20_21;22_16;22_25;23_18;25_14;25_15;25_19;24_23

# Отложенный спавн
DelayedSpawn = false

Я крутил эти на стройки на True
Код:

GeodataEnabled = False
GeodataDebug = false
PathfindDebug = false
MultiThreadedLoad = false

Сервер, не запускается до конца.

http://imglink.ru/pictures/28-08-12/...bb3d2966ba.jpg

http://s1.uploads.ru/i/f2irv.png

Насоветуют жешь, гео нету и т.п. В логе загрузки видно 208 квадратов гео, а ошибка скорее из за того что не хватает памяти на срвере или выделено мало под яву =\
UPD: Прочел про 3 гига, это мало под фул гео + сервер.

Visor 28.08.2012 19:39

Re: Геодвижок
 
Цитата:

Сообщение от G1ta0 (Сообщение 221627)
На овере делали по идее дрина, которую они на то время не реализовали, но на данный момент уже успешно спылесосили код из шарного овера. Так что проверки по пересечению "луча" это уже чисто l2j фишка.

В л2ж нет никаких расчетов по пересечнию линий

Добавлено через 5 минут
Цитата:

Сообщение от darkevil (Сообщение 221705)
UPD: Прочел про 3 гига, это мало под фул гео + сервер.

У кого как, но в общем мало под сервер

Код:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
17765 l2game    20  0 6508m 1.9g  11m S  2.7 25.7  8:39.29 java

Вот гейм с геодатой, ХФ, ГоД чуток больше.

Foru 28.08.2012 20:36

Re: Геодвижок
 
Придел, больше не тянет
Код:

java -server -Dfile.encoding=UTF-8 -Xms1600m -Xmx1600m -cp lib/*; l2rt.gameserver.GameStart
Надо Linux ставить, и оперативку покупать.

darkevil 28.08.2012 21:34

Re: Геодвижок
 
Цитата:

Сообщение от Visor (Сообщение 221708)
В л2ж нет никаких расчетов по пересечнию линий

Добавлено через 5 минут

У кого как, но в общем мало под сервер

Код:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
17765 l2game    20  0 6508m 1.9g  11m S  2.7 25.7  8:39.29 java

Вот гейм с геодатой, ХФ, ГоД чуток больше.

На боевом сервере :)

http://bladensoul.ru/scrupload/i/df7b52.png

Foru 28.08.2012 21:53

Re: Геодвижок
 
Цитата:

Сообщение от darkevil (Сообщение 221756)
На боевом сервере :)

http://bladensoul.ru/scrupload/i/df7b52.png

Ну норм. 16GB вполне достаточно будет, для среднего проекта.
А для теста, и 6-8 gb сойдет)

Visor 29.08.2012 00:16

Re: Геодвижок
 
У меня для рабочего проекта на 1 гейм 8Гб памяти с головой (больше 3Гб гейм не забирает, обычно 2-2.5Гб), на тест 4Гб достаточно. На 16Гб можно 2-3 гейма запустить - и дискомфорта игрокам не будет. Для 300 онлайна можно на нотике запустить - будет бегать легко. Ява может и хорошо работать.

Foru 29.08.2012 00:35

Re: Геодвижок
 
Цитата:

Сообщение от Visor (Сообщение 221789)
У меня для рабочего проекта на 1 гейм 8Гб памяти с головой (больше 3Гб гейм не забирает, обычно 2-2.5Гб), на тест 4Гб достаточно. На 16Гб можно 2-3 гейма запустить - и дискомфорта игрокам не будет. Для 300 онлайна можно на нотике запустить - будет бегать легко. Ява может и хорошо работать.

16GB На 2 проекта.
Мне как начинающему, полезна такая информация, думаю можно найти, что то бюджетное в пределах 100 Евро с 16Гигами на два сервера)
Не знал, Спасибо.

Visor 29.08.2012 00:58

Re: Геодвижок
 
Цитата:

Сообщение от Foru (Сообщение 221793)
16GB На 2 проекта.
Мне как начинающему, полезна такая информация, думаю можно найти, что то бюджетное в пределах 100 Евро с 16Гигами на два сервера)
Не знал, Спасибо.

Это от сборки зависит, насколько экономично работает, и насколько велики утечки памяти.

Foru 29.08.2012 01:05

Re: Геодвижок
 
Цитата:

Сообщение от Visor (Сообщение 221796)
Это от сборки зависит, насколько экономично работает, и насколько велики утечки памяти.

Планировал, ставить не слишком громоздкие, сборки.
А так, по скромному Freya и Gracia-(Интерлюд).
С самими сборками, еще не определился пока не знаю, что и выбрать даже.
А по поводу утечки памяти, вот это уже интересно. Я видел на многих фришках, делают рестарт, раннем утром. Я так понимаю, это делают и за утечки памяти?

А так что посоветуешь, экономичное из шары желательно с сорцами.

Zubastic 29.08.2012 02:13

Re: Геодвижок
 
Цитата:

Сообщение от G1ta0 (Сообщение 221698)
Уже была, ты опоздал редлолить.

Чета загуглил, не нашел. Последняя в 2011 же была?

Gaikotsu 03.09.2012 12:08

Re: Геодвижок
 
Цитата:

Сообщение от Foru (Сообщение 221737)
Придел, больше не тянет
Код:

java -server -Dfile.encoding=UTF-8 -Xms1600m -Xmx1600m -cp lib/*; l2rt.gameserver.GameStart
Надо Linux ставить, и оперативку покупать.

а использовать х64 Java, где можно и намного большие объемы задавать, религия не позволяет?

LineOFWar 04.09.2012 20:23

Re: Геодвижок
 
Цитата:

Сообщение от ANZO (Сообщение 221595)
Зачем перестраивать?
У нас так:
1) Грузится гео
2) Грузятся дверьки
3) Далее идет обсчет координат дверек и в гео вносятся новые типы блоков, привязанные к состоянию той или иной копии двери.

В итоге получаем динамическую стенку, которая в зависимости от состояния проходима или нет.

У балансера да и вообще в феникс-двигах этот момент реализован крайне ужасно, если даже умудрится повернуть язык на слово "реализовано".

добавлю немного перца))))) У вас так может и так только ничего не работает)))Пред история можно пропустить: сегодня у вас на сервере три бравых чара пошли значит в цитадель заходим значит в нутырь а мобов с которых падает ключ чтоб двери в лабиринте открывать нету:( думаем печаль надо пати рекол, но вот с нами был одал сообразительный который в зял и опрокинул меня у двери и я упал за нее а потом сам прыгнул мне за спину)) вот вам и задача на подумать)))

linliss 04.09.2012 21:39

Re: Геодвижок
 
Цитата:

Сообщение от LineOFWar (Сообщение 224139)
добавлю немного перца))))) У вас так может и так только ничего не работает)))Пред история можно пропустить: сегодня у вас на сервере три бравых чара пошли значит в цитадель заходим значит в нутырь а мобов с которых падает ключ чтоб двери в лабиринте открывать нету:( думаем печаль надо пати рекол, но вот с нами был одал сообразительный который в зял и опрокинул меня у двери и я упал за нее а потом сам прыгнул мне за спину)) вот вам и задача на подумать)))

вот это фейл:(

ANZO 04.09.2012 22:36

Re: Геодвижок
 
Цитата:

Сообщение от LineOFWar (Сообщение 224139)
добавлю немного перца))))) У вас так может и так только ничего не работает)))Пред история можно пропустить: сегодня у вас на сервере три бравых чара пошли значит в цитадель заходим значит в нутырь а мобов с которых падает ключ чтоб двери в лабиринте открывать нету:( думаем печаль надо пати рекол, но вот с нами был одал сообразительный который в зял и опрокинул меня у двери и я упал за нее а потом сам прыгнул мне за спину)) вот вам и задача на подумать)))

Как бы на ХБ у нас нету гео :D

KilRoy 04.09.2012 23:24

Re: Геодвижок
 
А разве ХБ в ГоД есть О_о?

LineOFWar 05.09.2012 14:45

Re: Геодвижок
 
Цитата:

Сообщение от KilRoy (Сообщение 224171)
А разве ХБ в ГоД есть О_о?

а куда оно делось? белеф как был так и есть:) просто выпилили все квесты с открытием так как апдейты шьют под старые сервера а там уже давно все открыто

Добавлено через 4 минуты
Цитата:

Сообщение от ANZO (Сообщение 224162)
Как бы на ХБ у нас нету гео :D

как бы это косяк:D в итоге из эпик бижи реально работает только истхина , октавис , ак, коре, орфен :) на баюм квест не пашет,к закену зашли бочки то есть то нету хз как его вызвать,к фреи не пускает диалог не прописан(ну или тупо нет) с фринтой также.к тарасу зашли 2 часа прождали он не проснулся))) а валик деревянный...


Текущее время: 21:34. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot