Создание сервера MuOnline
Как установить сервер для MuOnline v0.97(d)
---------------------------------------------------------


Начнём с самого простого.Что вам необходимо чтобы иметь сервер MuOnline :
---
1. Процессор с тактовоё частотой,большей чем 2.5 МГц.
2. 512 Мб оперативной памяти(минимум).
3. Выделенный интернет канал со скоростью не менее 1 Мбит/сек.(это важнее всего!)
---
На этом закончим.Теперь приготовьте лист и ручку и запишите то,что вам необходимо будет купить :
1. Диск "Microsoft Windows 2000 Server" (желательно с портированным в него SP4).
2. Диск "Microsoft SQL Server 2000 Enterprise Edition".
3. Кофе на длинную ночь =]

Вроде бы всё.Начинаем установку самого сервера.

Сначала скачиваем сервер.Я вам рекомендую версию 0.97 или 0.97d,ибо в них меньше багов и вещи из 0.99 версии можно
портировать в неё.Сам сервер в распакованном виде должен находиться в папке D:/muserver.
Если у вас нету такого диска,то очень скоро вы полюбите команду subst =].Ну а если есть - тогда все Ок.

После того,как вы скачали сервер,надо установить Windows 2000 Server.
Настроить его обычному юзеру непросто,поэтому советую ещё прикупить себе какую-нибудь книжку по этой теме.Но это-потом.
Сам процесс установки ОКОННОЙ РАМЫ я вам обьяснять не буду - он мало чем отличается от установки XP(благо ядро одно и то-же),
поэтому сразу перейдём к установке MS SQL Server 2000.

Установка сервера базы данных.
--------------------------------------
Первое что мы с вами делаем - это вставляем диск =).После этого жмем "Install MS SQL Server"(может называться и по другому).
В окошке выбираем "Local Computer",потом "Create a new instance of SQL Server, or install Client Tools",
и Server and Client Tools.Тип установке выбираем "Typical",после того как попадёте в окно "Services Accounts"-введите
там свой пароль администратора(системы).В следующем окошке выберите "Mixed Mode (Windows Authentication and SQL
Server Authentication)".Потом введите пароль для суперадмина(sa).Вы можете написать стандартный пароль - jj4dnakfg,либо же
придумать свой(не забудте только его потом поменять в конфиге сервера).


Запускаем сервис.
--------------------------------------
Нажмите Start->Programs->Microsoft SQL Server->Service Manager и нажмите на кнопке Start/Continue.

Создаём базу данных.
--------------------------------------
Заходим в Start->Programs->Microsoft SQL Server->Enterprise Manager.Подключаемся к нашей базе данных и идём сюда -
Console Root->Microsoft SQL Server->Mu (Windows NT)->Databases.
Жмем правой кнопке на пункте "Databases" и потом кликаем "New database...".
Таким образом создайте две базы - MuOnline и Ranking.
Затем нажмите правой кнопкой на базе MuOnline -> All Tasks -> Restore Database...
На вкладке "General" выберите "From device",затем кликните на "Select drives..." и нажмите кнопку "Add".
Далее жмем "Browse" и выбираем фаил D:muserverdb baksMuOnline и жмем ОК.У вас получится "устройство",с именем
"D:muserverdb baksMuOnline".После этого переходим на вкладку "Options" и выбираем там "Force restore over existing
database" и жмем кнопку ОК.У вас должно появится окошко - "Restore of database 'MuOnline' completed succesfully".
Если всё так,то у вас всё получилось.
Поздравляю!

Добавляем юзеров.
--------------------------------------
Заходим в Start->Programs->Microsoft SQL Server->Enterprise Manager.Подключаемся к нашей базе данных и идём сюда -
Console Root->Microsoft SQL Server->Mu (Windows NT)->Security->Logins,жмем правой кнопкой в окне и выбираем "New Login...".
В окне "SQL Server Login Properties - New Login" и вкладке "General" введите имя MuAdmin,выберите опцию
"SQL Server Authentication" и пароль для юзера - china-mu1(не меняйте его ни в коем случае!!!).
Так-же смените "Default Database" на "MuOnline".
Идём дальше.На следующей вкладке "Server Roles" выбираем "System Administrators",потом переходим на вкладку "Database Access"
и выбираем там "public" и "db_owner".
Таким-же образом создайте юзера Admin с паролем china-mu1 и отредактируйте юзера sa - смените ему "Default Database"
на "MuOnline".

