Модератор форума: staford11  
Blizzlike Server WoW Public Version 47 - 4.3.4
nikko
Капрал
а цыпочка гоблинов насколько работает?
Сообщение # 1051 написано 24.04.2013 в 17:30
Zeus733
Скаут
Цитата (nikko)
цыпочка

Работает на цып - цыпочку)))
Сообщение # 1052 написано 24.04.2013 в 20:22
mrMoroz
Скаут
Цитата (Zeus733)
32 то надо кидать карты в x32_Release -> Data
64 то надо кидать карты в x64_Release -> Data
И кстати ты глянь, у тебя папки vmaps и maps создаются пустыми?

Такая же была проблема у меня на 64, но увы Release не помог.
Исправил только тем что отдельно скачал архив в с файлами с кокого то форума закинул в и игру, и о чудо))
вот собственно и он)) http://dfiles.ru/files/sd4lmb55u
Сообщение # 1053 отредактировано mrMoroz - Среда, 24.04.2013, 21:59
icepww
Капрал
Когда обнова?
Сообщение # 1054 написано 24.04.2013 в 22:39
Oleg23
Скаут
у меня все создавалось норм не пустые папки были все норм было карты есть размер 500mb всех карт у меня система 7рка 64 битная

Добавлено (25.04.2013, 10:00)
---------------------------------------------
где просто можно скачать карты для этого сервака?

00000)))))
Сообщение # 1055 написано 25.04.2013 в 10:00
nikko
Капрал
как изменить реву чтоб всегда не делалось рестарта в сервере, типа обновление сделать??? пожалуйста скажите. за плюсики.
Сообщение # 1056 отредактировано nikko - Четверг, 25.04.2013, 13:28
MantiCore
Разработчик YTDB R2
nikko, не понял насчет рестарта. У вас как я понял автоматический рестарт стоит на серверe?
icepww, Обновление еще не скоро, но точно скажу что в мае.
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613
Skype - MantiCore8460
Сообщение # 1057 написано 25.04.2013 в 13:41
icepww
Капрал
MantiCore Можна скайп ваш или асю?
Сообщение # 1058 написано 25.04.2013 в 13:42
nikko
Капрал
MantiCoreнее, просто я не умею обновление делать. у меня твоя рева стоит (wotlk), и еще , вы прочитали мануал как запилить спеллы мангоса которую я отправил?
Сообщение # 1059 отредактировано nikko - Четверг, 25.04.2013, 14:06
MantiCore
Разработчик YTDB R2
nikko, я почитал и понял что это не для мангоса.
icepww, я не сижу ни в icq ни в скайпах сейчас. Только тут.
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613
Skype - MantiCore8460
Сообщение # 1060 написано 25.04.2013 в 14:12
nikko
Капрал
и второй тоже? этого не может быть? Оо
Сообщение # 1061 написано 25.04.2013 в 14:25
MantiCore
Разработчик YTDB R2
nikko, второй не приходил.
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613
Skype - MantiCore8460
Сообщение # 1062 написано 25.04.2013 в 15:14
nikko
Капрал
1. Вы нашли неработающий спелл и хотите его исправить. Самый очевидный путь решения проблемы - посмотреть исходники МаНГОСа, понять как должен спел работать и исправить. Дальше перекомпилить сервер и протестировать. Если не помогло - вернутся в исходники, подумать, исправить, протестить... и так до победного конца.

Так вот, данный способ в основном не помогает!

2. Начинаем гуглить на тему обнаружение ошибок.
Википедия

Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится…
узнавать текущие значения переменных;
и выяснять, по какому пути выполнялась программа. Количество ошибок в программах заранее неизвестно, поэтому заранее неизвестна продолжительность отладки.
Существуют две взаимодополняющие технологии отладки.
Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.
Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.

Отладка — это часто тяжёлая и утомительная задача.

Отладка начинается с попытки воспроизвести проблему

3. Как использовать дебаггер (примеру от Visual Studio) в больших проектах - я не знаю, поэтому предоставлю данную часть другим хорошим людям.

4. А вот
Code
Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода
рассмотрим поподробнее. Это важно! Википедия, чья-то там цитата

«Наш личный выбор — стараться не использовать отладчики, кроме как для просмотра стека вызовов или же значений пары переменных. Одна из причин этого заключается в том, что очень легко потеряться в деталях сложных структур данных и путей исполнения программы. Мы считаем пошаговый проход по программе менее продуктивным, чем усиленные размышления и код, проверяющий сам себя в критических точках.

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

Слепое блуждание в отладчике, скорее всего, непродуктивно. Полезнее использовать отладчик, чтобы выяснить состояние программы, в котором она совершает ошибку, затем подумать о том, как такое состояние могло возникнуть. Отладчики могут быть сложными и запутанными программами, особенно для новичков, у которых они вызовут скорее недоумение, чем принесут какую либо пользу…»

5.Итак, начали
Изучаем все про наш спел. Для этого используем wowhead.com, thottbot.com, C.S.W.O.W.D., мангос.вики, Spell.dbc.
Используем поиск на getmangos.ru, getmangos.com (опционально на thetrinitycore.org) в попытках засечь обсуждения, патчи, комментарии. Можно также выложить запрос на патч или просто спросить на форуме у знатоков - возможно их ответом и будет патч=) Но, как правило, такое редко случается, у знатоков своих дел предостаточно.
Ставим чистый мангос - чтоб не править чужие патчи(если это не планируется), чистую базу - чтобы быстрее поднимался сервер, компилим без дополнений (в виде СД2)
Первым делом - включение в конфиге логирования на уровень 3 (debug), желательно и для файла, для поиска в нем нужной информации
Code
LogSQL = 1
PidFile = ""
LogLevel = 3
LogTime = 1
LogFile = "Server.log"
LogTimestamp = 1
LogFileLevel = 3
LogFilter_TransportMoves = 1
LogFilter_CreatureMoves = 1
LogFilter_VisibilityChanges = 1

Дальше, врубаем сервер и воспроизводим ошибку. В консоли отображается некоторая информация, изучаем ее, она нам понадобится. При воспроизведении ошибки нужно попытатся также решить ее. У меня, к примеру, при включеном ГМ режиме спелл начинал работать Оо. Примечание. Постарайтесь ограничить количество игроков оналйн, лишние засоряют консоль
Врубаем метод научного тыка - в поиске по сорцам вводим ИД спелла, либо его название, либо название класса(если это классовый спел) и ходим по коду, внимательно всматриваясь и включив интуицию. Данный метод помогает редко, но помогает. Помогает также начать раздуплятся в коде (теперь вы будете понимать важность комментариев).
Если предыдущий способ прямого поиска ошибочного места не привел к успеху, используем консольные сообщения для поиска. Пример(реальный). Я кастую спелл, а мне на екране клиента выводит - "Нельзя использовать сдесь". В консоли при попытке каста отображается следущее:

Code

2009-04-14 16:26:21 WORLD: got cast spell packet, spellId - 28622, cast_count: 10, unk_flags 0, data length = 10
2009-04-14 16:26:21 WORLD: got cast spell packet, spellId - 28622, cast_count: 11, unk_flags 0, data length = 10
2009-04-14 16:26:21 WORLD: got cast spell packet, spellId - 28622, cast_count: 12, unk_flags 0, data length = 10
2009-04-14 16:26:21 WORLD: got cast spell packet, spellId - 28622, cast_count: 13, unk_flags 0, data length = 10
2009-04-14 16:26:22 WORLD: got cast spell packet, spellId - 28622, cast_count: 14, unk_flags 0, data length = 10
2009-04-14 16:26:22 WORLD: got cast spell packet, spellId - 28622, cast_count: 15, unk_flags 0, data length = 10

и больше ничего. А должно быть так:
Code
2009-04-14 16:29:38 WORLD: got cast spell packet, spellId - 28622, cast_count: 52, unk_flags 0, data length = 10
2009-04-14 16:29:38 Sending SMSG_SPELL_START id=28622
2009-04-14 16:29:38 Sending SMSG_SPELL_GO id=28622
2009-04-14 16:29:38 Spell: Effect : 6
2009-04-14 16:29:38 Spell: Aura is: 201
2009-04-14 16:29:38 Aura: construct Spellid : 28622, Aura : 201 Duration : 60000 Target : 1 Damage : 0
2009-04-14 16:29:38 Aura 201 now is in use
2009-04-14 16:29:38 Spell: Effect : 6
2009-04-14 16:29:38 Spell: Aura is: 3
2009-04-14 16:29:38 Aura: construct Spellid : 28622, Aura : 3 Duration : 60000 Target : 1 Damage : 3260
2009-04-14 16:29:38 Aura 3 now is in use
2009-04-14 16:29:38 Spell: Effect : 6
2009-04-14 16:29:38 Spell: Aura is: 12
2009-04-14 16:29:38 Aura: construct Spellid : 28622, Aura : 12 Duration : 60000 Target : 1 Damage : 0

Взято с Mangos.ru
2009-04-14 16:29:38 Aura 12 now is in use
2009-04-14 16:29:38 WORLD: CMSG_MOVE_SET_CAN_FLY_ACK
2009-04-14 16:29:40 PeriodicTick: 449 (TypeId: 4) attacked 449 (TypeId: 4) for 3260 dmg inflicted by 28622 abs is 0
2009-04-14 16:29:40 DealDamageStart
2009-04-14 16:29:40 deal dmg:3260 to health:3729

делаем вывод, что после определенного текста дебаг-лога начинаются проблеммы.
Копируем строчку(только нужные слова, не указывайте конкретные числа!), кнтрл-F, находим кусок кода.
Теперь у нас есть отправная точка. Крутим код вниз, проверяя разветвления. Также переходим по функциям дальше вглубь кода до основ, пока не убедимся в их правильности(или неправильности). Если ошибочное место до сих пор не определено, начинаем использовать
Цитата:Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода

Для этого существует ф-я sLog.outDebug(), работающая так же как и printf(). С ее помощью мы расставляем контрольные точки по коду - от начальной позиции и до предполагаемого конца. Чем больше - тем лучше, легче потом будет локализовать ошибку. Перекомпил, перезапуск, тест, всматриваемся в консоль - ооп, видим нужные нам отклонения от предполагаемого хода. В общем говоря, методом контрольных точек и логирования можна локализовать почти любой баг.
Ошибка локализована, что дальше?
Ну, багу можно приписать категорию: хак, оставленный кем-то на память; грубая очепятка, призведшая к поломке спелла; некорректная проверка; ошибка при проектировании структуры МаНГОСа; отсутствие возможности реализации. Последние 2 категории - из разряда сложных, без досконального знания кода мангоса и С++ не обойтись. Остальные уже решать по ходу дела
Если окажется, что вы знаете маловато функций Мангоса для устранения бага - самое время начать изучать код. Вот список файлов для изучения в первую очередь

Code

Player.h/Player.cpp
Unit.cpp/Unit.h
Spell.h/Spell.cpp
SpellAuras.h/SpellAuras.cpp
SpellEffects.cpp
SpellHandler.cpp
SpellAuraDefines.h
SpellMgr.cpp/SpellMgr.h
Object.h/Object.cpp
SharedDefines.h

- особо!!!
В конце-концов баг исправлен))) похвалите себя=)
Вот второй жду + если поможет)) и к стати подскажи пожалуйста как сделать обновление)))
Сообщение # 1063 написано 25.04.2013 в 16:23
MantiCore
Разработчик YTDB R2
KrajAnton, по поводу какой помощи? Я как работал один, так и работаю.

Добавлено (26.04.2013, 03:12)
---------------------------------------------
Если кому не сложно регайтесь на моем сайте http://62.106.104.30/ поиграем вместе. Я просто реально устал уже фиксить квесты. Я вот лично сам хочу играть, но зайдя на вов магик у меня стало тошнить от пираток, пипец квесты не могут сделать, я фигею. Там адинистрация че на стажировку студентов чтоле набрала, или там одни дэбилы сидят которые елемнтарно уровень мобу поправить не могут. Вобщем серверу я бы дал -1 балл за все его существование, если даже кв не пашут, поставили портал в шторм и тру отцы. Я фигею с людей, нормальные проекты развиваются иначе чем магик. Ах да я забыл там триня и для них кв в 200 раз труднее хакать.

Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613
Skype - MantiCore8460
Сообщение # 1064 написано 26.04.2013 в 03:12
nikko
Капрал
ну посмотрел мануал? :)))
Сообщение # 1065 написано 26.04.2013 в 07:21
torturesru
Центурион
MantiCore, А почему на Ваш сервак не зайти?
Сообщение # 1066 написано 26.04.2013 в 23:36
MantiCore
Разработчик YTDB R2
torturesru, выключен. Менял систему на компе. Чуть позднее будет включен.
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613
Skype - MantiCore8460
Сообщение # 1067 написано 27.04.2013 в 01:49
biwisok
Скаут
почему не работает ????

http://www.pictureshack.ru/view_90693_IMG_27042013_103838.png
Сообщение # 1068 отредактировано biwisok - Суббота, 27.04.2013, 08:48
Oleg23
Скаут
порты закрыты !!!
00000)))))
Сообщение # 1069 написано 27.04.2013 в 10:06
torturesru
Центурион
MantiCore, а реально будет договориться в отношении компиляции Вашей сборки на линуксовой машине? Или работаете только под винды?
Сообщение # 1070 написано 28.04.2013 в 00:59
tulllka
Скаут
MantiCore, Я заметил что ты удалил ссылочку на скачку Сборки 3.3.5а! Ты не мог бы ее вернуть)
Сообщение # 1071 написано 28.04.2013 в 02:39
MantiCore
Разработчик YTDB R2
torturesru, если вам очень нужно то могу дать исходники, базу будете с готовых ревизий снимать. Я не компилил ниразу на линукс, так что хз.
tulllka, Рева 8.1
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613
Skype - MantiCore8460
Сообщение # 1072 отредактировано MantiCore - Воскресенье, 28.04.2013, 03:31
vladboss123
Скаут
У меня на компе стоит Windows-7 x64 SP1 Максимальная (Ultimate), скачал сборку Rev.11, Распаковал карты maps, vmaps и dbc, всё успешно как по инструкции, приведённой на первой станице. Только вот в этот раз при распаковке потребовало файлы msvcp100d.dll и msvcr100d.dll, не как в Rev.9. Всё скачал эти файлы, поместил куда надо, всё распаковалось. Скопировал эти три папки в директорию C:/server/x64_Release/Data. Далее запускаю из папки denwer/Run.exe потом из папки x64_Release/ auth.exe, но при запуске он сразу же тухнет (закрывается), тоже самое происходит и с файлом core.exe, хотя сборки Rev.9 и Rev.10 работают отлично.

Потом решил проверить х32_Release. У меня на ноуте стоит Windows-7 x32 SP1 Максимальная (Ultimate). Сделал всё тоже самое, что и с х64_Релизом, распаковал карты dbc, закинул в папку Data. Всё отлично работает. Файлы auth.exe и core.exe запускаются, не тухнут, входит в игру через ваш лаунчер (WoW 4.3.4 Patch), всё норм играет. Как и в сборках Rev.9 и Rev.10.

MantiCore – можешь помочь, что делать с х64_Release, как его запустить или я что-то упустил в инструкции?
Если кто нить пробовал, х64_Release подскажите, работает или нет?
Сообщение # 1073 написано 28.04.2013 в 20:18
MantiCore
Разработчик YTDB R2
На х64 я допустил ошибку, копирните в x64 файлы mangosd.conf и realmd.conf. Должно запуститься без проблем. Core.conf и Auth.conf удалите из папки с ядром x64.

