УСТАНОВКА И НАСТРОЙКА СЕРВЕРА ДЛЯ WoW
1. Подготовка.
1) Ищем у себя, или качаем web server, для новичков будет особо удобен denwer (<http://denwer.ru> ), прост в установке + весит всего 3 Мб
Так же можно использовать xampp
(
Код:

+ Apache 2.2.4
+ MySQL 5.0.41
+ PHP 5.2.2 + PHP 4.4.7 + PEAR
+ PHP-Switch win32 1.0 (please use the "php-switch.bat")
+ XAMPP Control Version 2.5 from wwwnat32.com
+ XAMPP Security 1.0
+ SQLite 2.8.15
+ OpenSSL 0.9.8e
+ phpMyAdmin 2.10.1
+ ADOdb 4.94
+ Mercury Mail Transport System v4.01b
+ FileZilla FTP Server 0.9.23
+ Webalizer 2.01-10
+ Zend Optimizer 3.2.4
+ eAccelerator 0.9.5 fьr PHP 5.2.2 (comment out in the php.ini)

)
Никто вас незаставляет использовать их, можно собрать все своими руками, но это уже выходит за рамки нашей темы.
2) Устанавливаем и настраиваем свой web server, главными компонентами должны являться (PHP, MySQL, Apache), если вы используете готовый веб сервер, каковым является денвер, то там все уже настроено.
3) Теперь нам надо найти программу работающую с таблицами базы данных, основной и в то же время самой простой можно назвать Navicat. (сам навикат и кряк к нему- <http://filebeam.com/5a1b7059f2768ef97f27e34f40a8571c> )

Скачали навикат , устанавливаем, установили и теперь заходим в него.
Что мы видим?
В левом верхнем углу кнопка Connection, жмем
В Connection Name вводим имя соединения(может быть любое)
Host Name/Ip Adress вводим либо localhost либо 127.0.0.1
Порт не трогаем(если не меняли при установки мускула )
в Username и Password вписываем пароль и логин к базе данных, то что писали при установке веб сервера.
Жмем сначала левой кнопкой мыши, потом правой и выбираем New Database , там вводим mangosd , делаем ещё раз так же только уже вводим realmd а не mangos, повторяем эту несложную процедуру еще 2 раза пишем characters и scriptdev2
Подготовка закончена.
2. Рабочая часть( база и ядро)
1) Ищем ядро сервера, обычно его можно скачать на mangos.ru , в файловом обменнике, ядра лежат в темах с названиями Compiled by … , в данном случае я качал с Compiled by KAPATEJIb Win32, размер колеблется в пределах 5-6 МБ.
когда я писал последняя версия была MaNGOS Rev 5687+ScriptDev2 Rev 350, где 5687 – ревизия ядра, 350- рева.
2) Качаем базу, тут придется делать выбор, конкурирующими базами являются UDB & YTDB, которые можно скачать с

Код:
https://unifieddb.svn.sourceforge.net/s … b/Full_DB/
http://ytdb.kanet.ru/
соответственно, размер их колеблется от 8 до 11 МБ.
когда я писал последняя версия была UDB_0.10.0_Core_5648_SD2_344.rar
где 5648 ревизия ядра, 344 -рева
3) Качаем sql файлы для базы ScriptDev2, в момент написания они лежали тут https://unifieddb.svn.sourceforge.ne...l_DB/Archives/ <https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/Full_DB/Archives/>
С именами EAI_0.0.4_323.rar , где 323- рева., также её можно качать с <http://ytdb.kanet.ru/> , там она было с именем scriptdev2_0.0.3_rev342.7z, где 342 –рева.
4) Как все скачали, распаковываем Ядро, допустим в папку mangos, открываем Navicat , конектимся (

создаём новое подключение (Нажимаем Conection)
Connection name: Пишем что хотим
Host name/IP address: Не меняем
Port: Не меняем
User name: root
Password: Какой писали при установке АппСервера

Открываем это соединение (Жмакните на нём 2 раза)
Теперь нажмите на соединение ПКМ и выберите New Databese…
Создайте Базы realmd, characters, mangos, scriptdev2
) процедура описывалась также выше.

