PDA

Просмотр полной версии : mmaps redux


KiriX
22.08.2010, 14:56
Автор: faramir118 (http://getmangos.com/community/member.php?u=51097)
Оригинальная тема: http://getmangos.com/community/showthread.php?t=13557

В общих словах - реализует поиск пути мобами, что делает их движение более реалистичным.
Наглядно можно посмотреть тут: http://www.youtube.com/watch?v=Vm3Fo1Pfed4

Репозиторий тут: http://github.com/faramir118/mangos/tree/mmaps_rewrite

Компилируем мангос. Перекомпилируем экстрактор карт (ad.exe), и экстрактор и ассемблер для vmaps (vmapExtractor3.exe и vmap_assembler.exe). Переизвлекаем maps и vmaps. Перемещаем их в папку с сервером. Компилируем экстрактор mmaps (MoveMapGen.exe), кидаем его в папку с сервером (куда уже поместили свежеизвлечённые maps и vmaps), создаём папку mmaps и запускаем MoveMapGen.exe.
Ждём (!!!очень долго!!!) - должна получится очень внушительная по объёму папка.

Давно не обновлялось, я тут соорудил патчик, но там есть пара ошибок, которые я правил потом уже непосредственно в компиляторе. Для тех, у кого в голове находится то, что должно находиться - проблемы поправит не составит. Остальные пусть ждут - позже может поправлю...
И ещё, до кучи выложу новые экстаркторы, чтоб вам не надо было их перекомпилировать самим.

Патч под 11408 в аттаче.

Пост с ссылками на уже извлечённые карты. (http://ru-mangos.ru/showpost.php?p=13023&postcount=28)

KiriX
22.08.2010, 19:55
Ага... Протестировал =)
Видео на YouTube не врёт =) Правда? клёво получается и красиво всё выглядит =)
У меня ушло 2-3 часа, т.к. я извлекал, как оказалось, версию по умолчанию, которая не содержит данных об континентах - только инсты и арены. Если использовать только инсты и арены - это вообще мелочи, т.к. папка в таком случае весит всего 262Мб, что совершенно не напряжно.
Сейчас переизвлекаю "полную" версию... Кстати, прилагаю к аттачу скомпилированный MaveMapGen + батник к нему, который будет генерить полную версию mmaps.

srv38
23.08.2010, 10:53
У меня часов 5 считал потом вывалился с ошибкой!

D:\Games\WoW Wotlk 3.3.5a>md mmaps

D:\Games\WoW Wotlk 3.3.5a>MoveMapGen.exe --hiResHeightmaps true --skipContinents
false
Building map 000:
We have 687 tiles.
Complete!

Building map 001:
We have 988 tiles.
[43,18]: Aggregating mesh data...
__________________________________________________ _
Error
An internal error has occured in this program and it will now close. The specif
ic error is below. More information has been saved in "log.txt".
Memory manager returned NULL: out of memory?

Expression: data
e:\test\rsa-10392\dep\include\g3dlite\G3D/Array.h:154


Press any key for 'Ok'...

В log.txt следующее

Application Log
Start: Mon Aug 23 14:42:14 2010


**************************

Critical Error - MoveMapGen.exe
Memory manager returned NULL: out of memory?



Expression: data

e:\test\rsa-10392\dep\include\g3dlite\G3D/Array.h:154

Konctantin
23.08.2010, 10:59
эта ошибка присутствует давно, кстати, она должна выскакивать при обработке карты калимдора (001), можно ее пропустить и пойти дальше, насколько мне не изменяет память, этот участок не критичен, так как это пустая карта.

KiriX
23.08.2010, 11:08
эта ошибка присутствует давно, кстати, она должна выскакивать при обработке карты калимдора (001), можно ее пропустить и пойти дальше, насколько мне не изменяет память, этот участок не критичен, так как это пустая карта.
Дак дело в том, что экстрактор после этого закрывается...

tester20
23.08.2010, 11:11
эта ошибка присутствует давно, кстати, она должна выскакивать при обработке карты калимдора (001), можно ее пропустить и пойти дальше, насколько мне не изменяет память, этот участок не критичен, так как это пустая карта.

