Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Другие игры / Other games (https://forum.zone-game.info/forumdisplay.php?f=24)
-   -   Описание создания сервера для Кабал Онлайн (https://forum.zone-game.info/showthread.php?t=30043)

DarkerThanBl 10.07.2013 10:55

Описание создания сервера для Кабал Онлайн
 
[БД]
У меня всё отлично работает на MS SQL 2000 - он кушает ресурсов меньше чем 2005
Для MS SQL 2000 нужен Service Pack 4

На установки сервера останавливаться не буду - там всё просто и интуитивно понятно
Займёмся игровыми базами:

1) Создаём 6 баз:
Код:
Account
Cabal_managerdb
Cabal_Stat
CabalCash
Event
GameDB
Останавливаем SQL сервер и заменяем файлы созданных баз файлами баз сервера - файлы .mdf и .ldf - обычно они находятся в C:\Program Files\Microsotf SQL Server\MSSQL\Data !Внимание! Файлы с расширением .ldf - журналы транзакций - они должны быть в одной папке с .mdf файлами, иначе база не заработает!
Запускаем сервер.

2) Восстанавливаем базы из бекапа:
Жмём правую кнопку мыши на Account -> Все задачи - >Restore Database и выбираем файл account (без рсширения)
Тоже самое с cabalcash и gamedb
3) Добавляем Store Procedure xp_md5
В папке с базами сервера есть файлик xp_md5.dll - закидываем его куданить в C:\Program Files\Microsotf SQL Server\MSSQL. Открываем Query Analyzer, выбираем базу Master и пишем:

Код:
exec sp_addextendedproc 'xp_md5', 'C:\Program Files\Microsotf SQL Server\MSSQL\xm_md5.dll'
жмём Execute

4) Создаём пользователя:
Security -> Logins
Назначаем необходимые роли и даём доступ к нашим базам!

5) Идём Security -> Linked Servers -> New Linked Server
Вкладка General

Код:
Linked Server: GAMESERVER
Server Type -> Other Data Source: Microsoft OLE DB Provider for ODBC Drivers
Product Name: gameserver
Provider string: DRIVER={SQL Server};SERVER=localhost;UID=Логин пользователя созданного в пункте 3;PWD=Пароль пользователя созданного в пункте 3
Вкладка Security

Код:
Be Made using the logins's current security context
Вкладка Server Option
Cтавим галачки везде и жмём применить! На этом с базами всё!

[OC]
ЦентОС 4.5 довольно древний
Ставь 5.2 - это самая последняя версия на сегоднешний день

Код:
СentOS - свободная операционная система корпоративного уровня, собранная из исходных текстов Red Hat Enterprise Linux. Фактически CentOS предоставляет свободный RHEL для тех, кому не нужна техническая поддержка от Red Hat. Проект CentOS не накладывает патчи на SRPM-пакеты от Red Hat (если не считать изменения логотипов), поэтому система на 100% совместима с RHEL и содержит только свободные пакеты.

Обновления можно получить через yum (для x86-версии работает apt-репозиторий). CentOS имеет быстрорастущее сообщество, тщательно отработанный процесс быстрой сборки, тестирования и выпуска исправлений (errata), поддержку через форумы, IRC, динамический раздел FAQ, а также возможность приобрести коммерческое сопровождение.

CentOS 5.2 основана на исходных текстах Red Hat Enterprise Linux 5.2 и содержит все пакеты клиентской и серверной версий. CentOS 5.2 включает в себя поддержку виртуализатора Xen и трехмерных рабочих столов Xgl/AIGLX.

Основные компоненты:
ядро 2.6.18, gcc 4.1.1
X.Org 7.1, KDE 3.5, Gnome 2.16
OpenOffice.org 2.0, Evolution 2.8
Firefox 1.5, Thunderbird 1.5
Apache 2.2,PHP 5.1.6, MySQL 5.0, PostgreSQL 8.1
Скачать - http://www.centos.org/modules/tinyco...ndex.php?id=15 (3.8 gb)


[Эмуляторр]
По поводу эмулятора - не видел но слышал что есть такой coLinux...
Незнаю ничего про него - посоветую или Wmware или MS Virtual PC - два проверенных временем эмулятора - по моим наблюдениям MS Virtual PC не такой прожорливый как Wmware - хотя сам использую Wmware! Ставиться без проблем!
Создаём новую виртуальную машину
Жмём New Virtual Machine
Virtual Machine configuration -> Custom
Guest operating system -> Other
Version ->Other
Имя и размещение - любое, какое вам будет угодно
Количество процессоров - если у вас 2 ставим 2 или 1, если 1 то естествено 1
Memory - у меня стоит 3000мб
Network Type -> Use Bridged networking
Размер и тип диска оставляем по умолчанию - но или по крайней мере делаем не менее 6 Гигов
Заходим в свойства созданной виртуалки - выбираем сиди-ром - жмём Use ISO Image и выбираем isoшник CentOS - жмём ОК
Машина создана - пара ставить ОС

[Установка CentOS 5.2]
Загружаем Виртуальную Машину и видим логотипчик CentOS - жмём Enter. Дальше нас просят проверить диск на "убитость" - пропускаем. Загружается Графический Интерфейс - Жмём Next. Далее выбор языка - ищем Русский и жмём Далее. Раскладку оставляем английскую. Далее разбиение диска - предоставим это установщику - просто жми далее и соглашайся. Предлагают настроить Сетевую карту - что и сделаем, жмём Редактировать. Отключаем потдердку IPv6 - настраиваем только IPv4 - вручную задаём IP и Маску - например IP 192.168.1.1 Маска 255.255.255.0 - Потом Окей. Имя хоста - любое понравившееся вам. Шлюз: а) Если у вас локальная сеть - адрес шлюза в интернет б) Если у вас ADSL модем - адрес модема. DNS серва тоже вписываем. Пароль ROOT - пишем и запоминаем его - она нам очень пригодица! Выбор Програмного обеспечения, которое надо ставить. Выбираем из списка всё кроме Virtualization, Clustering и Storage Clustering. Ставим галачку - выбрать сейчас. В разделе Development(Разработка) добавляем Development Libraries, Development Tools, Legacy Software Development, X SoftWare Development. Раздел Base System (Базовая Система) добавляем Legacy Software Support. Жмём Далее. Пощёл процесс установки, после окончания жмёл Перезагрузить. ОС установлена!

