Как настроит свой сервер для вов

Как настроит свой сервер для вов

Вход на портал

Модератор форума: Dimitro
Форум » TrinityCore » Установка / Настройка TrinityCore » Создание Своего Сервера (Подробно. Версия клиента 2.4.3)

Доброго времени суток всем кто читает эту тему. Мой ник на просторах интернета – Evrial. Данная тема посвящена созданию сервера WoW что называется «с НУЛЯ». Актуально для Windows 32-bit (Linux’ом пока не занимался).

Краткое предисловие
Постараюсь как можно подробнее описать каждый шаг создания сервера. Пример будет для сервера версии 2.4.3. на ядре OregonCore (т.к. я фанат именно этой версии). Материалы темы можно использовать и для других ядер и версий клиента, но не забывайте что в любом случаи будут нюансы. Постараюсь, в зависимости от отзывов, регулярно дополнять и обновлять материалы темы. Итак, начнём?

Примечание: кому, видишь ли, не нравится размер стандартного шрифта – зажимает CTRL и крутим ролик мышки ВВЕРХ (от себя); кому не нравится цвет – подкручиваем настройки видеокарты/монитора, кому не нравится оформление – пишем письмо администрации wowjp чтоб они изменили стандартное оформление (обязательно в письме укажите, что конкретно Вам не нравится).

Я не против распространения данного мануала со ссылкой на автора.

Сборка, созданная в процессе написания мануала, может быть Вами скачана здесь.

Данный мануал в MS Word вы можете скачать здесь. (рекомендую. т.к. намного удобнее).

Содержание
1. Необходимый софт
2. Компиляция ядра и его пропатчивание
2.1. Добываем исходники
2.2. Патчи
2.3. Компиляция
2.4. Вытаскиваем нужные файлы
3. Создаём базу для сервера
3.1. Установка denwer
3.2. Настройка MySQL
3.3. Наполнение базы данных сервера
4. Подготовка к запуску
4.1. Извлечение данных клиента
4.2. Настройка конфигурации
4.3. Последние подготовительные операции
5. Пробный запуск и лог-файлы
6. Переделываем сервер
6.1. Настройка конфигурации под разные типы серверов
6.2. Стартовые запросы для фан-сервера
6.3. Дополнения

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

1. Клиент WoW версии 2.4.3
2. TortoiseHG
3. Visual C++ 2008 Express или Visual C++ 2010 Express (мой пример будет под эту версию). Для снятия 30-дневного триального периода зарегистрируйтесь.
4. MySQL Server (если Вы планируете использовать denwer то можно это не устанавливать; кроме того сразу лучше не настраивать это приложение)
5. .NET Framework 3.5 если Вы используете Visual C++ 2010 Express, то .NET Framework 4 установится при загрузке данного пакета
6. SQLYog или MySQL GUI Tools или Navicat (мне нравится именно этот инструмент; лайт версия весьма урезана; лучше найти лицензионную)
7. CMake
8. OpenSSL
9. DENWER — установка данного приложения (если его можно так назвать) будет описана в разделе «3. Создаём базу для сервера», не ставьте его сразу).
10. Git Bash

Огромное спасибо Cemak’y за его доходчивый мануал по компиляции ядра. На этом мануале я учился. Так же спасибо Pro[100]Mosk’у за мануал по компиляции ядра.

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

2.1. Добываем исходники.

Для простоты работы можно сделать папку под все действия по созданию сервера, но разработчики ядра рекомендуют делать всё в корневом каталоге С:\ (но это не обязательно, но желательно). Я для работ с сервером создал папку D:\Server\Creating. Далее создаём папку под исходник ядра и обзываем её как вам удобно. В моём случаи это будет OregonCore. Далее клацаем на эту папку правой кнопкой TortoiseHG\Clone (как на скриншоте):

Читайте также:  Как настроить температуру теплых полов электрических

В появившемся окне вводим:

На скриншоте это выглядит так:

Дожидаемся окончания операции.

Патчи – дополнения и исправления. Вполне можно обойтись без них. Патчи для данного ядра не обязательны. Без них всё будет работать.

Во первых, нам нужны патчи. Это уже нужно искать самим или же писать их.
Могу подсказать один небольшой сборник патчей (ЕГО Я ЛИЧНО НЕ ПРОВЕРЯЛ НА РАБОТОСПОСОБНОСТЬ). Создаём рядом с исходниками ядра папку Patches. Тыкаем по ней TortoiseHg\Clone… Указываем пути:

Нажимаем Clone и дожидаемся окончания операции. В результате получаем много папок. Названия папок соответствуют названиям патчей.

Предположим, что у нас уже есть патчи. Для удобства переименуем файлы патчей в вид 1.patch (так патчить будет удобнее и бычтрее). Скидываем патчи в папку с исходниками. Далее нажимаем правой кнопкой по папке с исходниками (OregonCore) и нажимаем Git Bash:

В появившемся окне вводи строку вида patch –p1 Source Path: https://bitbucket.org/oregon/oregondb
Destination Path: D:\Server\Creating\OregonDB

В полученой базе разархивируем ODB0.0.5_919. Полученый .sql-файл копируем в папку sql (в пункте 2.4. мы её создавали в папке Tools).

Итак в папку с будущей сборкой (Release, пункт 2.4) в папке Tools есть папка Sql. В ней у нас на данный момент должны быть такие файлы:
1. Creat_mysql.sql (взято из Oregoncore\sql);
2. World.sql (взято из Oregoncore\sql);
3. Realmd (взято из Oregoncore\sql);
4. Characters (взято из Oregoncore\sql);
5. ODB0.0.5_919 (взято из OregonDB\ODB0.0.5_919.rar);
6. Папка scripts (в ней 4 .sql-файла).

Далее нужно приконектится к серверу. Я буду объяснять на примере Navicat. Итак, открываем данную программу. Создаём новое подключение:

В параметрах этого подключение ставим как на скриншоте и нажимаем ОК:

Подключение создано, осталось подключиться. 2 раза тыкаем на наше подключение. В итоге должна открыться база:

Славненько. Теперь добавим пользователя для нашего эмулятора. Нажимаем Manage Users и создаём нового пользователя (пароль oregon):

Нажимаем ОК. Далее выделяем этого нового пользователя и нажимаем Select All, а замет Save:

Теперь начнём заполнение нашей базы данных. Чтобы залить запрос в базу нужно нажать правой кнопкой по нужной базе и нажать Execute Bath File…

После этого выбираем необходимый запрос и нажимаем Start:

Дожидаемся окончания и надписи Finished — 8 queries executed successfully (вместо 8 может быть абсолютно другое число).

В разделе 2.4. Мы создавали папку Tools в которую закидывали папку sql из исходников.
Далее буду перечислять что и куда заливать в таком виде (не забывайте что чтоб увидеть изменения нужно пере подключить базу):

ИМЯ_БАЗЫ – ИМЯ_ФАЙЛА (файлы в директории sql или поддиректории).

Root — create_mysql;
Characters – characters;
Realmd – realmd;
World – world;
World — ODB0.0.5_919 (можно курить. Это будет долго);
Далее заливаем из подпапки Scripts всё в базу world.

Далее заходим в базе realmd и открываем таблицу realmlist и в поле id ставим 1; все остальные поля сами должны заполниться, кроме name, в это поле пишите название реалма (у меня MyServer).

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

Вот у нас уже есть ядро, база, основа в виде denwer или MySQL Server. Что же ещё нужно.

Читайте также:  Laser stage lighting не работает

4.1. Извлечение данных клиента

В папке Release\Tools\Extractor находим 3 файла и копируем их в папку с клиентом.

Запускаем map_extractor и дожидаемся окончания операции. Будет создано 2 папки: dbc и maps. Переносим эти папки к нашему ядру (в папку Core).

Запускаем vmap_extractor и дожидаемся окончания операции.

Создаём .bat-файл и в него пишем такие строки (этот файл сохраняем в папке с клиентом WoW):

Запускаем этот .bat-файл и дожидаемся окончания операции. Переносим папку vmaps в папку с ядром.

4.2. Настройка конфигурации

Поскольку мы сами компилили сервер, используя оригинальные исходники и базу, то конфиги не нуждаются в правке. Детальное рассмотрение конфигов будет в разделе 6. Главное чтоб в конфигах были прописаны правильные логины и пароли к базе.

4.3. Последние подготовительные операции

Ещё пару раз проверьте есть ли в папке с ядром папки mapc, dbc, vmaps. Ещё раз проверьте есть ли доступ к базе, запущен ли denwer (MySQL Server), не забыли ли вы внести новый реалм. Проверьте всё. Перекреститесь и едем дальше.

После всеобщей проверки запускаем Oregonrealm. Если он в норме и не закрылся и выглядит так как на скрине, то всё ОК:

Далее запускаем Oregoncore. Если всё хорошо, то он начнёт грузиться. Пойдут всякие полосочки и строки. Это займёт около 30 сек. После загрузки вы услышите характерный звук от системного динамика. Окно будет выглядеть так:

Создаём аккаунт командой .create account ВАШ_ЛОГИН ВА_ПАРОЛЬ (пишется это в окне oregoncore). Далее в базе realmd в таблице account находим ваш аккаунт и в столбике expension ставим 1. Чтобы дать себе права админа в столбике gmlevel ставим 4.

В реалмлисте клиента вов пишем set realmlist 127.0.0.1. Заходим в WoW. Вводим логи и пароль. Создаём персонажа. Вуяла. Мы играем на своём сервере.

Далее выходим из WoW. Закрываем Oregoncore и oregonrealm. В папке с ядром должны появиться файлы с расширением .log. Открываем их блокнотом и ищем ошибки типа not exist и т.д. Если есть какая-то ошибка – не ленитесь её перевести. Обычно смысл становится понятен. В моей сборке в файле db_errors была такая ошибка:

Как всем известно, бесплатные сервера делятся на несколько типов:

1. Максимально приближенные к BlizzLike – сервера, которых настроены на стандартные рейты официального сервера со стандартным качем, дропом и т.д. Требуют большой работоспособности квестов, итемов и всего остального. Требуют большого оналйна (при малом онлайне не оправдывают себя).

2. Сервера ускоренного кача – например х5, х10, на таких серверах немного ускорен кач; в остальном они обычно похожи на сервера первого типа. Не требуют такой работоспособности квестов, как первый тип, но всё же она должна быть на высоком уровне. Так же большое внимание уделяется инстам 70го лвла, при том что низкоуровневые могут быть недоработанными.

3. Сервера быстрого кача – например х100, х150, на таких серверах процесс кача сводится к 4-5 часам. Особое внимание уделяется хайлевел инстам, системе пвп и т.д. В то же время лоулевельные квесты практически не востребованы, как и инсты.

4. Фан-сервера – максимальный левел при создании персонажа, куча золота, стартовый шмот. Особое внимание уделяется системе пвп. Инсты зачастую выключаются. Встречал даже сервера без мобов. Требуют разнообразных ивентов, рисованного шмота (желательно не рушащего баланс) и всяких интересностей. Наименее требовательны к онлайну (даже при онлайне 30-50 человек сервер может вполне полноценно функцианировать).
Когда мы уже определились в том, какой сервер будем делать, то собственно можно и начать его делать.

Читайте также:  Шевроле круз не работает гур при холостых

6.1. Настройка конфигурации под разные типы серверов

Итак у нас есть рабочее ядро, база, и собственно всё, что нужно. Изначально наш сервер настроен под рейты х1. Так что если нам нужен приближенный BlizzLike, то ничего делать и не нужно. Но ежели тип сервера другой, то таки нужно что-то менять. Начнём с файла конфигурации. Далее буду выкладывать стандартные параметры с комментариями к ним, которые важны для типа сервера (файл oregoncore.conf):

6.2. Стартовые запросы для фан сервера.

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

Первое что нам нужно, это чтоб персонажи стартовали в нужных нам локациях (на пример в столицах). Для реализации этого пользуемся запросом:

Где ИД Рас такие:
1 Человек
2 Орк
3 Двaрф
4 Ночной эльф
5 Нежить
6 Таурен
7 Гном
8 Тролль
10 Кровавый эльф
11 Дреней

Теперь даём персонажам команду .maxskill:

Рисуем своего вендора без квайса и вов-в:
1. В игре подходим к любому вендору. Выделяем его и прописываем команду .npc info. Запоминаем entry.
2. Заходим в таблицу creature_template и ставим фильтр по entry этого вендора.
3. В новой строке ставим желаемое entry для нового вендора, а остальные строки переносим со старого вендора.
4. Меняем name и subname, minlevel, maxlevel…
5. ОБЯЗАТЕЛЬНО меняем faction_a и faction_h на 35 – это сделает вендора зелёным для обоих фракций;
6. В игре ставим вендора командой .npc add ИД_ВЕНДОРА. командой .npc additem ИД_ИТЕМА наполняем вендора.

Рисуем шмотку:
Ситуация практически такая же как и с вендором. Т.е. мы берём уже существующую шмотку и рисуем новую по аналогии. Спелы для шмоток можно найти на вовхеде. Некоторые оружия отказываются правильно работать на новых ИД, так что в некоторых случая нужно не создават новый итем, а переделовать старый (естественно его нужно убрать из лута и квестов).

Увеличиваем статы шмоток в N раз:

Снимаем требование репутации с определённых итемов:

Снимаем требование профессии с бинтов:

Увеличение количества в одном стаке (актуально для бинтов, сол шардов и т.п.):

Снимаем касты с боссов.
Я вижу тема актуальна. Значит самый просто и безопасный способ снять каст с босса, это сделать нового босса без кастов. Делается это просто. Объясню на примере креветки (High Warlord Naj’entus). Делаем так:
1. Гм-чаром заходим в БТ, добегаем до босса.
2. Тыкаем команду .npc info и запонимаем (записываем) entry и displeyID.
3. Лезем в базу world, Таблица creature_template.
4. Ищем там нашего босса (по entry)
5. Создаём нового моба (с новым entry) и приписываем ему такой же displeyID.
6. По порядку перебираем ячейки таблицы и выставляем все статы мобу.
7. Столбец скриптовки оставить пустым, также столбцы кастов пустые.
8. Когда новый агро-моб создан — рестартим сервер
9. Опять топаем в БТ и просто удаляем старого босса (.npc delete)
10. На его место ставим нового босса.
Ну вот собственно и все история. Но при этом могут появиться эроры т.к. моб мог быть задействован где-то ещё.
Важно так же не забыть про всякие двери и решотки. Их нужно будет сразу пооткрывать, или приделать к ним ключ, который добавить в лут нового босса.

Источник

Оцените статью