незнаю связано ли, но в калимдоре,
если сагрить в пещере моба(например http://ru.wowhead.com/npc=2038) и взлететь моб будет судорожно искать путь до меня пока серв не упадет с http://getmangos.com/community/showthread.php?t=13557&p=119526&viewfull=1#post119526

в эльвине также есть места которые крашат

Konctantin
23.08.2010, 11:22
Дак дело в том, что экстрактор после этого закрывается...
ем, запустить его с параметрами: карта Х У

незнаю связано ли, но в калимдоре,

Я тестировал еще до того как были старые вмапсы. и при извлечении была такая проблема. Но так как я не извращался:
если сагрить в пещере моба(например http://ru.wowhead.com/npc=2038)
поэтому не видел, чтоб моб судоржно искал путь и крашил сервер

KiriX
23.08.2010, 14:39
Нормально извлеклось всё без дополнительного улучшающего ключа.
Батник второй версии в аттаче.

srv38
23.08.2010, 15:48
Какой объем папки "mmaps" получился в итоге?, в байтах если можно :).

BombermaG
23.08.2010, 20:15
Памяти, наверно, ого-го кушает?

KiriX
23.08.2010, 20:19
Сейчас доделываются без ключа.
Пообщались неного на гетмангос с фарамиром - нашли два бага и утечку памяти =)
Сейчас перекомпилю и выложу новый экстрактор mmaps =)
Нет, памяти кушает весьма скромно =)

added Подправленный "извлекатор" и батник к нему (для извлечения полных ммапсов) в аттаче.

added2 Батником из 8 поста извлеклись все карты. Всего файлов в папке: 3814; Общий размер: 1,08Гб Сегодня ночью поставлю на извлечение с доп.параметром... Карты эти, кстати, хорошо жмутся 7z'ом...

added3 Работает отлично. Увеличения нагрузки не заметил (естественно... для проверки этого требуется большой онлайн...). Минус пока один - моб на игрока бежит как надо, но если включить ГМ режим - возвращается сквозь все препятствия тупо по прямой в точку спавна...

evilstar
24.08.2010, 01:08
Минус пока один - моб на игрока бежит как надо, но если включить ГМ режим - возвращается сквозь все препятствия тупо по прямой в точку спавна...
И при обычных спеллах вроде фд тоже также?

KiriX
24.08.2010, 01:18
И при обычных спеллах вроде фд тоже также?
О! Интересный момент - не тестировал =) Завтра скажу =)
Да, при ФД будет тот же случай, ведь суть в обоих одна - моб уходит в эвейд.
Ф мне напомнило, что будет интересно зафирить моба =)
Пояснение дал Фарамир. В случаях когда путь невозможно найти (по каким-то причинам) - моб будет вести себя также как и при стандартной мангос-системе.

brainreaver
24.08.2010, 01:32
в этих ммапах хоуммовементгенератор работает по старому принципу - без поиска пути. Надо переписывать. Так же как и вейпойнт и поинт.

что касается нагрузки на проц\память, то она незначительна :)

вообще, это однозначно прорыв в эмуляции :)

KiriX
24.08.2010, 12:26
в этих ммапах хоуммовементгенератор работает по старому принципу - без поиска пути.
Видео на ютубе свидетельствует об обратном =) Скорее всего отключили и включат позже.

srv38
24.08.2010, 12:43
У меня карты извлекаются уже 7-й час :), и вот такие вещи норма?
Building map 558:
We have 4 tiles.
ERROR:StaticMapTree::UnloadMapTile(): Trying to unload non-loaded tile. Map:558
X:31 Y:31
ERROR:StaticMapTree::UnloadMapTile(): Trying to unload non-loaded tile. Map:558
X:31 Y:32
ERROR:StaticMapTree::UnloadMapTile(): Trying to unload non-loaded tile. Map:558
X:32 Y:31
ERROR:StaticMapTree::UnloadMapTile(): Trying to unload non-loaded tile. Map:558
X:32 Y:32
Complete!

Konctantin
24.08.2010, 12:45
это нормально, означает что тайлы пустые или что-то в этом духе...

NeatElves
24.08.2010, 12:46
Вы бы оригинал тему почитали - http://getmangos.com/community/showthread.php?t=13557&p=122847&viewfull=1#post122847 )

brainreaver
24.08.2010, 13:00
Видео на ютубе свидетельствует об обратном =) Скорее всего отключили и включат позже.

в данный момент поиск пути написан только для таргетет мовемент генератор. Видео на ютубе слишком устарело.

KiriX
24.08.2010, 13:58
Ошибки нормальны. 7 часов - тоже нормально - у меня приблизительно столько же, но в дневное время - с загруженным компом. + вышла обнова - там оптимизирован экстрактор и убрано большое количество утечек памяти в нём.
brainreaver, я об этом и говорил - это было реализовано, но в последних ревах по какой-то причине отключено. Как я понял позицию автора, в будущем mmaps будет возможно вообще отключать как и vmaps, а возврат домой явно будет сделан с использованием паффайндера.

brainreaver
24.08.2010, 14:02
оно отключено не в последних ревизиях :)
я mmaps использую уже давно, и реализации возвращения с поиском пути в этой версии ммапов не было.
Но ее очень легко прикрутить самому.

KiriX
24.08.2010, 14:31
Но ее очень легко прикрутить самому.
Я тоже уже об этом думал, но если ты поделишься, уверен, получишь глубочайшую благодарность и признательность =)

brainreaver
24.08.2010, 17:47
у меня не мангос и не 3.3, могу отправить на почту файл с прикрученным поиском пути, а ты сам его подгонишь.

KiriX
24.08.2010, 19:41
у меня не мангос и не 3.3, могу отправить на почту файл с прикрученным поиском пути, а ты сам его подгонишь.
Дак давай - буду признателен. Всё же не с нуля.

brainreaver
24.08.2010, 23:12
вот ссылка на архив с homeMovementGenerator
там же пример, как можно сделать ммапы отключаемыми через конфиг :)
.:: Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 300 сообщение(ий)) ::.

KiriX
24.08.2010, 23:32
Отлично - автору не хочешь предложить? Отключаемость в конфиге он 100% делать собирается.

brainreaver
24.08.2010, 23:37
да можно в принципе, но я хочу сначала сделать PF для PointMG и WaypointMG

srv38
25.08.2010, 07:46
Если кому лень генерить выложил для 3.3.5а:

mmaps.7z (299 МБ) (http://narod.ru/disk/24068319000/mmaps.7z.html)
dbc.7z (5.6 МБ) (http://narod.ru/disk/24068336000/dbc.7z.html)
maps.7z (132МБ) (http://narod.ru/disk/24068689000/maps.7z.html)
vmaps.7z (161MB) (http://narod.ru/disk/24068436000/vmaps.7z.html)

KiriX
29.08.2010, 13:37
Обновил под 10420 (теперь всё включено, самому править ничего не надо - всё и так должно нормально скомпилироваться).
Во второй архив включены перекомпилированные экстракторы maps и vmaps + сам экстрактор mmaps с батником в трёх исполнениях:
1) Полное извлечение
2) Полное извлечение без улучшающего параметра
3) Простое извлечение (только арены и интсы) без улучшающего параметра.

В новой версии патча улучшено нахождение пути, оптимизации, убраны утечки памяти в экстракторе mmaps.
Всё в первом посту!

tempura
29.08.2010, 17:31
сорри... а результаты тестов последней версии есть? :)

KiriX
29.08.2010, 18:23
сорри... а результаты тестов последней версии есть? :)
Собираются =) Хуже во всяком случае точно не стало =)))

rsa
29.08.2010, 18:54
Стало. Я бросил пока эту идею, ядро с ботами больше 3 часов с ним не стоит...

brainreaver
31.08.2010, 06:15
а крашдампов нет?

brainreaver
31.08.2010, 07:42
в pathfinder.cpp похоже ошибка
вместо
if(!m_navMeshQuery)
{
m_navMeshQuery = dtAllocNavMeshQuery();
m_navMeshQuery->init(m_navMesh, 2048);

if(!m_navMesh)
{
shortcut();
return;
}
}
должно быть по идее
if(!m_navMeshQuery)
{
m_navMeshQuery = dtAllocNavMeshQuery();
m_navMeshQuery->init(m_navMesh, 2048);

if(!m_navMeshQuery)
{
shortcut();
return;
}
}

LordJZ
31.08.2010, 08:57
Если у вас (!m_navMeshQuery) то до if(!m_navMeshQuery) исполнение кода не дойдет. Если, конечно, функция init не удаляет результат dtAllocNavMeshQuery(), что, конечно, крайне нелогично

brainreaver
31.08.2010, 09:59
if(!m_navMesh)
{
m_navMesh = m_sourceObject->GetMap()->GetNavMesh();

if(!m_navMesh)
{
shortcut();
return;
}
}

if(!m_navMeshQuery)
{
m_navMeshQuery = dtAllocNavMeshQuery();
m_navMeshQuery->init(m_navMesh, 2048);

if(!m_navMesh)
{
shortcut();
return;
}
}
по идее, если !m_navMesh, то до if(!m_navMeshQuery) дело не дойдет, и нам не нужно второй раз проверять if(!m_navMesh)

BloodWarrior
01.09.2010, 05:56
KiriX как понимаю вы давно собираете и тестите у себя ммапы.
Сам хотел на них посмотреть, но сейчас собрать не могу, мощный комп сгорел а на этом дереве п4-2ггц и 768 оперы они собираться будут только незнаю сколь а потом еще и не запустится вся конструкция.


Интересует зона - тюрьма штормграда, в особенности поведение неписей, именно после срабатывания аи скрипта при низком количестве хп у оных.

Если не трудно в виде видео, буду очень благодарен)
Все таки неписей много и интересна система их поведения при такой кучности.

Скажем первая одна или 2 комнаты - лево право + аое скилл, чтобы сбить хп сразу у большого количества нпс на значение активации скрипта.

KiriX
01.09.2010, 08:51
Т.е. интересует работа скрипта, когда НПС спасается бегством?
25 ACTION_T_FLEE_FOR_ASSIST No Params Causes the creature to flee for assistence (often at low health).

BloodWarrior
01.09.2010, 09:08
Да именно она и интересует.
Лучший пример для этого и есть Тюрьма Штормграда))

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

Прям интересно было бы пронаблюдать этот момент но собрать сейчас не могу))
Или ждать пока новую машину соберу - до зарплаты или попросить здесь сидящих и тестящих.

Если брать касательно конструкции стокад именно, то видео на примере одной из 4х комнат было бы думаю достаточно, буквально после захода в первой из комнат находятся порядка 4 нпс, левая правая без разницы главное ближайшая.

Нанести им положенно урона чтоб за ассистами побежали, и собственно пронаблюдать работу как оное будет происходить.
Ведь на выборе стоят 3 комнаты рядом, в каждой из которых достаточно таких-же нпс.

Ну в общем поведения данного скрипта в условиях этого участка на ммап интересует)

Буду благодарен)

brainreaver
01.09.2010, 11:51
Интересно было бы понаблюдать поиск пути убегающих неписей, целого табуна, при условии что они не просто возвращаются на свое место, а ищут близлижащих союзников своей фракции, для передачи агро на игрока.


это PointMovementGenerator, в данное время не реализовано никак.

Konctantin
05.09.2010, 13:46
исправлен и оптимизирован поиск пути
http://github.com/faramir118/mangos/commits/

KiriX
05.09.2010, 14:27
исправлен и оптимизирован поиск пути
http://github.com/faramir118/mangos/commits/
Ох! Да там много сделано! Множественные клеанапы, оптимизации, устранение варнингов, codestyle + реализован механизм паффайндинга для HomeMovementGenerator. Приеду - обновлю первый пост.

brainreaver
06.09.2010, 12:43
похоже память после обновления рекаста и детура течет вовсю...

KiriX
06.09.2010, 12:48
похоже память после обновления рекаста и детура течет вовсю...
Хм... Там наоборот память и ресы проца должны освободиться...
Но сам я ещё не тестировал...

vEviLeon
08.09.2010, 06:59
И зачем сие нужно? ;)diff --git a/src/shared/vmap/MapTree.cpp b/src/shared/vmap/MapTree.cpp
index 5e34061..8ea449f 100644
--- a/src/shared/vmap/MapTree.cpp
+++ b/src/shared/vmap/MapTree.cpp
@@ -386,7 +386,7 @@ namespace VMAP
#ifdef VMAP_DEBUG
if (referencedVal > iNTreeValues)
{
- DEBUG_LOG("invalid tree element! (%u/%u)", referencedVal, iNTreeValues);
+ DEBUG_LOG("invalid tree element! (%u/%u)", referencedVal, iNTreeValues);dd42b44
continue;
}
#endif

KiriX
08.09.2010, 10:31
Спасибо, отправил автору =)

brainreaver
08.09.2010, 10:37
KiriX,
typo :)
откатился на старую версию Детура и старый PathFinder - память больше не течет.

KiriX
08.09.2010, 13:09
KiriX,
typo :)
откатился на старую версию Детура и старый PathFinder - память больше не течет.
Я сразу поправил =) Сначала пишу, потом часто отправляю, сверяюсь с гуглишем и правлю.
Откатываться - не вариант - надо исправлять мемори-лейки. Кстати, на чём тестируешь (ОС)?

Aspro345
08.09.2010, 14:06
KiriX, не могли бы вы выложить распакованные карты? :)

KiriX
08.09.2010, 14:08
KiriX, не могли бы вы выложить распакованные карты? :)
Выше по теме добрый человек выложил уже...
Внимательнее, пожалуйста, читайте... И читайте всю тему...

Aspro345
08.09.2010, 14:13
количество карт в папке играет особо важную роль? у доброго человека их около 3504, у меня получилось всего 1300) в посту 11 вы написали, что должно быть 3814...

brainreaver
08.09.2010, 14:51
Я сразу поправил =) Сначала пишу, потом часто отправляю, сверяюсь с гуглишем и правлю.
Откатываться - не вариант - надо исправлять мемори-лейки. Кстати, на чём тестируешь (ОС)?

centOS
мне искать утечки несколько неудобно, т.к. я представления не имею как это делается :) Да и это несколько не мой профиль. Уж лучше подожду с обновлением.

количество карт в папке играет особо важную роль? у доброго человека их около 3504, у меня получилось всего 1300) в посту 11 вы написали, что должно быть 3814...

3915 с учетом континентов, арен и БГ для клиента 3.2
чтобы извлечь ВСЕ карты, нужно написать --skipContinents false --skipBattlegrounds false

кстати, тот алгоритм поиска пути, что сейчас на ГИТе, натворил бед с петами: они некорректно следуют за владельцем, а если владелец прыгнет в воду - просто стоят на месте, пока не подзовешь или не выйдешь на берег. Последний патч qsa не проверял, т.к. решил временно прекратить эксперименты с новым поиском пути.

KiriX
08.09.2010, 15:11
Последний, ещё не принятый патч я тоже не проверял, но проблем с пэтами не обнаруживал пока.
Меморилейки на таких осях могут быть, в то время как на винде их нет - я тестирую на винде, никаких утечек не замечаю.
По поводу карт, чтобы решить стоит ли заморачиваться - можно поставить то, что есть, если какой-то карты не будет - там попросту не будет работать поиск пути и мобы будут вести себя как и раньше.
Количество и вес карт зависит от того с какими ключами карты извлекались.
У меня сервер почему-то вообще не ругался с этим патчем, хотя папки mmaps рядом не было вовсе - хз, где я и как накосячил =)

Redram886
29.10.2010, 17:49
Патч под 10420 в аттаче....
Будет ли этот патч обновляться до последних ревизий ядра? Или в этом нет необходимости? Тогда до какой ревизии Mangos патч будет актуален? Заранее спасибо.

Namynnuz
29.10.2010, 18:45
Тогда до какой ревизии Mangos патч будет актуален?
Логично предположить, пока не будет изменений в используемых классах. Когда конкретно это произойдет знает только тот, кто оставляет коммит.

KiriX
29.10.2010, 19:09
Ну там уже были обновления, но после них часто с этим патчем стало падать. Я отказался от него пока и поэтому дифф не делаю. Все необходимые ссылки есть в первом посту - можете сами сделать дифф...

rsa
29.10.2010, 20:03
если кому надо - то у Карателя вторым бранчем вполне поддерживаемая линия с mmaps.

Redram886
30.10.2010, 06:51
если кому надо - то у Карателя вторым бранчем вполне поддерживаемая линия с mmaps.

Ссылку на репозиторий можешь кинуть?

Taumer
30.10.2010, 07:46
держи (http://github.com/insider42/mangos/tree/335_mmaps)

Redram886
30.10.2010, 17:47
Еще раз пасибо за репо Карателя. Скомпилировал, mmaps установил, но как - то криво они работают даже здесь. НАчал тестировать с игры за ночных эльфов. ТАк вот, в стартовой локации есть большое дерево. Когда забираешься по дорожке которая идет вдоль ствола к вершине, можно увидеть выступы, в которых находятся помещения ввиде домикав с крышами. Сама же дорожка огорожена с одной стороны изгородью. Так вот, вбив себе ГМа и вооруживщись петом я стал подниматься по дорожке к вершине дерева и перепрыгнув через изгорорь приземлился на крышу этого домика. В это время пет начал судорожно метаться, незная что ему делать и куда ему идти. Наконец он, видимо, нашел путь и начал сбегать по дорожке к низу дерева до тех пор, пока не оказался на столько далеко, что просто изчез о_О

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

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

Забугорные девы мангос как - то работают на cillide системой?

Insider42
30.10.2010, 19:27
после чего сервер упал.
дамп?

Redram886
31.10.2010, 07:32
Insider42, к сожалению ума не хватило дамп сохранить. После того, как упал сервер, я просто напросто психанул удалил всю папку целиком, не пожалев времени и mmaps даже не сохранив.
В качестве компенсации за тупость, я на неделе заново все сделаю и буду с особой тщательностью и цинизмом проверять работу collide системы.

KiriX
31.10.2010, 09:42
Падает жутко именно последние версии ммапс - раньше краши были из-за него, но очень редкие. Сейчас - через чур частые, мне пришлось отказаться от этого патча =(

Insider42
31.10.2010, 14:16
Вместо того, чтобы отказываться лучше отследить причину падений и её устранить.

Redram886
02.11.2010, 12:46
нет, нет, нет!!! не от чего отказываться не надо!!! я помню еще года 3 назад на старом форуме только начинались разговоры о геодате, но тогда и близко не мог ее реализовать! а теперь же есть попытки и есть "опытные образцы". Забросить все это - означает встать на начало пути.

KiriX
02.11.2010, 16:08
Вместо того, чтобы отказываться лучше отследить причину падений и её устранить.
Да я в курсе =) Просто пока не было времени в дебаге собрать и всю эту дрянь отловить =)

Insider42
05.11.2010, 14:23
незнаю что у вас там за проблемы с крашами были, стоит этот патч + ещё много других патчей (ибо форк). Аптайм при 200 онлайна по ~10 часов. Причем если учесть что у меня ниединой затычки для каких-либо крашей. Упало только 2 раза и оба было, на mmaps, оба дампа отправлены автору, и судя по всему первый уже исправлен.

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

KiriX
05.11.2010, 14:38
незнаю что у вас там за проблемы с крашами были, стоит этот патч + ещё много других патчей (ибо форк). Аптайм при 200 онлайна по ~10 часов. Причем если учесть что у меня ниединой затычки для каких-либо крашей. Упало только 2 раза и оба было, на mmaps, оба дампа отправлены автору, и судя по всему первый уже исправлен.

Есть проблемы с евэйдом мобов в некоторых локациях - они выходят из боя "не успевая войти в него", но этот баг только на сервере под линуксом, на том же ядре под виндой всё оки.
Ну это было уже достаточно давно, может сейчас действительно этого бага нет.

KiriX
05.11.2010, 16:42
Залил в аттач первого поста последную версию в виде патча, также обновил все экстракторы.
В последней версии появилась возможность отключать mmaps, однако даже в выключенном положении серверу для запуска всё-равно нужна папка с извлечёнными mmaps, но в игре, в случае выключения, функционал mmaps использоваться не будет.

DiffuSer
05.11.2010, 17:57
Под репозиторий rsa никто не подгонял?

madbroths
05.11.2010, 19:12
А какова нагрузка на железо?

KiriX
05.11.2010, 19:26
DiffuSer, там подгонять нечего...
madbroths, да вроде увеличение совсем небольшое...

rsa
05.11.2010, 19:36
ну как сказать небольшое... раза в 2 на проц и память, раза в полтора на дисковую. если ЛА 0,2 то можно пробовать, если выше - упретесь в железо.

Insider42
05.11.2010, 19:42
для запуска всё-равно нужна папка с извлечёнными mmaps, но в игре, в случае выключения, функционал mmaps использоваться не будет.

неа, можно пустой каталог ему подсунуть. он просто не будет загружать mmaps которых нет :secret:
можно, например, держать файлы mmaps только для тех карт, на которых вам нужна эта фича.

madbroths
05.11.2010, 20:11
Пробовал накатывать на RSA репо. Ошибки есть, но их вроде 3-4. Подогнать можно быстро

KiriX
05.11.2010, 20:41
ну как сказать небольшое... раза в 2 на проц и память, раза в полтора на дисковую. если ЛА 0,2 то можно пробовать, если выше - упретесь в железо.
Ну может быть, у ми нет производственного сервера, где можно было бы видеть нагрузка, а для меня незаметно совсем =)
Да, на rsa исходники накатывается легко. Если мозг есть - собрать не проблема.

Insider42
05.11.2010, 20:48
Да, на rsa исходники накатывается легко.

На мои ещё легче :P 2 конфликта всего...

При моем онлайне в 150-200 чел разницы в нагрузке особой не увидел, 3.3.3 по-моему намного больше лагал чем 3.3.5 с mmaps =)))

Кстати сегодня сервер не падал ниразу :/

KiriX
05.11.2010, 20:52
На мои ещё легче :P 2 конфликта всего...

При моем онлайне в 150-200 чел разницы в нагрузке особой не увидел, 3.3.3 по-моему намного больше лагал чем 3.3.5 с mmaps =)))

Кстати сегодня сервер не падал ниразу :/
Ну я тогда хз, какой должен быть онлайн, чтобы заметно стало, или у тя серверная машинка пентагона? =)
Начальные версии ммапс действительно сильно нагружали, но потом всё очень сильно оптимизировали. Нагрузка, как мне кажется, равносильно что включить или отключить вмапс...

DiffuSer
05.11.2010, 22:43
<<<<<<< HEAD
void Unit::MonsterJump(float x, float y, float z, float o, uint32 transitTime, uint32 verticalSpeed)
{
SendMonsterMove(x, y, z, SPLINETYPE_NORMAL, SplineFlags(SPLINEFLAG_TRAJECTORY | SPLINEFLAG_WALKMODE), transitTime, NULL, double(verticalSpeed));
=======
void Unit::MonsterMoveByPath(float x, float y, float z, uint32 speed, bool smoothPath)
{
PathInfo path(this, x, y, z, !smoothPath);
PointPath pointPath = path.getFullPath();

uint32 traveltime = uint32(pointPath.GetTotalLength()/float(speed));
MonsterMoveByPath(pointPath, 1, pointPath.size(), traveltime);
}

template<typename PathElem, typename PathNode>
void Unit::MonsterMoveByPath(Path<PathElem,PathNode> const& path, uint32 start, uint32 end, uint32 transitTime)
{
SplineFlags flags = GetTypeId() == TYPEID_PLAYER ? SPLINEFLAG_WALKMODE : ((Creature*)this)->GetSplineFlags();
SendMonsterMoveByPath(path, start, end, flags, transitTime);
>>>>>>> 38faa3dae7328159086d5d5a3f9bff1ab87c94b1

if (GetTypeId() != TYPEID_PLAYER)
{
Creature* c = (Creature*)this;
// Creature relocation acts like instant movement generator, so current generator expects interrupt/reset calls to react properly
if (!c->GetMotionMaster()->empty())
if (MovementGenerator *movgen = c->GetMotionMaster()->top())
movgen->Interrupt(*c);

<<<<<<< HEAD
GetMap()->CreatureRelocation((Creature*)this, x, y, z, o);
=======
GetMap()->CreatureRelocation((Creature*)this, path[end-1].x, path[end-1].y, path[end-1].z, 0.0f);
>>>>>>> 38faa3dae7328159086d5d5a3f9bff1ab87c94b1

// finished relocation, movegen can different from top before creature relocation,
// but apply Reset expected to be safe in any case
if (!c->GetMotionMaster()->empty())
if (MovementGenerator *movgen = c->GetMotionMaster()->top())
movgen->Reset(*c);
}
}

<<<<<<< HEAD
=======
template void Unit::MonsterMoveByPath<PathNode>(const Path<PathNode> &, uint32, uint32, uint32);

>>>>>>> 38faa3dae7328159086d5d5a3f9bff1ab87c94b1
Подскажите, как разрешить конфликт? Накатываю mmaps на rsa-репо.

DiffuSer
05.11.2010, 23:11
Вроде разобрался с конфликтами, но теперь проблема - он мне создает папки x64 при компиляции и в каталоге Detour/win/VC90 и в win/VC90, куда кладет Detour.lib, а при компиляции ругается, что не может открыть, собственно, Detour.lib. Мержил с faramir118-репо, что я делаю не так?

KiriX
05.11.2010, 23:31
Вот тут я точно не помощник - собираю под 32 =)

DiffuSer
05.11.2010, 23:52
Черт, а в x32 выявилась ошибка моего слияния - ругается на MonsterJump, я его заменил на кусок из mmaps. Помогите, как разрешить конфликты в Unit.cpp при слиянии с rsa-репо.

LordJZ
06.11.2010, 00:40
Черт, а в x32 выявилась ошибка моего слияния - ругается на MonsterJump, я его заменил на кусок из mmaps. Помогите, как разрешить конфликты в Unit.cpp при слиянии с rsa-репо.x32? Круто!

DiffuSer
06.11.2010, 02:01
Всё, одолел, скомпилилось, завтра тестить буду.

KiriX
06.11.2010, 19:16
Мдямс... Поставил после долгого перерыва - краш каждые 2-4 часа. Глупый краш - фризздетекшн - ничего толкового не понять. Изменил в конфиге - отключил ммапс, после очередного падения от фризза, перезагрузится уже с отключенными ммапсами, посмотрим результат...

Insider42
06.11.2010, 20:33
конфиг можно перезагружать если что ;)

KiriX
06.11.2010, 20:39
конфиг можно перезагружать если что ;)
Да это понятно, но мне интересно понять действительно ли это от ммапс. Если ещё раз упадёт (мало ли были какие другие причины для фриззов) - перезагрузится без ммапсов и если уже потом не будет фризится - понятно из-за чего.
Может процессор слабоват... Два ядра Pentium 4 630 3ГГц (CPU-Z говорит одно ядро, 2 потока), но человек-то полтора землекопа =( Загрузка 30-40% при пике моего "онлайна" =))) Да всё равно нагрузка 30-40% на пике - откуда фризы???

Insider42
06.11.2010, 21:40
Да всё равно нагрузка 30-40% на пике - откуда фризы???

Вы наверное путаете настоящие фризы и то, что антифриз срабатывает при длительных лагах сервера. Это две разные вещи, первые вовсе не обязательно полностью занимают процессорное время...

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

KiriX
06.11.2010, 21:52
Я имею ввиду фризз сервера - длительный лаг сервера. В конфиге стоит значение 120. Без ммапс крашей на фризах не было.
P.S: краш на фризе для меня - это когда в дампе пишется фризздетект и более ничего стоящего...

P.P.S: Кстати, подтвердил твой баг-репорт на гетмангос.ком - у меня тоже траблы с моментальным эведом... Карты переизвлекал вчера, "извлекаторы" скомпилены со вчерашних исходников ммапсов. Может проблема в базе, другие-то почему-то не подтверждают... Не копался со значениями игнорящих НПС в базе?

Insider42
07.11.2010, 12:30
я кстати maps с такими параметрами выдирал ad.exe -f 0 , если у KiriX сделано тоже самое, то может быть это и есть источник проблем?
И ещё автор патча написал что нужно ещё и dbc переизвлекать О_о, я не переизвлекал пока

KiriX
07.11.2010, 13:16
я кстати maps с такими параметрами выдирал ad.exe -f 0 , если у KiriX сделано тоже самое, то может быть это и есть источник проблем?
И ещё автор патча написал что нужно ещё и dbc переизвлекать О_о, я не переизвлекал пока
Я мапы извлекал без всяких ключей - просто стартанул ad.exe.
Переизвлечение dbc - бред... dbc есть dbc и они не меняются, хоть ты их вручную выдерни, да и код экстарактора ad.exe в патче никак не затрагивает извлечение дбц.
У меня простоял 18 часов и упал (кстати, от переполнения памяти...), сейчас ммапсы отключились, но даже наличие их кода в серве даёт лаги/мини-фризы...
Маленькая поправочка... Фриззы могут быть из-за того, что в дебаге...

DiffuSer
18.01.2011, 14:45
Извлек DBC и maps: ad.exe -f 0
Извлек vmap с ключем l.
Как сейчас с максимальной точностью извлечь все mmaps?

KiriX
18.01.2011, 21:04
Извлек DBC и maps: ad.exe -f 0
Извлек vmap с ключем l.
Как сейчас с максимальной точностью извлечь все mmaps?
По умолчанию теперь включена высокая точность, т.е. извлекать можно без доп. ключей.

Chipleo
26.01.2011, 20:57
Вопрос: есть ли вариант mmaps для 2.4.3 ?

Sid
26.01.2011, 21:46
Конечно есть. Я полгода назад на 1.12 даже делал. Но там уже встает вопрос о стабильности. Я получил более 20 крашей за час на линуксе, 70% из которых злостные утечки памяти.

DiffuSer
27.01.2011, 00:43
Пет не хочет адекватно заходить на корабль в Бути. Думает, что корабль - преграда и вечно его обходит. :)

Chipleo
27.01.2011, 09:24
Конечно есть. Я полгода назад на 1.12 даже делал. Но там уже встает вопрос о стабильности. Я получил более 20 крашей за час на линуксе, 70% из которых злостные утечки памяти.

Где можно его увидеть?

Sid
27.01.2011, 11:06
Где можно его увидеть?

Это был намек на то что можно адаптировать на 2.4.3 если даже на 1.12 удалось.

BloodWarrior
16.03.2011, 11:57
Пользуюсь ммапами под zero вроде все таки достаточно прилично и хорошо пашет)

Возникло желание под толпу мобов адаптировать и поставить target movement generator модификацию от андстана. Старый форум попытался в ядре порыть, со страницами туго с 1 по 7 в ядре кажет и с конца страницы 3, дальше нету)

Вопрос, может у кого на руках сохранился патч или страницы сейв?

Sid
16.03.2011, 14:09
А vmap3 извлекал из 1.12 или от 2.4.3 используешь?

BloodWarrior
16.03.2011, 18:39
1.12 извлекал, крашей вообще не ловил с вмапами, все нормально у меня.

Sid
16.03.2011, 19:31
Да причем тут краши =\ Вы следите за udw форумом? Наверное нет.
Вы попрбуйте послать на этих vmap рейд в зул гуруб, мне интересно что у вас будет при бое с хаккаром допустим. У меня он бегал под постройками, как и все остальные боссы.

BloodWarrior
16.03.2011, 19:34
Ок) Попробуем. Пошлем рейд)

BloodWarrior
17.03.2011, 14:23
Спасибо, спасибо.
Есть косяк с вмапами.


Ну а теперь по поводу mmap есть косяки в навигации по швам.
В бути на помостах многоуровневых меняющих направления моб просто теряет из видимости персонажа и уходит из боя.

В месте шва перехода с нижнего на верхний уровень < если представить знак меньше то в точке соприкосновения обоих концов палкуса)) Чуть позже выложу скринами данные моменты, м-б на гетмангосе даже лучше

brainreaver
17.03.2011, 15:13
юзай оффмеши, читай ридми к генератору ммапов

BloodWarrior
24.03.2011, 07:04
оффмеши как я понял вносятся вручную для каждой карты.
Надо отыскивать место швов таких, в ммапе и ручками координаты получать, вбивать в текст и при компиляции юзать?

Но вот вопрос, координаты для поинтов надо ручками просматривать через ммап вивер или же можно снимать ингейм в нужном виде? Аддоном там? Кто вообще с оффмешами по нормальному общался?)

brainreaver
24.03.2011, 18:20
ингейм снимать
две команды нужны: .gps и .mmap loc
gpsом получаешь координаты двух точек: откуда и куда пробросить оффмеш коннектор
.mmap loc дает тебе тайл, на который нужно применить оффмеш коннектор

KiriX
30.04.2011, 18:10
Чуток обновлений...

BloodWarrior
30.04.2011, 20:43
Можно поинтересоваться какие конкретно обновления и в чем?)

KiriX
01.05.2011, 11:57
Можно поинтересоваться какие конкретно обновления и в чем?)
Конечно!
Всё, что до 23 марта включительно: https://github.com/faramir118/mangos/commits/mmaps_rewrite

BloodWarrior
01.05.2011, 13:00
qsa сегодня накоммитил там.)

Я у себя в локальной копии на зеро подключил обработку конфьюз мувмент генератора после нормализации получения позиции, теперь и овца норм работает, и с чарджем балуюсь

Оппа qsa и конфьюз добавил правда подругому чем тут у себя навошкал) Но мб оно и к лучшему я немного крабик)