5) Теперь жмакаем на базе mangos 2 раза затем нажимаем на ней ПКМ и выбираем Execute Batch file потом лезем: mangos\sql и заливаем файл mangos.sql (Тоже самое надо проделать с таблицами realmd и characters только в realmd надо заливать файл realmd.sql а в characters, characters.sql)
6) Теперь жмакаем на базе mangos 2 раза затем нажимаем на ней ПКМ и выбираем Execute Batch file потом лезем: Куда скачали базу UDB или YTDB
и заливаем файл UDB_0.9.3_Core_5577_SD2_323.sql (Перед этим не забудьте его извлечь из архива(если вы используете другую реву базы то файл может называться по другому)) Заливается долго.
Также заливаем файл который скачали ранее (EAI_0.0.4_323.rar или scriptdev2_0.0.3_rev342.7z) в базу scriptdev2.
7) процесс завершен.. теперь нам надо ставить скул апдейты, они лежат в папке с ядром( это там где mangosd.exe и realmd.exe )/sql/updates
как ставить апдейты?Например, Вы взяли ядро как в нашем случае MaNGOS Rev 5687+ScriptDev2 Rev 350 , а база у вас UDB_0.9.3_Core_5577_SD2_323.sql, у базы и у ядра ревизия разная ( 5687 и 5577), лезем в mangos/sql/updates и заливаем файлы также как и базу, начиная с 5577, в нашем случае первым файлом будет 5585_mangos_gameobject_template.sql, его заливаем в базу –mangos , что говорит нам первое слово после цифр, например 5632_characters.sql заливаем в базу characters.
8) Так же апдейтим базу scriptdev2, только апдейты лежат в \scripts-sql\Updates\ , но тут уже решает все не ревизия как было раньше, а рева, например в MaNGOS Rev 5687+ScriptDev2 Rev 350 рева 350, а файл у нас был EAI_0.0.4_323.rar, значит ставим все поочередно начиная с r324_mangos.sql, первое слово после цифр –эта та база куда мы заливаем наш файл.
9) Далее заливаем в БД mangos файлы из папки: mangos\ scripts-sql
Отсюда льём только файлы mangos_full_scripts.sql и mangos_additional_req.sql
Далее в базу mangos льём всё из important кроме TBC Enable - её льём в realmd , а arena_characters.sql льем соответственно в characters.
3. Настройка Конфига сервера.
1) Открываем realmd.conf , ищем там

Код:
LoginDatabaseInfo = "127.0.0.1;3306;root;pass;realmd"
И модифицируем под себя где root –login, pass- password к базе данных (MySQL)
2) Тоже самое делаем и с файлом ScriptDev2.conf ,только там строка будет выглядеть так

Код:
ScriptDev2DatabaseInfo = "127.0.0.1;3306;root;pass;scriptdev2"
3) Открываем mangosd.conf по такому же принципу меняем

Код:
LoginDatabaseInfo = "127.0.0.1;3306;root;pass;realmd"
WorldDatabaseInfo = "127.0.0.1;3306;root;pass;mangos"
CharacterDatabaseInfo = "127.0.0.1;3306;root;pass;characters"
Все функции и переменные я описывать небуду, их можно попробывать вооружившись словарем, и методом тыка, а основные опишу.

GameType = 16
(0 = NORMAL;1 = PVP; 4 = NORMAL; 6 = RP; 8 = RPPVP 16 FFA_PVP)

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

AllowTwoSide.Accounts = 1
AllowTwoSide.Interaction.Chat = 1
AllowTwoSide.Interaction.Channel = 1
AllowTwoSide.Interaction.Group = 1
AllowTwoSide.Interaction.Guild = 1
AllowTwoSide.Interaction.Trade = 1
AllowTwoSide.Interaction.Mail = 1
AllowTwoSide.WhoList = 1
AllowTwoSide.AddFriend = 1

если тут везде после равно заменить 0 на 1 то орда и альянс смогут общаться, создавать друг с другом пати и т.д.

Rate.XP.Kill = 10
Rate.XP.Quest = 10
Rate.XP.Explore = 10

Опыт получаемый за убийство/ квест/ открытие новой локации

Rate.Creature.Elite.Elite.Damage = 0.5
Rate.Creature.Elite.RAREELITE.Damage = 0.5
Rate.Creature.Elite.WORLDBOSS.Damage = 0.5
Rate.Creature.Elite.RARE.Damage = 0.5
Rate.Creature.Normal.SpellDamage = 0.5
Rate.Creature.Elite.Elite.SpellDamage = 0.5
Rate.Creature.Elite.RAREELITE.SpellDamage = 0.5
Rate.Creature.Elite.WORLDBOSS.SpellDamage = 0.5
Rate.Creature.Elite.RARE.SpellDamage = 0.5

Это дамаг от мобов.
4. Заключительный шаг (DBC, Maps, VMaps)Качаем экстрактор с <http://filebeam.com/94d39b5fd035917cd992c299c697283f>
Кидаем его в папку с Клиентом, запускаем, и поочерёдно выполняем пункты 1,2,3.
Далее в Папке с игрой появятся папки DBC, Maps, VMaps их кидаем в Ядро. (для версий старше 2.4.0 используется другой экстрактор)
Перед запуском качаем дополнительные библиотеки с <http://filebeam.com/30f7af0b6677dbd59cf4872404088bf8> и кидаем их в папку с ядром.
Иногда сервер может незапускаться, тогда можно попробывать установить Microsoft .NET Framework 2 (http://www.microsoft.com/downloads/d...DisplayLang=en <http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en>)
Все, сервер готов к запуску, если вы хотите чотбы не олько вы смогли зайти на него, но и другие из сети, то узнаем свой ip адрес в сети (www2ip.ru <http://www.2ip.ru> , wwwmyip.ru <http://www.myip.ru>) и вставляем его заместо 127.0.0.1 в таблице realmlist базе данных realmd.Запускаем сервер, вначале realmd.exe, затем mangosd.exe.

5. То что может пригодится
Недаром мы же ставили веб сервер, теперь можно прикрутить веб интерфейс для создания аккаунтов и прочей информации, их можно найти в теме под названием WWW на mangos.ru.
Теперь пара полезных вещей:
1. В mangosd.conf есть также конфиг бота аукциона, вот его настройки

Создаем аккаунт, героя...
AuctionHouseBot.Account = 0 Прописываешь ID аккa
AuctionHouseBot.GUID = 0 проиписываешь ID героя

AuctionHouseBot.AllianceItems = 0 Прописываешь скок шмота у альянся
AuctionHouseBot.HordeItems = 0 -=- Орды
AuctionHouseBot.NeutralItems = 0 -=- Нейтральная территория

Что надо что бы аукцион раборатал
__________________________________________________ ___________

Настройки по своему вкусу

AuctionHouseBot.MinTime = 8
AuctionHouseBot.MaxTime = 24 Время обновления на акционе... (в часах)

AuctionHouseBot.PercentWhiteTradeGoods = 30
AuctionHouseBot.PercentGreenTradeGoods = 13
AuctionHouseBot.PercentBlueTradeGoods = 9
AuctionHouseBot.PercentPurpleTradeGoods = 1
AuctionHouseBot.PercentWhiteItems = 6
AuctionHouseBot.PercentGreenItems = 30
AuctionHouseBot.PercentBlueItems = 9
AuctionHouseBot.PercentPurpleItems = 2
Скок какого Шмота будет лежать на аукционне(Развновидность)

AuctionHouseBot.MinPriceWhite = 150
AuctionHouseBot.MaxPriceWhite = 250
AuctionHouseBot.MinPriceGreen = 200
AuctionHouseBot.MaxPriceGreen = 300
AuctionHouseBot.MinPriceBlue = 250
AuctionHouseBot.MaxPriceBlue = 350
AuctionHouseBot.MinPricePurple = 300
AuctionHouseBot.MaxPricePurple = 450

2. Как ставить обновы с форумов?

Копируем код, создаём текстовый документ, вставляем, меняем у файла - *.sql, ставим обнову, как \sql\updates
установка:
1 консоль Мускула (ПУСК=>ПРОГРАМЫ=>MySQL=>MySQL Server =>MySQL Command Line Client)
2 вводим пароль
3 \u mangos - подкл. консолью к БД(если у вас база сидит на БД mangos)
4 \. c:\update.sql - путь к файлуточку не забываем
Или аналогично как ставили апдейты, заливаем её через навикат.

3. Два реалма

Инструкция
1. Создаете 2 папки. Например "MangosFAN" и "MangosBLIZZLIKE".
2. Заливаете туда исходники сервера, ДБЦ фаилы и карты.
3. В MySQL создаём 3 базы данных, допустим mangosFan mangosBlizz и realmd.
4. В mangosFan и mangosBlizz заливаете полную базу.
5. Настраиваете в папках MangosFan и MangosBlizzlike фаилы mangosd.conf и realmd.conf как вам нравится.
6. В фаилах конфигурации mangosd.conf находите строку WorldServerPort ="число"(стандартно 8085). В папке "MangosFan" в конфиге выставляете WorldServerPort =8085, а в папке "MangosBlizzlike" WorldServerPort =8086.
7. Теперь перейдем к базе, открываем базу realmd, находим таблицу realmlist, туда вписываем еще одну строку, вписываем туда тоже самое что и в перовой, но меняем название сервера (если угодно) и меняем запись в столбце port, в первой записи 8085 а во второй 8086 допустим.

Нужно запустить realmd.exe из папки "MangosFan", затем mangosd.exe из папки "MangosFan", затем mangosd.exe папки "MangosBlizzlike".
=========================================
Q. Имеются две подсети 192.168.0.12 и 192.168.1.12 на одном компе.
В таблице realmlist прописаны оба адреса. В зависимости от того какой RealmID = 1 или 2 (в mangosd.conf) сервер виден из одного или другого сегмента. Существует ли возможность подключения обоих сегментов к серверу? BindIP = ""
A. в mangosd ищеш строчку RealmID пишет RealmID = 1,2 а в realmd (realmlist) создаёшь 2 реалм.

4. Список команд в консоли

Список команд можно получить через help в консоли
help - вывод списка команд
broadcast - сообщение в мир (system message)
info - выводит информацию о сервере (колличество играков)
ban \ unban - бан\анбан игроков
listbans - список забаненых
setgm - сделать акаунт ГМским (setgm name level, где level 1 - модератор, 2- ГМ, 3 - админ)
listgm - список ГМ акаунтов
create - создать акаунт (create name password)
delete - удалить аккаунт (delete name)
exit - выключить сервер
loadscripts - перезагрузка библиотеки скриптов
loadaddons - загрузка данных аддонов
kick - кикнуть юзера (kick name)

5. Как обновить базу сохранив персонажей?!

Если вы обновляете только одну игровую базу (не realm), то сделайте дамп таблиц character_* и guild_*,auctionhouse*, item_instance,mail,mail_item после чего удалите старые табллицы (а лучше всё делать вообще в отдельну базу), после чего удалите залившиеся вместе с новой базой таблицы character_* и guild_*,auctionhouse*, item_instance,mail,mail_item и импортируйте ваш дамп.

Обновление базы Realmd вообще не имеет смысла,так как она не содержит никакой информации относящийся к геймплею, если это требует ревизия Mangos, то вы можете просто имортировать файл обновления...(на всякий случай не забывайте делать копию)
6. Перенос персов с акка на акк

Цитата:
надо в таблице characters.characters изменить у нужного перса account.
номера акков смотерть в таблице realmd.account (поле id)
7. Как обновить ядро?
Цитата:
просто заменить файлы mangos.exe, realmd.exe, mangosscript.dll
и применить обновления к базе из папки sql
8. Краткая установка базы.

Качай базу.
Заливай

1. UDB_0.10.2_Core_5949_SD2_414.sql.
- 352_corepatch_mangos_5950_to_6076.sql
- 352_updatepack_mangos.sql
- 353_corepatch_mangos_6077_to_6085.sql
- 353_updatepack_mangos.sql

2. Теперь заливай патчи с ядра (пример, из 6088b)

- new_spell_proc_event.sql
- arena_mangos.sql
- autobroadcast.sql
- game_graveyard_zone.sql
- creature_movement.sql
- paladin.sql

3. Cкрипты с ядра

- Defias Cannon.sql
- Adal.sql
- Engineering Fly Mounts.sql
- Kargath.sql
- Mekgineer.sql
- Myav Guards 4.sql
- nightbane.sql
- Solarian.sql
- teleguy.sql

4. Теперь из папки с ядром заливай следующее:

- \MaNGOS\scripts-sql\mangos_additional_req.sql
- \MaNGOS\scripts-sql\mangos_full_scripts.sql

И ещё, если будут ошибки, типа у каких то НПЦ мало жизней/маны и т.п., то заливай следующее:

UPDATE `creature`, `creature_template` SET `creature`.`curhealth`=`creature_template`.`minhea lth`,`creature`.`curmana`=`creature_template`.`min mana` WHERE `creature`.`id`=`creature_template`.`entry` and `creature_template`.`RegenHealth` = '1';

ScriptDev2
Теперь качай ACID(<https://sd2-acid.svn.sourceforge.net/svnroot/sd2-acid>).
Сначала накати \Папка с ядром\scripts-sql\scriptdev2_structure.sql

/sd2-acid/full_release/0.0.2 - из этой папки заливай:
- 002_acid_428_mangos.sql - в базу данных mangos
- 002_acid_428_scriptdev.sql - в базу данных scriptdev2

/sd2-acid/updates/0.0.2 - из этой папки заливай:
- 12_mangos.sql - в базу данных mangos
- 12_scriptdev.sql - в базу данных scriptdev2
9. mangos на две сети

Вопрос: Вот если есть сервер стоит на одной машине, эта машина подключенна к двум локальным сетям через две сетевые карты имеют два разных IP-адреса как сделать один игровой мир для двух сеток?

Решения:
1. a) route перенаправляет соединения на определённый адресс,у тебя может быть 2 IP но сервер физически гдето то один:
route add 127.0.0.1(твой сервер) 255.255.255.255 10.0.0.1(шлюз1)
route add 127.0.0.1(твой сервер) 255.255.255.255 10.0.0.2(шлюз2)
b) route -p ADD 192.168.*.* MASK 255.255.255.0 192.168.*.*
В место звездачек ставишь свои данные и если в сети много подсетей то на каждую делаешь свою строку (например вместо первых двух звездачек 20.0 затем 30.0 и т.д.)Вместо вторых двух шлюз через который выходишь он для всех подсетей один.Как все сделал сохраняешь с расширением .bat и пременяешь

2. В mangosd.conf ищеш строчку RealmID пишет RealmID = 1,2 а в realmd (realmlist) создаёшь 2 реалм.
10. Создание Итема-портала

То есть, создаем итем, при использовании которого нас портует по координатам map, x, y, z , orientation.
1) Выбираем итем, к которому собственно и будет приписана телепортация. На пример возьмем [Refined Scale of Onyxia].
2) Выбираем точку, в которую будет портавать при использовании итема, идем туда, пишем
.gps
Выписываем себе то что выдало, именно map, x, y, z , orientation.

3) Открываем Navicat MySQL, база Mangos, таблица spell_teleport.
Там 6 столбиков: 1-ый - это ID спела, остальные это координаты map, x, y, z , orientation. Выбираем спелл, который будем редактировать. ВАЖНО чтобы этот спел был почти не используем игроками, дабы не нарушить сбалансированность игрового процесса. Значит перед редактированием спела, нужно его проверить (учим его себе гм командой, проверяем). Итак, мы выбрали спелл, вместо которого будет наш. В таблице spell_teleport редактируем столбцы map, x, y, z , orientation, под координаты, которые мы записали в пункте 2). Закрываем Navicat MySQL.
4) Открываем программу Quice. Находим в ней итем, который выбрали в пункте 1, мы взяли пример [Refined Scale of Onyxia]. Теперь приписываем к итему спелл, это делается во вкладке Item template, внизу будет раздел Спелы, там нужно вписать свой спел. С этим проблем быть недолжно, ведь Quice - простая программа.
5) теперь у вас есть итем [Refined Scale of Onyxia], который будет портавать вас по координатам из пункта 2), map, x, y, z , orientation. Можете его добавить вендору, можете сделать с ним все что угодно=)

copyright ©<http://info.70mb.ru/> & <http://bryk.ru/> by Nick

http://wowjp.net/forum/18-1367-1 - от сюда взято!