Делаем ODBC Links.
--------------------------------------
После того,как вы убедились,что ODBC драйвера установлены,переходим к самому важному - созданию ссылок баз данных.
Заходим в Start->Settings->Control Panel->Administrative Tools->Data Sources (ODBC).
Выбираем вкладку "System DSN".
Чтобы добавить новую ссылку,нажмите на "Add...",выберите "SQL Server driver"(в самом конце) и нажмите "Finish".
Используйте "MuOnline" как имя для ссылки,и ваш "SQL Server for Server".После этого нажмите на "Next" два раза,
смените "Default database" на "MuOnline" и нажмите "Next" и "Finish".
Создайте 12 System DSN-ссылок с именами :
MuOnlineJoinDB, Event, USELOG, ACCOUNTDB_INFO_START, GAMEDB_INFO_END, GAMEDB_INFO_START, LOGINDB_INFO_START,
MUMNGDB_INFO_START, SERVERINFO_START, USELOGDB_INFO_START, ExDB и Muonline ExDB.
Ещё создайте 1-у ссылку с именем DEVILSQURE_RANKING,которая использует "Ranking" как базу данных по дефолту.
После этого нажмите "Ok" чтобы выйти из этого ужасного места.=)

Меняем IP адреса для сервера.
---------------------------------------
Вы должны отредактировать эти файлы и сменить IP на ваш собственный :
D:\muserverCSConnectserverlist.dat
D:\muserverCSdataConnectserverlist.dat
D:\muserverCSdataServerlist.dat
D:\muserverdatacommonserver.cfg
D:\muserverdataIpList.dat
D:\muserverdataLangchscommonloc.cfg

Вот как должен выглядеть файл commonserver.cfg(Не смотрите на IP - он не верен.Лучше смените его на свой):


;----------------------------------------------------------------------
[GameServerInfo]
;////////////////////////////////////////////////////////////////////////////////
; SYSTEM
;////////////////////////////////////////////////////////////////////////////////

Language = 0 ; 0:Korea, 1:English, 2:Japan, 3:China, 4:Taiwan
ItemSerialCheck = 1 ; Checks every item ( prevents item dupe )
SpeedHackPlayerBlock = 1 ; Stops using of speedhacks
AddExperience = 100 ; % of xp per mob
StalkProtocol = 0 ;
StalkProtocolId = gg ;
CharacterDeleteMinLevel = 40 ; level 41 cant delete char
CreateCharacter = 1 ; Can create chars

;//////////////////////////////////////////////////////////////////////////////
;// GAME
;//////////////////////////////////////////////////////////////////////////////

GuildCreateLevel = 100 ; Level to create guilds
GuildCreate = 1 ; Can Create Guilds
GuildDestroy = 1 ; Can delete guilds

Trade = 1 ; Trade Available

;Chaos Event
ChaosBox = 1 ; Chaos Machine Available
ChaosEvent = 1 ; Golden Budge Dragons
ChaosEventServer = 192.168.219.128 ;


AttackEventRegenTime = 100 ; 100m for event regen

PKTIME = 10 ; Amount of time for pk

PKItemDrop = 1 ; Pk drops item when dead

MonsterHp = 0 ; Hp of mosnter 0 = 100 , 80 = monster with less 80% of hp ( meaning 20% )

ItemDropPer = 70 ; % of Item drops

;Zen duration time ( secs )
ZenDurationTime = 30




;NPC Talking
MerryXMasTalkNpc = 0 ; NPC Talking Chirstmas
HappyNewYearTalkNpc = 0 ; NPC Talking New Year
EnableEventNPCTalk = 0 ; NPC Talking


;Anti Hack Settings
AttackSpeedTimeLimit = 450
IsIgnorePacketHackDetect = 0
HackCheckCount = 3
MinimumAttackSpeedTime = 200
DecTimePerAttackSpeed = 5.33
;
SpeedHackPenalty = 3 ; SPEED HACK? PENALTY
DetectedHackKickCount = 15 ; HACK CHECK COUNT
IsKickDetecHackCountLimit = 1 ; HACK CHECK COUNT

;Red Dragon Event
EVENT1 = 0 ; Let it be 0 , or GS will take too much memory ( ReD dragons arent Available )
Event1ItemDropTodayMax = 0 ;
Event1ItemDropTodayPercent = 0 ;

;StarXmasEvent
XMasEvent = 0
XMasEvent_StarOfXMasDropRate = 10
XMasEvent_ItemDropRateForStarOfXMas =10

;FireCrackerEvent
FireCrackerEvent = 0 ;
FireCrackerDropRate = 400 ; 4000/10000=40% FireCrackerDropRate/10000
ItemDropRateForFireCracker = 5 ; 9/10=90% ItemDropRateForFireCracker/10

;DevilSquare
DevilSquareEvent = 1 ;
DevilSquareEventServer = 192.168.219.128 ;
DevilSquareEventConnect = 0
EyesOfDevilSquareDropRate = 3 ; 3/10=30%
KeyOfDevilSquareDropRate = 3 ; 3/10=30%

;Medal Events
MedalEvent = 0
GoldMedalDropRate = 0
SilverMedalDropRate = 0
ItemDropRateForGoldMedal = 0
ItemDropRateForSilverMedal = 0

;EventChip
EventChipServerConnect = 0
EventChipServerIp = 192.168.219.128 ;
EventChipEvent = 1
BoxOfGoldDropRate = 100 ; BoxOfGoldDropRate/10000
ItemDropRateForBoxOfGold = 0
EventChipDropRateForBoxOfGold = 10 ; EventChipDropRateForBoxOfGold/100

;HearofLove
HeartOfLoveEvent = 1
HeartOfLoveDropRate = 1000 ; ItemDropRateForFireCracker/10000
ItemDropRateForHeartOfLove = 100 ; ItemDropRateForFireCrack

;GoldenMob Attack

IsEledoradoEvent = 0 ;

;Regen time for the Golden mobs event (minutes)
EledoradoGoldGoblenRegenTime = 120
EledoradoTitanRegenTime = 120
EledoradoGoldDerconRegenTime = 120
EledoradoDevilLizardKingRegenTime = 120
EledoradoDevilTantarosRegenTime = 120

;Drop rare for Golden mobs
EledoradoGoldGoblenItemDropRate = 100
EledoradoGoldGoblenExItemDropRate = 100
EledoradoTitanItemDropRate = 50
EledoradoTitanExItemDropRate = 50
EledoradoGoldDerconItemDropRate = 50
EledoradoGoldDerconExItemDropRate = 50
EledoradoDevilLizardKingItemDropRate = 50
EledoradoDevilLizardKingExItemDropRate = 50
EledoradoDevilTantarosItemDropRate = 50
EledoradoDevilTantarosExItemDropRate = 50

;BloodCastle

BloodCastleEvent = 1
BloodCastleStartHour = 1 ;1 / 2 ( 30m/1h/2h )
AngelKingsPaperDropRate = 100 ; (AngelKingsPaperDropRate / 10000)
BloodBoneDropRate = 100 ; (BloodBoneDropRate / 10000)
StoneItemDrop = 0 ; event ( Bless Fragment ) ( not working
StoneDropRate = 0 ; (StoneDropRate/ 10000)

На этом всё.

Меняем параметры значков.
--------------------------------------
Заходим в директорию d:/muserver/Links ,кликаем правой кнопкой на ярлыке 4.lnk и меняем его опции(поле Target).
D:MuserverJoinServerJoinServer.exe /p55970 /ca127.0.0.1 /cp55557 - смените 127.0.0.1 на ваш IP.

Открываем свойства ярлыка 8.lnk и меняем его опции.
D:MuserverGameServerGameServer.exe 127.0.0.1 55970 127.0.0.1 55960 55901 - смените 127.0.0.1 на ваш IP.

Запуск сервера.
--------------------------------------
Кликаем по очереди на все значки с 1 по 8(дожидайтесь пока тот или иной сервер загрузится полностью!).

После этого настройте клиент для своего сервера и законнектитесь к нему.
Вот и защита !
===== MuOnline Server : Выбираем файрволл =====
-----------------------------------------------
Одна из самых важных проблем при создании своего сервера - это выбор файрволла.
Правильный выбор файрволла очень важен,если вы не хотите чтобы ваш сервер
был похож на Alien Nation без вашего ведома =).Да и не каждый захочет
видеть admLoki в exl шмотках+15,которых не носит даже создатель
сервера =).Именно поэтому нужно выбрать тот файрволл(а при наличии
второго компьютера в домашней сети сервера - IDS),с которым ваш сервер
будет в полной безопасности(ну почти в полной =)).

== Путь 1-ый.Ставим файрволл ==
На мой взгляд,один из самых лучших файрволлов - ISS BlackICE Server Protection.
Он включает все возможности обычных домашних файрволлов(Zone
Alarm,Agnitum OF),а так-же полный отчет при попытке
подключения/сканирования/взлома/посылке шеллкода на удалённый порт и,
конечно,пресечения данных нехороших вещей =).Вы можете сами задать
необходимые правила для того или иного порта(подключение/пакет) или события.

== Путь 2-ой.Ставим IDS ==
Что такое IDS?
IDS - Interactive Defence System(да простит меня Myth если я ошибся).
IDS занимается обнаружением атак,неизвестных подключений к
портам,появлений неизвестных портов(а особенно тех,на которых висят
суидные шеллы =)) и т.д.,причем он защищает не только сам компьютер,но
и крутящиеся на нём сервисы(www,mysql,mail etc ).IDS есть как под
UNIX-Like системы,такие как Linux,Solaris,*BSD,Debian,так и под
win32-системы(Windows NT,2k,2k Server,XP).

Один из самых известных IDS для Linux - Snort.Он относится к пассивным
IDS,которые только заносят в логи IP,время и историю действий.

Дам пару советов по правильной установке связки компьютеров.
1.IDS можно настроить на любую подсеть,но всё-таки желательно чтобы
компьютер,на который вы решились поставить IDS был как-бы впереди,и
принимал на себя все атаки,выполняя роль хардварного роутера и
брэндмауера.Если у вас нету квалификации в Linux,то советую поставить
вам графический эмулятор другой операционной системы(например,Virtual
PC от Microsoft,правда я в нём так и не разобрался),на котором и будет
крутиться IDS.
2.Если вы решили сделать так,как будет в совете 1,то совет 2 я могу
сформулировать так :
1.Сделайте так,чтобы при попытке коннекта на компьютер-защитник
,например на порт 44450,пакет перенаправлялся собственно на
компьютер-сервер.Сделать это несложно,если иметь опытного друга-техника.
Можно просто настроить компьютер-защитник на маршрутизацию - идей море!

=== Возможные проблемы ===
1.Из-за того,что unix-like системы в основном используют другую
файловую систему(ext2fs,reiserfs) в отличие от
windows(fat16/32,ntfs),потребуется самостоятельно разбить(не в
буквальном смысле =)) жесткий диск на разделы для Linux.Но это не
самая главная проблема.
2.Проблема в установке Linux.Я рекомендую именно эту систему,так-как
для новичка там,ИМХО,самый лучший графический интерфейс KDE.Но вот
установка системы может затормозить весь процесс где-то на час или
два,что не всегда приятно.Советую купить себе User
Guide/Manual/Руководство пользователя для системы,которую решили
выбрать вы.
СПС мне и вам =)