[Установка Сервера Cabal Online]

Установка Библиотек(Актуально для CentOS 5.2):
Логинимся в систему по учётной записью root (супер пользователь), копируем в папку root следующие пакеты dstat-0.6.3-1.rh9.rf.noacrh.rpm, ncftp-3.1.9-1.i386.rpm, freetds-unixodbc-0.64RC3-1.i386.rpm и cabal.rpm. Всё остальное мы будем ставить спомощью менеджера пакетов - он скачает все необходимые пакеты с нета, учтёт зависимости и поставит туда куда надо.
Открываем консоль и ставим пакеты с нета:

Код:
yum install openssl097a
yum install unixODBC*
yum install net-snmp*
Переходим в папку root:

Код:
cd /root/
Ставим пакеты из папки root:

Код:
rpm -Uvh dstat (Дальше жмём кнопку Tab - система автоматически допишет имя файла dstat-0.6.3-1.rh9.rf.noacrh.rpm - Жмём Enter - пакет инсталица. И так со всеми 4мя пакетами)
rpm -Uvh ncftp
rpm -Uvh freetds
rpm -Uvh cabal
С пакетами закончили, заливаем остальные серверные файлы:
/etc/cabal в /etc/
odbc.ini и odbcinst.ini в /etc/
/usr/bin/, /usr/lib/ в /usr/

Нужно установить вот этот патч: http://files.filefront.com/CabalAuth.../fileinfo.html качаем распаковываем и заливаем с заменой файлов. Патч испоавляет проблему с долгими конектами к серверу - теперь клиент заходит с первого раза!

Создаём ссылки на Бинарники:
Переходим в /usr/bin/

Код:
cd /usr/bin/
ln -s DBAgent DBAgent_24 - ссылка DBAgent_24 на бинарник DBAgent
rm -f GlobalDBAgent - удаляем бинарник GlobalDBAgent - он был актуален в прошлой версии сервера
ln -s DBAgent CashDBAgent
ln -s LoginSvr LoginSvr_01
ln -s ChatNode ChatNode_24
ln -s WorldSvr WorldSvr_24_01

cd /etc/init.d/
ln -s cabal_server GlobalMgrSvr

[Настраиваем конфиги]
/etc/odbc.ini
В нём Adress= IP, где айпи сетевухи где стоит MS SQL
Далее идём в папку /etc/cabal/
и редактируем все ini файлы
Уделяем внимание секциям:

Код:
[DSN]
DBid=Логин к базе
DBpwd=Пасс к базе
Код:
[GlobalMgrSvr] или [DBAgent] или другие, где есть
Addr=IP сетевухи где стоит CentOS(можно ставить 127.0.0.1)
Port=38170 - порт нигде не трогаем
В файле WorldSvr_24_01 есть Секция вида:

Код:
[XXX]
Addr=xxx.xxx.xxx.xxx
Port=xxxx
В них как и раньше IP CentOS - порт не трогаем
И есть параметр IPAddress = xxx.xxx.xxx.xxx
Это адрес ГеймСервера - сюда пишем:
1) Если у вас локалка с адресам из диапазона 192.168.1.x - ставим айпишник CentOS
2) Если у вас ADSL модем в режиме роутера - ставим свой внешний IP (88.85.211.x) - в модеме в настройках NAT прокидываем порты 38101 и 38121 для IP сетевухи машины на которой стоит CentOS. При таком подключении к интернету - сами вы зайти напрямую на свой сервер не сможете!
На этом установка и конфигурация сервера закончена - запускаем:
В консоле:

Код:
service cabal start
если всё DONE - то всё ок - настроили правильно и сервер запущен, если нет - перечитываем заново или смотрим видеогайд
также работают команды
service cabal stop/restart/status

[Регистрация]
Скрипт регистрации - http://files.filefront.com/registerr...o.htmlЗаливаем к себе на http, редактируем config.php


Код:
$dbhost=192.168.1.x - IP Базы Данных
$dbuser=sa - Пользователь, имеющий доступ к базе Account
$dbpass =sasa - Пароль
$db=Account
$host=localhost
$ip=192.168.1.x
Далеем чють дорабатываем таблицу cabal_auth_table в базе Account
Правой кнопкой мышки на таблице - Design Table
Добавляем 3 параметра в самом конце:

Код:
|
|Column Name | Data Type | Length | Allow Nulls|
| pentame | varchar | 50 | V |
| emailadd | varchar | 50 | V |
| pass | char | 32 | V |


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


[Клиент]
Качаем, клеим все части в одну, ставим(в конце установки установщик выдаёт ошипку что чтото он там не нашёл - жмёк ОК - несматря на это клиент встал нормально)
Ставим патчи - сначала первый потом второй с заменой файлов
Лезем в клиент в папку Data
Открываем файлик internat.txt
IP=Айпишник сетевухи где стои CentOS - 192.168.1.x(88.85.211.x)
IP_CHAT= Айпишник сетевухи где стои CentOS - 192.168.1.x(88.85.211.x)
Сохраняем и запускаем cabal.exe
Вводим логин и пароль и мы в игре!


Текущее время: 02:40. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot