Главная » Статьи » Создание сервера Аллоды Онлайн - Windows

Создание Сервера Аллоды Онлайн - Windows

Перед тем, как перейти непосредственно к самому гайду, хочу сразу предупредить,

что Гайд писал не наш сайт, но лично я протестировал его и у меня всё получилось.
Разумеется не сразу. Пришлось повозиться..
Много нюансов, но всё возможно.

Обращайте внимание на:

ВЕРСИИ НЕОБХОДИМЫХ ПРОГРАММ НЕОБХОДИМЫХ ДЛЯ СОЗДАНИЯ СЕРВЕРА

- нужны именно те версии, что указаны в гайде. Не новее и не старее.
НАЧНЁМ!


Сервер

Сервер часть 1

Сервер часть 2

Сервер часть 3

Сервер часть 4

Немного софта для сервера + исходники Лаунчера


Прикрепляю мои файлы .bat и .cfg, необходимые для работы сервера. Вы можете перезаписать свои этими, а затем изменять. В противном случае, вам придется обновлять .bat файлы самостоятельно, как и некоторые ошибки в них.


ПРИМЕЧАНИЕ: Когда будете редактировать .bat'ники - посмотрите на Java-настройки перед запуском. Кроме того, редактируя .cfg, вы увидите, какие параметры можно изменить. Некоторые host/IP не изменяются, не вызывая ошибки, поэтому, не забудьте проверить папку "out" на сервере, дабы знать, что пошло не так.

Эти файлы представляют собой установку одиночного сервера. В моем файле "server\server_bin\shard\cfg\maps.cfg", я включил только первые две инстанс-стартовые зоны для Лиги и Империи. Вы должны иметь возможность запустить сервер с более чем 2 ГБ RAM и Java не будет работать из памяти.
Однако, вы должны открыть "server\server_bin\shard\startServerDefault.bat" и изменить число "16384" , отвечающее за макс. объем памяти, который Java может использовать, на меньшее, например, "1024".

Если у вас много памяти, то вы можете удалить "maps.cfg" файл и переименовать "all_maps.cfg" в "maps.cfg".

[!] Необходимый софт:

WAMP (x32) | WAMP (x64)

PostgreSQL (x32) | PostgreSQL (x64)


JDK (x32) | JDK (x64)  



1. - Prerequisites

Notepad++ - очень удобный текстовый редактор.
Hex Workshop - хороший (платный) шестнадцатеричный редактор.
Anti-WPA - хороший Anti-WPA инструмент для виртуальных машин, если вы используете сервер 2k3. Chew-WGA - хороший Anti-WGA инструмент для виртуальных машин, если вы используете сервер 2K8-R2.


// Java
Необходимо установить 6u18 JDK.
Вы должны использовать эту, конкретную, версию JDK!
Все, что нужно сделать, это установить через инсталлятор, ничего не меняя.
Если вы используете Win x32, установить: JDK-6u18-Windows-i586.exe
Если вы используете Win x64, установить: JDK-6u18-Windows-X64.exe

Теперь перейдите в папку установленной JDK.
х32 ОС / х32 JDK: "C: \ Program Files \ Java \ jdk1.6.0_18"
x64 ОС / x64 JDK: "C: \ Program Files \ Java \ jdk1.6.0_18"
x64 ОС / x64 JDK: "C: \ Program Files (x86) \ Java \ jdk1.6.0_18"

Теперь укажем Java "home path" в системе.
Правый клик на "Мой компьютер" и выберите "Свойства".
Выберите вкладку "Расширенные" (Advanced System Settings).
Нажмите на кнопку "Переменные среды".
-Нажмите кнопку "Создать" в группе "Системные переменные".
"Имя переменной" должен быть: "JAVA_HOME" (без кавычек).
"Значение переменной" должен быть вашим путем JDK (показано на шаге 2).
Нажмите кнопку OK, чтобы закрыть все диалоговые окна.
Java установлена ??и готова к использованию.

// PostgreSQL
Теперь установите последнюю версию PostgreSQL.
Вы можете использовать любую современную версию.
Для х32, установить: PostgreSQL-9.1.2-1-windows.exe
Для х64, установить: PostgreSQL-9.1.2-1-окна-X64.exe
Запишите пароль, который вы выберете, понадобится для установки сервера.
Можете оставить PgSQL порт по умолчанию.
Можете установить локаль "английский, США" (то, что я сделал).
После завершения установки, убедитесь, что стоит галочка на "Launch Stack Builder at exit" (по умолчанию установлена).

Теперь мы используем Stack Builder для установки соединений.
Выберите созданную базу данных в первом окне. Нажмите "Далее".
Разверните "Database Drivers" и выберите "pgJDBC" и "psqlODBC".Нажмите "Далее".
Нажмите "Далее", чтобы начать загрузку драйверов, и затем нажмите после установок.

Теперь Войти в базу данных, чтобы убедиться, что она работает.
Запустите инструмент "pgAdmin3" из меню Пуск.
Дважды щелкните на PostgreSQL-сервере для подключения к нему.
Введите пароль. Если все будет хорошо, вы должны войти в базу данных.
Конкретные настройки игры рассмотрим позже.
PostgreSQL установлен и готов к использованию.

// WAMP server
Теперь установите последний WAMP Server.
ПРИМЕЧАНИЕ: Можете и не использовать WAMP, как я для этого гайда.
Вы можете использовать любую современную версию.
Для х32, установка: wampserver2.2c-x32.exe
Для х64, установка: wampserver2.2c-X64.exe
Установка - это довольно много кликов.
ПРИМЕЧАНИЕ: Если вы устанавливаете на машину, которая уже имеет веб-сервер, вы столкнетесь с конфликтом портов, так что либо удалить старый веб-сервер, или прочийте об изменении порта для WAMP.
WAMP сервер установлен и готов к использованию.

2. - AccountServer
Теперь добавьте учетную запись базы данных для сервера баз данных.
Запустите "pgAdmin3" и войдите в базу данных сервера, используя свой ??пароль.
Дважды щелкните на сервер для подключения к нему (если он имеет красный маркер).
Щелкните правой кнопкой на пункте "Databases" и выберите "New Database...".
Введите имя "ao_account_trunk16" и нажмите кнопку ОК.
Дважды щелкните на новой БД "ao_account_trunk16" для подключения к ней.

Теперь настроим AccountServer.
В "server_bin\accountServer\cfg\shard_local.xml" измените поля пользователя БД и пароль.
Позже, Вы можете связываться с Host / IPS.
Убедитесь в том, что всё сохранилось.

Запускаем AccountServer.
Запустите файл "server_bin\accountServer\startAccountServer.bat".
Если все будет хорошо, вы увидите что-то типо:
PHP Code:

Code
C:UserspushedxDesktopServerAccountServer>startAccountServer.bat[/font][/color]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServer>call startAccountServerCustom.bat[/font]<br>[font=Georgia,]<br>cfg/shard_local.xml jars[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServer>call startAccountServerCommon.bat[/font]<br>[font=Georgia,]<br>cfg/shard_local.xml jars[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServer>call ../scripts/startServer.bat 64[/font]<br>[font=Georgia,]<br>256 ../jars accountserver.AccountServerMain.jar 5006 ../cfg/shard_local.xml[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServer>REM 64 - permanent memory size (MB)[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServer>REM 256 - memory min/max size (MB)[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServer>REM ../jars, ... - other params[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServer>REM pushedx: Taking this out since we will set var ourselves[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServer>REM call ../../vendors/defineJavaHome.bat[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServer>cd cfg[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerAccountServercfg>"C:\Program Files\Java\jdk1.6.0_18/bin/java.exe" -server -XX:MaxPermSize=64m -Xmx256M -Xms256M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5006 -jar ../../jars/accountserver.AccountServerMain.jar ../cfg/shard_local.xml[/font]<br>[font=Georgia,]<br>Listening for transport dt_socket at address: 5006[/font]<br>[font=Georgia,]<br>log4j:WARN No appenders could be found for logger (launch.main.LauncherMain). log4j:WARN Please initialize the log4j system properly.[/font]<br>[font=Georgia,]<br>[01-26 22:53:49,982, 125] main - INFO launch.main.LauncherMain : loading config from ../cfg/shard_local.xml [01-26 22:53:50,434, 577] main - INFO launch.main.LauncherMain : loading fromcfg "../cfg/shard_local.xml", server "accountServer", deploy = 127.0.0.1 [01-26 22:53:50,434, 577] main - INFO launch.main.LauncherMain : Server type is "accountServer" [01-26 22:53:50,450, 593] main - INFO tools.reflection.ClassesLoader : loading classess from [serverbin, jars, jars_local]...[/font]<br>[font=Georgia,]<br>[01-26 22:53:51,526, 1669] main - INFO tools.reflection.ClassesLoader : 2435 classes loaded in 1.076 seconds [01-26 22:53:52,508, 2651] main - INFO accountserver.AccountServerStarter : starting account server...[/font]<br>[font=Georgia,]<br>[01-26 22:53:52,508, 2651] main - INFO accountserver.AccountServerStarter : loading build from builds/standard.xml [01-26 22:53:52,571, 2714] main - INFO accountserver.AccountServerStarter : configuration loaded [01-26 22:53:52,711, 2854] main - INFO DatabaseService : Database "jdbc:postgresql://127.0.0.1/ao_account_trunk16" is used.[/font]<br>[font=Georgia,]<br>[01-26 22:53:53,039, 3182] main - INFO databaseServer : Database structure checked [01-26 22:53:53,085, 3228] main - INFO DatabaseService : Database "jdbc:postgresql://127.0.0.1/ao_account_trunk16" is used.[/font]<br>[font=Georgia,]<br>[01-26 22:53:53,226, 3369] main - INFO databaseServer : Database structure checked [01-26 22:53:53,273, 3416] main - INFO accountserver.authenticator.Authenticator : Using "accountserver.authenticator.nivalimpl.AuthenticatorNivalImpl" authenticator.[/font]<br>[font=Georgia,]<br>[01-26 22:53:53,288, 3431] main - INFO accountserver.AccountServerHelper : Starting account api at 127.0.0.1:9337 [01-26 22:53:53,288, 3431] main - INFO tools.commons.logs.LogToLog4jHandler :Redirecting java.util.logging to Log4J...[/font]<br>[font=Georgia,]<br>[01-26 22:53:53,288, 3431] main - INFO tools.commons.logs.LogToLog4jHandler :Redirection of java.util.logging to Log4J started[/font]<br>[font=Georgia,]<br>2012-01-26 22:53:53.351::INFO: Logging to STDERR via org.mortbay.log.StdErrLog[/font]<br>[font=Georgia,]<br>2012-01-26 22:53:53.382::INFO: jetty-6.1.3[/font]<br>[font=Georgia,]<br>2012-01-26 22:53:53.429::INFO: Started SelectChannelConnector @ 127.0.0.1:9337 [01-26 22:53:53,429, 3572] main - INFO accountserver.AccountServerHelper : Account api started [01-26 22:53:53,429, 3572] main - INFO accountserver.AccountServerHelper : initializing RSA keys...[/font]<br>[font=Georgia,]<br>[01-26 22:53:55,705, 5848] main - INFO accountserver.AccountServerHelper : rsa keys initialized [01-26 22:53:55,737, 5880] main - INFO accountserver.AccountServerHelper : creating server for client authentification 127.0.0.1:9317 [01-26 22:53:56,282, 6425] main - INFO accountserver.AccountServerHelper : client authentification server created [01-26 22:53:56,282, 6425] main - INFO accountserver.AccountServerHelper : creating server for session approvement 127.0.0.1:9318 [01-26 22:53:56,298, 6441] main - INFO accountserver.AccountServerHelper : session approvement server created [01-26 22:53:56,298, 6441] main - INFO accountserver.AccountServerHelper : account server started, client <-> account server version = 22, shard <-> account server version = 13


AccountServer установлен и запущен.

3. - WebAccountServer
Теперь установим веб-интерфейсы сервера учетных записей.
Откройте WAMP корневую папку (обычно "C:\WAMP").
Создайте здесь новую папку "Allods".
Переместить содержимое папки "server_bin\server_api\" в папку"Allods".
То есть, после того как вы сделали, ваш "C:\wamp\Allods" папка должна иметь 5 папок: "hessian", "hessianPhpPatch", "j2php", "java", and "php".

Теперь настроим PHP используя эти файлы.
Щелкните по иконке WAMP в трее, выберите "PHP", затем выберите "php.ini".
В "php.ini" нажмите Ctrl + F и найдите "; Paths and Directories ;" (без кавычек).
Ниже, в следующей пустой строке, добавьте в следующую строку как есть:

PHP Code:

Code
include_path ".;C:\wamp\allods\hessian;C:\wamp\allods\hessianPhpPatch;C:\wamp\allods\j2php"<br>ПРИМЕЧАНИЕ: Если ваш пути отличаются, то вам нужно вписать именно их.<br>Сохраните файл "php.ini" и закройте, если всё сделали.<br>Щелкните по иконке WAMP в трее и выберите "Restart All Services".


Теперь тест создании учетной записи.
Переместите папку "PHP" из "C:\wamp\Allods" в папку "C:\wamp\www".
Отредактируйте "C:\wamp\www\php\accountExample.php".
ПРИМЕЧАНИЕ: $url должен соответствовать AccountServer. Например, в консоли AccountServer:

PHP Code:
Code
URL = http://127.0.0.1:9337 Path = /api Created! DEBUG ExecuteResult::__set_state(array( 'reason' => 'OK', 'status' => APIResult::__set_state(array( 'name' => 'SUCCESS', )), )) DEBUG AccountStatusResult::__set_state(array( 'accountStatus' => AccountStatus::__set_state (array( 'name' => 'Active', )), 'reason' => '', 'status' => APIResult::__set_state(array[/font]<br>[font=Georgia,]<br>( 'name' => 'SUCCESS', )), )) DEBUG AccountStatusResult::__set_state(array( 'accountStatus' => AccountStatus::__set_state(array( 'name' => 'Active', )), 'reason' => '', 'status' => APIResult::__set_state(array( 'name' => 'SUCCESS', )), ))


ПРИМЕЧАНИЕ: Там будет предупреждение в верхней части страницы, и вам придется настраивать WAMP, чтобы предотвратить появления предупреждений.
На данный момент, ваш AccountServer работает, а у вас есть ваш первый аккаунт!

4. - ServerConsole
(Используйте его что бы просто проверить AccountServer прямо сейчас, прежде чем создать Shard)
Теперь настроим и протестируем ServerConsole.
Редактируем "server_bin\serverConsole\cfg\console.cfg".
Обновите поля "accountServerHost" и "accountServerPort" если нужно.
Чтобы включить автоматический вход, раскомментируйте поля "accountSrvLogin" и "accountSrvPassword".
Сохраните и закройте файл.
Запустите файл "startConsole.bat".
Если все пойдет хорошо, ваша консоль должна выглядеть примерно так:
PHP Code:

Code
<b><span style="font-size: 12pt;">C:UserspushedxDesktopServerServerConsole>REM pushedx: setting path ourself[/font][/color]<br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>C:UserspushedxDesktopServerServerConsole>REM pushedx: Changed it to use: "C:\Program Files\Java\jdk1.6.0_18/bin/java.exe" for spaces[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>C:UserspushedxDesktopServerServerConsole>REM pushedx: Added -cfg params toload[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>C:UserspushedxDesktopServerServerConsole>REM pushedx: Removed extra consoleAlias.cfg entry[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>C:UserspushedxDesktopServerServerConsole>REM call ../../vendors/defineJavaHome.bat[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>C:UserspushedxDesktopServerServerConsole>cd cfg[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>C:UserspushedxDesktopServerServerConsolecfg>"C:\Program Files\Java\jdk1.6.0_18/bin/java.exe" -server -Xmx256M -jar ../../jars/serverConsole.ConsoleMain.jar -cfg console.cfg [01-26 23:29:22,313, 0] main - INFO tools.reflection.ClassesLoader : loading classess from [serverbin, jars, jars_local]...[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>[01-26 23:29:23,123, 810] main - INFO tools.reflection.ClassesLoader : 2145 classes loaded in 0.81 seconds[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>login: pushedx[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>password: connecting to account server...[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>[01-26 23:29:30,205, 7892] net_worker_0 - INFO serverConnector.accountServer.impl.AuthorizationPipe : Client id = 1 recieve cmd: class accountServerMsgs.toClient.ProblemMsg (1327642170205)[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>[01-26 23:29:30,907, 8594] net_worker_1 - INFO serverConnector.accountServer.impl.AuthorizationPipe : Client id = 1 recieve cmd: class accountServerMsgs.toClient.ValidationRequest (1327642170907)[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>[01-26 23:29:31,718, 9405] net_worker_1 - INFO serverConnector.accountServer.impl.AuthorizationPipe : Client id = 1 recieve cmd: class accountServerMsgs.toClient.PositionInQueueMsg (1327642171718)[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>[01-26 23:29:33,308, 10995] net_worker_3 - INFO serverConnector.accountServer.impl.AuthorizationPipe : Client id = 1 recieve cmd: class accountServerMsgs.toClient.RSAEncryptedMsg (1327642173308)[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>[01-26 23:29:34,462, 12149] net_worker_0 - INFO serverConnector.accountServer.impl.AuthorizationPipe : Client id = 1 recieve cmd: class accountServerMsgs.toClient.RSAEncryptedMsg (1327642174462)[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>[01-26 23:29:34,462, 12149] net_worker_0 - INFO serverConnector.accountServer.impl.AuthorizationPipe : Client id = 1 recieve cmd: class accountServerMsgs.toClient.CertificateResponse (1327642174462)[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>[01-26 23:29:35,211, 12898] net_worker_2 - INFO serverConnector.accountServer.impl.AuthorizationPipe : Client id = 1 recieve cmd: class accountServerMsgs.toClient.RSAEncryptedMsg (1327642175211)[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>[01-26 23:29:35,928, 13615] net_worker_1 - INFO serverConnector.accountServer.impl.AuthorizationPipe : Client id = 1 recieve cmd: class accountServerMsgs.toClient.ShardListMsg (1327642175928) logged in account server[/font]</span><br><span style="color: rgb(20, 20, 20); font-size: 12pt;">[font=Georgia,]<br>shards: shard_name population[/font]</span><br>[color=#141414][font=Georgia,]<br>enter shard name:</span></b>
Code
<br></p><p><br></p><p>Так как Shard еще не установлен, вы не можете подключиться к нему, но ваш AccountServer и аккаунт работают!<br><br>5. - MasterServer<br>Теперь установка и настройка MasterServer.<br>Щелкните по иконке WAMP в трее и выберите "PhpMyAdmin".<br>Нажмите на "Databases" и создайте новую базу данных: "allods_online_masterserver_trunk" (без кавычек)<br>Для других обновлений в дальнейшем, check out "Server\MasterServer\cfg\shard_local.xml".<br><br>Теперь мы можем запустить MasterServer.<br>Запустите файл "server_bin\masterServer\startMasterServer.bat".<br>Если все пойдет хорошо, результат в вашей консоли должен выглядеть примерно так:<br>PHP Code:</p><p>[code]C:UserspushedxDesktopServerMasterServer>startMasterServer.bat[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerMasterServer>call startMasterServerCustom.bat cfg/shard_local.xml[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerMasterServer>call ../scripts/startServer.bat 64512 ../jars masterServer.MasterServerMain.jar -maps ../cfg/shard_local.xml[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerMasterServer>REM 64 - permanent memory size (MB)[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerMasterServer>REM 512 - memory min/max size (MB)[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerMasterServer>REM ../jars, ... - other params[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerMasterServer>REM pushedx: Taking this out sincewe will set var ourselves[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerMasterServer>REM call ../../vendors/defineJavaHome.bat[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerMasterServer>cd cfg[/font]<br>[font=Georgia,]<br>C:UserspushedxDesktopServerMasterServercfg>"C:\Program Files\Java\jdk1.6.0_18/bin/java.exe" -server -XX:MaxPermSize=64m -Xmx512M -Xms512M -XX:+UseConcMark[/font]<br>[font=Georgia,]<br>SweepGC -XX:+CMSIncrementalMode -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=-maps -jar ../../jars/masterServer.MasterServerMain.jar ../cfg/shard_local.xml[/font]<br>[font=Georgia,]<br>Listening for transport dt_socket at address: 49679[/font]<br>[font=Georgia,]<br>log4j:WARN No appenders could be found for logger (launch.main.LauncherMain).log4j:WARN Please initialize the log4j system properly.[/font]<br>[font=Georgia,]<br>[01-26 23:42:01,646, 125] main - INFO launch.main.LauncherMain : loading config from ../cfg/shard_local.xml [01-26 23:42:01,771, 250] main - INFO launch.main.LauncherMain : loading from cfg "../cfg/shard_local.xml", server "masterServer", deploy = 127.0.0.1 [01-26 23:42:01,771, 250] main - INFO launch.main.LauncherMain : Server type is "masterServer" [01-26 23:42:01,787, 266] main - INFO tools.reflection.ClassesLoader : loading classess from [serverbin, jars, jars_local]...[/font]<br>[font=Georgia,]<br>[01-26 23:42:02,691, 1170] main - INFO tools.reflection.ClassesLoader : 2152 classes loaded in 0.904 seconds [01-26 23:42:02,925, 1404] main - INFO DatabaseService : Database "jdbc:mysql://127.0.0.1/allods_online_masterserver_trunk?useUnicode=yes&characterEncoding=UTF-8&rewriteBatchedStatements=false&allowMultiQueries=false&connectTimeout=500000&socketTimeout=500000" is used.[/font]<br>[font=Georgia,]<br>[01-26 23:42:03,253, 1732] main - INFO resourceSystem : update /DefaultFactory.xdb [01-26 23:42:04,313, 2792] main - INFO masterServer.main.MasterServer : starting hessian api at 127.0.0.1:10500/masterServer[/font]<br>[font=Georgia,]<br>2012-01-26 23:42:04.329::INFO: Logging to STDERR via org.mortbay.log.StdErrLog2012-01-26 23:42:04.360::INFO: jetty-6.1.3[/font]<br>[font=Georgia,]<br>2012-01-26 23:42:04.391::INFO: Started SelectChannelConnector @ 127.0.0.1:10500 [01-26 23:42:04,391, 2870] main - INFO masterServer.main.MasterServer : hessian api at 127.0.0.1:10500/masterServer is started [01-26 23:42:04,391, 2870] main - INFO masterServer.MasterServerMain : masterserver is started at 127.0.0.1:9500


И так, MasterServer установлен и работает.

6. - Shard
Теперь установка и настройка Shard.
Щелкните по иконке WAMP в трее и выберите "PhpMyAdmin".
Нажмите на "Базы данных" и создать новые базы данных:
"allods_online_mail_RC_1_1_02" (без кавычек)
"allods_online_guild_trunk_6" (без кавычек)
"allods_online_RC_1_1_02" (без кавычек)
"allods_online_auction_trunk_10" (без кавычек)

Теперь установка MySQL access permissions.
Щелкните по иконке WAMP в трее и выберите "MySQL" -> "MySQL Console".
Жмем Enter, так как нет пароля по умолчанию.
Выполнить следующие команды как есть:
PHP Code:

Code
CREATE USER 'allods_online'@'localhost';[/font]<br>[font=Georgia,]<br>GRANT ALL PRIVILEGES ON *.* TO 'allods_online'@'localhost' WITH GRANT OPTION;[/font]<br>[color=#141414][font=Georgia,]<br>FLUSH PRIVILEGES;


Переходим к Shard'у.
Редактируем файл "server_bin\shard\cfg\shard.xml".
Измените frontEnd's значение "externalHost" на ваш LAN IP, если вы собираетесь подключить
с другого компьютера (Вы не можете запустить клиент в виртуальной машине!).
Сохраните изменения и закройте файл.
Выполните файл "server_bin\shard\startServerDefault.bat".
ПРИМЕЧАНИЕ: Старт Sahrd'а может занять некоторое время, если окно закрывается, значит произошла ошибка.
ПРИМЕЧАНИЕ: На моей скромной конфигурации, я удалил все карты, но оставил начальные инстанс-зоны для более быстрого тестирования.
Если все будет хорошо, вы должны увидеть ASCII арт-логотип Аллодов Онлайн, отображающийся в окне консоли.
Сервер полностью настроен!

7. - Послесловие

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

После установки сервера, вы можете переходить к тестированию с клиентом. В принципе, вы должны скопировать "AOGame.exe" из папки "Helper\Unprotected\Gamers_bin" в папку "Client\bin". Затем скопируйте "protect.exe", "protect.x86", и "protect.dll" файлы из папки "Helper\Release_bin" в "Client\bin".

Вы можете запускать AOGame.exe хоть прямо сейчас, но не торопитесь, сначала необходимо отредактировать файл "Client\Profiles\accountServer.cfg" для указания правильного AccountServer. Если вы использовали мой .cfg, то порт 9317, но вы можете использовать и свой конфиг.

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

Чтобы обойти это, я использую небольшой прокси для маршрутизации TCP соединений от открытых портов VM на порт localhost сервера. Это отлично подходит для тестирования, а главыное работает хорошо. Исходный код доступен здесь. Небольшие модификации необходимы, но я уже прикрепил скомпилированную версию и источник. Эта программа требует Net 4.0!

Как только вы получите AllodsProxy, отредактируйте файл "proxy.bat" и замените192 адрес на адрес VM или ПК с запущенным сервером. Просто выполните "proxy.bat" на ПК с сервером, и она будет направлять входящие соединения с перечисленных портов на локальный порт. Если вы используетедругой диапазон портов, то вам нужно будет добавить все порты. Незабудьте открыть порты в брандмауэре (wirewall)!

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

Пока что это всё, увидимся позже.

8. - Прикреплённые файлы:

AllodsProxy.zip
server_bat_cfgs.zip


P.S: не считая серверных файловых и прочих доп. программ, наша команда SOBERI-SERVAK, прикрепляет "Gm команды", для Вашего АО Сервера:3 | Скачать GM КОМАНДЫ (rghost)



Категория: Создание сервера Аллоды Онлайн - Windows | Добавил: создатель (14.12.2012)
Просмотров: 23391 | Рейтинг: 5.0/3
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]