Список исправлений которые уже есть и будут в 12 ревизии вы можете увидеть тут
В данный моент пытаюсь захакать археологию всеми способами. Думал о расстановке GO на картах, но увы не нашол ниодного объекта. Ктому же хотелось бы сделать прокачку через собирание этих объектов. Вобщем затея безумная...


Добавлено (29.04.2013, 00:39)
---------------------------------------------
В 12 ревизии будет работать звериная прыть. Конечно есть и побочные еффекты - скорость на любом лвле 100% и еще один увидите на видео.

Добавлено
(29.04.2013, 01:22)
---------------------------------------------
Демонстрация начала второй фазы у воргенов
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613
Skype - MantiCore8460
Сообщение # 1074 отредактировано MantiCore - Понедельник, 29.04.2013, 01:21
vladboss123
Скаут
MantiCore – сделал всё как вы сказали с файлами auth.conf и core.conf для x64_Release, правда скопировать файлы mangosd.conf и realmd.conf не получилось, потому что от сборок Rev.9 и Rev.10 эти файлы не подошли, всё равно при запуске realmd.conf и mangosd.conf они сразу закрывались. Я попробовал просто переименовать эти файлы с auth.conf на realmd.conf и с core.conf на mangosd.conf, потом запустил Run.exe realmd.conf бывший (auth.conf) и mangosd.conf бывший (core.conf), файлы открылись, но при запуске mangosd.conf выдало много ошибок.

Вот одна из этих ошибок:

Loading SpellsScriptTarget...
=Table 'spell_script_target': spellId 80199 listed for TargetEntry 42940 does not have any implicit target TARGET_SCRIPT<38> or TARGET_SCRIPT_COORDINATES <46> OR TARGET_FOCUS_ORSCRIPTED_GAMEOBJECT <40>.

И ещё примерно около 17-18 ошибок разных появляется вовремя загрузки mangosd.exe.

MantiCore – эти ошибки нормальное явление или я что-то не так сделал?

Или мне надо было просто скопировать из папки x32_Release файлы auth.conf и core.conf и скинуть их в папку с x64_Release, и предыдущие файлы auth.conf и core.conf с папки x64_Release просто удалить?
Сообщение # 1075 написано 29.04.2013 в 18:35
fantom7807
Скаут
При запуске сервера будут ошибки т.к еще не все реализовано ,но для сервера это не критично online2long

Добавлено (01.05.2013, 01:44)
---------------------------------------------
Уважаемый MantiCore! Просьба добавить ссылку на скачку Rev.11 с

Сообщение # 1076 написано 01.05.2013 в 01:44
vladboss123
Скаут
MantiCore - как насчёт взять меня ГМа на свой сервер http://62.106.104.30/index.php?page=feedback ???
Сообщение # 1077 написано 01.05.2013 в 18:58
nikko
Капрал
MantiCore, а как сделать чтобы на твой сервер wow зашли другие игроки из внешки? У меня заходят только и внутренние и только с адсл-а. А у тебя я даже на сайт могу зайти СОТОВЫМ. Поможешь?
Сообщение # 1078 написано 02.05.2013 в 06:07
MantiCore
Разработчик YTDB R2
nikko, зависит от того какой у вас провайдер. К примеру у меня подключаеш статический IP, отключаеш фильтрацию портов в личном кабинете и ставиш все добро (ядро, базы) на AppServ 2.5.10. Запускаеш его,и локальный и внешний сайты работают.
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613
Skype - MantiCore8460
Сообщение # 1079 отредактировано MantiCore - Четверг, 02.05.2013, 07:26
nikko
Капрал
аа ну тогда если у меня внешка отключена не могут зайти да? а то моя выключена , из-за не уплаты телефона хахаха smile
Сообщение # 1080 написано 02.05.2013 в 08:41
Поиск: