Перед тем, как перейти непосредственно к самому гайду, хочу сразу предупредить, что Гайд писал не наш сайт, но лично я протестировал его и у меня всё получилось. Разумеется не сразу. Пришлось повозиться.. Много нюансов, но всё возможно. Обращайте внимание на: ВЕРСИИ НЕОБХОДИМЫХ ПРОГРАММ НЕОБХОДИМЫХ ДЛЯ СОЗДАНИЯ СЕРВЕРА - нужны именно те версии, что указаны в гайде. Не новее и не старее. НАЧНЁМ!
Сервер
Сервер часть 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)
|