Milkshake

[Гайд] Установка чистого сервера и настройка клиента

5 сообщений в этой теме

От скуки решил освежить гайд по настройке эмулятора и связи с клиентом.

Предисловие.

Цитата

Данный гайд описывает настройку домашнего варианта сервера Ragnarok Online на базе эмулятора Hercules. Ни о какой защите речи не идёт, поэтому сервер и окрещён "домашним". Гайд был описан на компьютере под управлением Windows 10.

 

Необходимый софт и прочие загрузки

  • Xampp. Наша Web-составляющая. Это и MySQL, и Apache. [скачать]
  • Visual Studio 2015. Наш компилятор. [торрент // Можно использовать другие, более лёгкие компиляторы(MinGW, как вариант), но автор пользуется VS, ему лень качать другие и он решил, что и так сойдёт.
  • Hercules. Сам эмулятор. [скачать]
  • Клиент, exe и необходимый софт для клиента. Ссылки будут ниже, в следующем посте.

Установка каждой отдельной программы описана ниже, в соответствующих разделах.

Установку Visual Studio гайд не содержит. Всё, что нужно знать об установке под спойлером:

 

Скрытый текст

IC844668.jpeg

 

 

Загрузка эмулятора, установка и настройка Xampp.

1. Подготовка и загрузка эмулятора.

  •  Первым делом, создайте отдельную папку в корне любого диска, в которой впоследствии и будет находиться наш эмулятор, клиент и весь софт. В моём случае это 850bf31ce9.png.
  •  Загружаем эмулятор. Нажав на [скачать] в разделе загрузок, напротив эмулятора, получаем архив, распаковав который, видим папку Hercules-master. Эту папку мы помещаем в другую, из пункта выше. Выглядеть это будет примерно так: 6b7fdc173f.png.

2. Xampp

  • Мы скачали файл xampp-win32-7.1.9-0-VC14-installer.exe. Запускаем и следуем инструкциям инсталлятора. Директорию для установки я бы порекомендовал выбрать в ту же папку, куда мы положили наш сервер. 7b86f217b7.png.
  • При установке вам предложат выбрать необходимые компоненты. Под спойлером указано, что нам нужно.

 

Скрытый текст

d7e25b2795.png

 

!Важно! Если перед запуском выскакивает окно предупреждения UAC, то нужно закрыть окно установки и отключить UAC.

  • После установки открываем xampp-control.exe, запускаем службы кнопками Start, убеждаемся, что всё работает (зелёный прямоугольник = работает).

 

Скрытый текст

c8d49614f7.png

 

  • Красным выделен порт, который использует служба. По умолчанию, для Apache - это 80, 443, а для MySQL - 3306. Так что, если служба откажется запускаться, скорее всего, виноваты порты. Как открыть порты можно найти в интернете(для каждого роутера свои методы, так что ссылок не будет).

Настройка эмулятора и подключение к MySQL

1. MySQL.

Первым делом, нам необходимо создать базу данных для нашего сервера. 

  • Переходим по ссылке http://localhost/phpmyadmin и попадаем в панель управления нашими базами данных и создаём новую БД. Для этого последовательно нажимаем кнопку "Базы данных"(1), вводим в поле имя нашей БД(2) (в моём случае это ragnarok2, но вы можете написать любое слово латиницей) и нажимаем кнопку "Создать"(3)

 

Скрытый текст

2808fbe7a1.png

 

  • Далее, убедившись, что мы находимся в директории нашей БД (на скрине ниже, под цифрой 1, отмечено серым цветом), начинаем импорт(2) необходимых таблиц. 

 

Скрытый текст

b9e2984f91.png

 

  • Нажав на "Выберите файл"(3) следуем в директорию \Hercules-master\sql-files и последовательно(по одному) выбираем следующие файлы:

 

Скрытый текст

54d93d2a3a.png

 

  • Выбрав файл, нажимаем "Вперёд"(4) и ожидаем, пока импорт будет завершён. 22d5e18568.png

2. Настройка эмулятора.

С базами данных разобрались, теперь займёмся эмулятором. Здесь мы настроим подключение и скомпилируем его.

Стоит обратить внимание, что подключаемся мы к локальному хосту и, следовательно, никаких IP не меняем (по умолчанию они все 127.0.0.1, иначе говоря - localhost)

  • Первым делом, идём в \Hercules-master\conf\global и открываем файл sql_connection.conf. Тут нас интересуют 3 строки, которые мы должны привести к следующему виду:
    	db_username: "root"			//Пользователь базы данных. По умолчанию это root
    	db_password: ""				//Пароль пользователя базы данных. По умолчанию без пароля
    	db_database: "ragnarok2"		//Ваша_база_даных

     

2.1. Компилируем эмулятор.

  • Двойным кликом открываем файл(должен быть установлен VS):

 

Скрытый текст

64cc7a6bea.png

 

  • Видим следующее(последовательно нажимаем на кнопки, которые видим на скрине):

 

Скрытый текст

41f9f224b6.png

 

  • Далее, в меню выбираем Сборка->Собрать решение (или нажимаем Ctrl+Shift+B). Результат(в нижней части экрана) должен быть таким, как под следующим спойлером.

 

Скрытый текст

f84d78cfa5.png

 

 

 

  • Пробуем запустить наш сервер. Из корня сервера запускаем run-server.bat

 

Скрытый текст

5d9deb554e.png

 

Результат

 

Скрытый текст

6c74b420cc.png

 

 

 

Success! Мы установили и запустили наш сервер!

Загрузка и настройка клиента в следующем посте.

 

 

 

 

Изменено пользователем Milkshake
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Клиент

 

  • Сам клиент берём отсюда
  • Как устанавливать и патчить, можно прочитать здесь. Всё с иллюстрациями, так что незнание языка не должно стать помехой. 

 

1. Exe.

Я буду использовать 2016-02-03aRagexeRE. (вы можете использовать любой)

Так же понадобится iteminfo.lua(самый свежий по состоянию на Август 2017 года), без которого у нас ничего не получится. (Патчеров для новых exe ещё не завезли и приходится выдумывать костыли)

  • [скачать// Поместить(с заменой) в папку System в корне клиента. Нужен, только если вы выбрали тот же exe, что и автор.

1.1. Diff ехе.

!Важно! Если вы скачали diff версию, то пропустите этот пункт!

  • Первым делом, скачиваем софт(Nemo-master), которым будем диффать наш ехе. [скачать]

Распаковываем в любом месте (для удобства - в ту же директорию, где лежит наш эмулятор. А ещё лучше создать подпапку Client, что бы впоследствии было удобнее всё искать)

  • Далее, запускаем и выполняем пункты 1-5

 

Скрытый текст

3d43bb3516.png

 

  • (Только если вы используете новые ехе! В обратном случае, пропускаем этот пункт.) Начнут выскакивать окна. нас интересует только одно: caa3cbb08d.png

Меняем на 

System/iteminfo.lua

И жмём ОК

  • Выбираем необходимые нам параметры (обязательно поставьте галочку напротив параметра read data folder first), нажимаем APPLY SELECTED(6) и закрываем программу.

 

Рядом с нашим ехе появился ещё один, но с припиской _patched

d24835e0a5.png

Копируем его в корень нашего клиента.

2. Подключение к серверу.

Настраиваем коннект клиента к серверу. Для этого нам понадобится файл clientinfo.xml, который мы создадим самостоятельно(мы же не хотим скачивать очередную софтину и лезть в grf-ки).

  • Открываем директорию клиент/data и создаём текстовый файл. (если папки data в клиенте нет, то создайте её вручную). Копируем туда следующее содержимое:
<?xml version="1.0" encoding="euc-kr" ?>
<clientinfo>
	<desc>Ragnarok</desc>
	<servicetype>russia</servicetype>
	<servertype>primary</servertype>
	<connection>
		<display>Local</display>
      		<address>127.0.0.1</address>
      		<port>6900</port>
      		<version>46</version>
      		<langtype>14</langtype>
   	</connection>
</clientinfo>
  • Меняем название файла на clientinfo и формат на .xml 00baebb033.png

2.1 Настройка сервер-клиент + отключение Renewal механики.

  • Идём в директорию Hercules-master\src\common и открываем файл mmo.h (можно блокнотом).

Ищем

#define PACKETVER 20141022

Меняем на

#define PACKETVER 20160203   // Цифры - дата вашего ехе

Сохраняем.

  • Отключаем Renewal механику (если нужно). Идём в директорию Hercules-master\src\config и открываем файл renewal.h (можно блокнотом).

Ищем

//#define DISABLE_RENEWAL

Меняем на

#define DISABLE_RENEWAL
  • Компилируем сервер ещё раз (как в первом посте, в разделе 2.1).

 

 

Финал

Запускаем сервер посредством run-server.bat и клиент нашим пропатченным ехе, регистрируем новый аккаунт используя _m (мужской пол) и _f (женский), создаём персонажа и входим в игру.

 

Скрытый текст

f60d8ff455.png

 

 

 

 

 

Изменено пользователем Milkshake
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если что-то упустил или ошибся где, отпишите.

По началу какой-то энтузиазм был, но под конец уже плавить начало, даже перечитывать впадлу :ph34r:

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ах*нный топ пачян, Хабиля в скоре (через пару недель) напишет Англ гид по герку для Винды.

Только Хабиля опишет ВоркФлоу с гитом чтобы кароч установить и тянуть с репозитория и апдейтить...

А так, Спасибо за идею с Кзампом а то Хабиля хз как не муторно замутить МайСКЛ сервак на винде

И Визуал студио мож Експресс С попробует 

А так ох*нный гид!

Изменено пользователем Habilis
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
16 минуту назад, Habilis сказал:

Ах*нный топ пачян, Хабиля в скоре (через пару недель) напишет Англ гид по герку для Винды.

Только Хабиля опишет ВоркФлоу с гитом чтобы кароч установить и тянуть с репозитория и апдейтить...

А так, Спасибо за идею с Кзампом а то Хабиля хз как не муторно замутить МайСКЛ сервак на винде

И Визуал студио мож Експресс С попробует 

А так ох*нный гид!

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

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

 

 

ЗЫ. На форуме спойлеры как-то работают криво. После публикации половина скринов просто не вылезают из под них. Приходится жать изменить-сохранить и только тогда работает нормально. Но при этом ставит кучу пустых строк, что растягивает пост.

Изменено пользователем Milkshake
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас