Перейти к содержанию

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


Milkshake

Рекомендуемые сообщения

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

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

Цитата

Данный гайд описывает настройку домашнего варианта сервера 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
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Клиент

 

Установка клиента

 

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

 

1. Запускаем скачанный файл установки и устанавливаем клиент в любую удобную директорию (я бы посоветовал недалеко от папки с сервером что бы не надо было далеко ходить)

2. Обновляем клиент запуская эти файлы поочерёдно (желательно запускать от имени администратора)

a1867e7fce.png

 

 

1. Exe.

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

  • [скачать версию без diff]
  • [скачать diff версию]. (Этот ехе рабочий, т.к. автор во время написания гайда пользовался именно им. Если у вас что-то не срослось и клиент не подключается к серверу, то убедитесь, что вы всё сделали правильно)

Так же понадобится 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
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

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

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

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

Изменено пользователем Habilis
Ссылка на комментарий
Поделиться на другие сайты

16 минуту назад, Habilis сказал:

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

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

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

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

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

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

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

 

 

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

Изменено пользователем Milkshake
Ссылка на комментарий
Поделиться на другие сайты

  • 6 месяцев спустя...
В 28.09.2017в11:16 PM, Milkshake сказал:

Клиент

 

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

На второй ссылке завалился, там 404. Где  ещё написано про устанавливать и патчить? 

Попробовал другой клиент - не срослось. 

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

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

45 минуты назад, Barmaleon сказал:

На второй ссылке завалился, там 404. Где  ещё написано про устанавливать и патчить? 

Попробовал другой клиент - не срослось. 

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

Обновил пост.

 

А вообще на такие случаи есть очень полезный сайт - webarchive

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

В 13.04.2018в3:58 PM, Milkshake сказал:

Обновил пост.

 

А вообще на такие случаи есть очень полезный сайт - webarchive

Большое спасибо, буду иметь ввиду.)

Всё сделал, но после запуска пропатченного exe (использовал уже задиффаный вариант) сначала выдалось сообщение о том что ragnarok.exe  изменен и всё зависло. Последующий запуск стал выдавать ошибку (см. скриншот).

Снимок экрана (2).png

Почему-то в этом пропатченном клиенте не оказалось вообще папки font в System. Закинул папку с другого скаченного клиента, запустилось, но только всё на корейском... хотя клиент-донор iROшный был. Но даже после запуска на сервер не заходит, выдает какую-то ошибку на корейском.  Что порекомендуете?

Изменено пользователем Barmaleon
Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Barmaleon сказал:

Почему-то в этом пропатченном клиенте не оказалось вообще папки font в System. Закинул папку с другого скаченного клиента, запустилось, но только всё на корейском... хотя клиент-донор iROшный был. Но даже после запуска на сервер не заходит, выдает какую-то ошибку на корейском.  Что порекомендуете?

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

По поводу корейского языка

Скачай это. И положи в корень клиента с заменой. В диффнутом варианте всё будет работать, но если диффать самостоятельно, то обязательно поставить галочку "read data folder first".

По поводу непонятной таблички при входе на сервер. Проверь пункт, где настраивается mmo.h (обязательно скомпилировать после изменения)

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

  • 1 месяц спустя...
В 17.04.2018в0:06 PM, Milkshake сказал:

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

По поводу корейского языка

Скачай это. И положи в корень клиента с заменой. В диффнутом варианте всё будет работать, но если диффать самостоятельно, то обязательно поставить галочку "read data folder first".

По поводу непонятной таблички при входе на сервер. Проверь пункт, где настраивается mmo.h (обязательно скомпилировать после изменения)

Скопировал файлы но вход по прежнему на корейском. (клиент в теме не обновляется почему-то, клиента скачал и обновил отсюда https://rathena.org/board/topic/106413-kro-full-client-2018-03-27-includes-bgm-rsu/)

Никак не могу подключиться к серверу, создал учетную запись через phpmyadmin, но не вижу что клиент даже просто пытается подключиться (в clientinfo.xml по умолчанию ip 127.0.0.1, но так же пробовал 192.168.56.1)

Безымянный.png

Изменено пользователем morph
Ссылка на комментарий
Поделиться на другие сайты

Скачал версию файла 2017-06-14bRagexeRE, применил патч ( https://github.com/secretdataz/NEMO ), теперь всё запустилось, но с ошибкой и почему-то не соединился с сервером

Безымянный.png

Безымянный1.png

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

В старый клиент пихал похоже, луа файлик не нравится ему. Попробуй заменить, или добавить если нету такого.
А ты внимательно смотрел? что-то тут кривое в ГРФ ке. Даже если ты активировал read data folder first. всё равно собери ГРФ ку и пусть он её тоже читает.

Ошибка, если коннектишься к 127.0.0.1 то попробуй открыть

conf/network.conf
там не помешает 
lan_subnets: (
    "127.0.0.1:255.0.0.0",

allowed: (
    //"0.0.0.0:0.0.0.0",
    "127.0.0.1:255.0.0.0",

trusted: (
    "127.0.0.1:255.0.0.0",

Я тоже мучился, но потом так сделал. А ещё я делал в диффе Enable Proxy Support. 

Изменено пользователем qabakrall
Ссылка на комментарий
Поделиться на другие сайты

47 минуты назад, qabakrall сказал:

В старый клиент пихал похоже, луа файлик не нравится ему. Попробуй заменить, или добавить если нету такого.
Ошибка, если коннектишься к 127.0.0.1 то попробуй открыть

conf/network.conf
там не помешает 
lan_subnets: (
    "127.0.0.1:255.0.0.0",

allowed: (
    //"0.0.0.0:0.0.0.0",
    "127.0.0.1:255.0.0.0",

trusted: (
    "127.0.0.1:255.0.0.0",

Я тоже мучился, но потом так сделал. А ещё я делал в диффе Enable Proxy Support. 

с соединением понял, сейчас попробую (кстати выходит exe из гайда не работает)

а что с файлом делать, он есть - 2dlayerdir_f.lub и на что его менять (хотя я так понимаю это другой файл и он есть только в data.grf так что отдельно его нет)

и где брать значение для clientinfo <version>46</version>

не помогло соединиться с сервером, скачал 2016 версию файла и разница лишь что почему-то пустило дальше но в сообщениях написано что соединение сразу разорвано но пытается на char сервер зайти я так понимаю

Безымянный.png

Изменено пользователем morph
Ссылка на комментарий
Поделиться на другие сайты

заново пропатчил файл 2017, и я забыл сервер пересобрать под версию этого файла (клиент новый 2018 года как и писал, пропатчил полностью и скачал перевод последний).

на сервер зашел, только теперь вопрос остался с ошибкой lua файла и ещё что-то непонятное, создал персонажа, у меня запрос вышел на пин код, снова ввел дважды и зависло

и еще подскажите где взять переводы, желательно на русский) сейчас смотрю пока тексты вроде английские а вот кнопки почему-то нет

Изменено пользователем morph
Ссылка на комментарий
Поделиться на другие сайты

Ну по поводу кнопок, просто скин в грфку залить надо английский, или в клиент игры и потом в игре самой поменять на действующий.
Ошибка луа файлов 2018 версии я ещё не разбирал. 46 в клиентинфо, когда заходишь на сервер, консоль должна тебе сказать что попытка войти с ревизией 46 когда сервер скомпилирон под "--" (вот тут то ты и найдёшь что тебе нужно)

Луа даже незнаю честно, могу попробовать дать мои луа файлы может подойдут...?)

Пин код вообще муть стрёмная, мне не нравится, я его отключаю. 

Изменено пользователем qabakrall
Ссылка на комментарий
Поделиться на другие сайты

14 минуты назад, qabakrall сказал:

Ну по поводу кнопок, просто скин в грфку залить надо английский, или в клиент игры и потом в игре самой поменять на действующий.
Ошибка луа файлов 2018 версии я ещё не разбирал. 46 в клиентинфо, когда заходишь на сервер, консоль должна тебе сказать что попытка войти с ревизией 46 когда сервер скомпилирон под "--" (вот тут то ты и найдёшь что тебе нужно)

Луа даже незнаю честно, могу попробовать дать мои луа файлы может подойдут...?)

Пин код вообще муть стрёмная, мне не нравится, я его отключаю. 

я бы тоже отключил пин, только где?

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

Изменено пользователем morph
Ссылка на комментарий
Поделиться на другие сайты

10 минуту назад, morph сказал:

я бы тоже отключил пин, только где?

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

char-server.conf  здесь пинкод отключать ставите false и всё. 

pincode: {
        // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse
        // NOTE: Requires client 2011-03-09aragexeRE or newer.
        // 0: disabled
        // 1: enabled
        enabled: false
Ссылка на комментарий
Поделиться на другие сайты

Попробуй вот это закинуть прям в клиент, предварительно сохрани свою папку Skin. И посмотри будут русские кнопки или нет :)

skin.rar

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

1 минуту назад, qabakrall сказал:

Попробуй вот это закинуть прям в клиент, предварительно сохрани свою папку Skin. И посмотри будут русские кнопки или нет :)

skin.rar

доступа нет почему-то

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

Основные кнопки вроде должны были стать, Я поделился моим скином. ( ну который использую)

ну а так в среднем можно просто зайти на форум рА или Герка и найти англ скины. Остальное переводится в клиенте и в Эмуле. Могу дать переведённую версию но русскую, и ещё не всю))) Я частично там перевёл ))) 

Изменено пользователем qabakrall
Ссылка на комментарий
Поделиться на другие сайты

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

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

×
×
  • Создать...
Яндекс.Метрика