Гайд: как подключтся к серверу

Кирилл

Пользователь
Регистрация
31 Июл 2011
Сообщения
120
Лайки
0
Баллы
0
Гайд: как подключтся к серверу (WPEPro)

Местные OpenKore настроен на RagGame (русский оф). Если вы играете на другом сервере, то перед запуском Kore, первым делом следует залезть в файл config.txt и очистить пункт настройки, вот так:

Код:
master

Тогда Kore при запуске предложит выбрать сервер из списка имеющихся в ней, и подхватит его настройки. Кроме того, необходимо в папке plugins удалить плагины ropp.pl и pathconnect.pl (начиная с версии 2.0.0 нужно удалить только 1 файл pathconnect.pl).

Для того чтобы Кора подконнектилась именно к Вашему серваку, существует файлик servers.txt находится в папочке tables. Серверов в данном файле по умолчанию множество, а Вашего там конечно не оказалось, жаль, но мы это исправим!

Файл servers.txt имеет следующий формат (то что должно находиться в этом файле):

Код:
[[COLOR="red"]Server[/COLOR]] - [COLOR="DeepSkyBlue"]имя вашего сервера[/COLOR], каким вы его хотите видеть
ip [COLOR="Red"]000.000.000.000[/COLOR] - [COLOR="DeepSkyBlue"]IP вашего сервера[/COLOR]
port [COLOR="red"]6900[/COLOR] - [COLOR="deepskyblue"]порт вашего сервера [/COLOR]master_version [COLOR="red"]12[/COLOR] - [COLOR="deepskyblue"]мастер версия сервера[/COLOR]
version [COLOR="red"]0 [/COLOR]- [COLOR="deepskyblue"]версия сервера[/COLOR]serverType [COLOR="Red"]5[/COLOR] - [COLOR="deepskyblue"]тип сервера[/COLOR]
serverEncoding Russian - [COLOR="deepskyblue"]кодировка сервера[/COLOR]
private 1 - [COLOR="deepskyblue"]приватный/официальный [/COLOR]
charBlockSize 108 - [COLOR="deepskyblue"]количество байтов, отведённых под описание персов[/COLOR]

То, что выделено красным вам придётся раздобыть самому. Параметры "private" и "charBlockSize" указываются не для всех серваков, об этом ниже.

Для определения настроек нам понадобится програмка WPEPro.

1) Скачайте программу. Если у вас установлен антивирус отключите его на пару минут, т.к. WpeSpy.dll он види как троян, но это простой снифер и в нашем случае он очень полезен!

2) Запусти свой клиент Ро и дойди то того момента когда надо вводить логин и пароль. Сверните клиент.

3) Запустите программу WPEPro, нажимайте "Target Program" и выбираем клиент Ragnarok (в данном случае Ragexe.exe)

vibor_klienta.png


4) Нажмите "Start logging"

start.jpg


5) Перейдите в окно клиента и введи любой логин/пароль (можно не существующий), затем нажмите ALT+F4, тем самым закройте клиент.

6) В программе WpePro нажмите "Stop logging"

stop.JPG


8) Получилось:

ip.png


9) Подставляем значения в калькулятор и вычисляем истинные значения master_version и version:

calk.png


В итоге мы получили следующие настройки:

Код:
[Raggame]
ip 81.177.13.7
port 6900
master_version 25
version 301
serverEncoding Russian

Я рекомендую полностью очисчить этот файл и оставить только свой сервер.

10) serverType - это, фактически, версия протокола обмена информацией между клиентом и сервером (т.е. какого размера пакеты и как в них уложена информация).
Как его определить?

Вариант А:

Если вам не понятно, как это сделать, просто подберите это число. Типичные значения (в порядке снижения популярности) - 8, 9, 5, 0, 8_1, 3. Если эти значения не подходят, попробуйте другие, из диапазона 0...18.

Код:
0 - iRO, а так же устаревшие сервера разных платформ
1 - oRO (Океания) (устаревший)
2 - pRO (Филиппинский)
3 - eAthena SVN, редкость
4 - Freya, иногда встречается
5 - eAthena сервер, использующий sakexe628, ~начало 2006
6 - Новый oRO (Океания) (устаревший)
7 - Aegis 10.x с padded пакетами
8 - kRO (Корейский) до февраля 2007 (устаревший)
8_1 - kRO (Корейский) после февраля 2007, редкость
9 - eAthena, ~середина 2006
10 - vRO (Вьетнамский) до февраля 2007 (устаревший)
11 - euRO (Европейский) до 20 декабря 2006 (устаревший)
12 - pRO (Филиппинский) актуальный на 22 октября 2006 (устаревший)
13 - rRO (Росийский) и vRO (Вьетнамский) актуальный на февраль 2007
14 - pRO (Филиппинский)) актуальный на 1 декабря 2006 (устаревший)
15 - pRO (Филиппинский)) актуальный на 20 декабря 2006
16 - euRO (Европейский) актуальный на 20 декабря 2006
17 - tRO (Тайский) для 2007-05-22bRagexe
18 - iRO (Интернациональный), актуальный на 21 июня 2007

Вариант Б:

Захватить WPE несколько пакетов - move, attack,... и сравнить их с исходниками Kore. Можно ограничиться отлавливанием пакета мап-логина (sendMapLogin). Затем, у изловленного пакета смотришь на...
а) первые два байта (заголовок)
б) его длину

Чтобы отловить пакет мап-логина с помощью WPE необходимо:
- запускаем клиент, доходим до выбора чара
- запускаем WPE, выбибраем клиент Ragnarok (Target Program)
- нажимаем "Start logging"
- выбираем чара. Через секунду закрываем клиент
- нажимаем "Stop logging", и смотрим что изловилось..
- смотрим по табличке свой serverType

Самый первый пакет будет посылка чар-серверу, как правило, в порт 6121. А то, что тебе нужно - первый пакет "к другому порту", как правило, к 5121.

Вот здесь на картинке изловлен мап-логин, как описано выше. Давайте найдём нужную нам информацию:

serverType.png


Тут кстати видно, в каком слоте афтар картинки выбрал чара (пакет №1, send, смотреть на последний байт). А чар сервер (порт 6121) тебе на это ответил (Recv, пакет №2) "где ты появляешься" (т.е., какую карту загружать клиенту) (это был последний пакет от чар-сервера). И вот, после загрузки карты клиент телеграфирует (пакет №3) мап-серверу (смена порта на 5121, send) ("карта загружена, поехали!") - так вот это нам и надо (мап-логин)! Здесь у нас заголовок "9B 00", длина 37. Это serverType 9.

Табличка соответствий:

Код:
 ______________________________________
|  serverType  |  заголовок  |  длина  |
|--------------|-------------|---------|
|	8      |     9B 00   |	  26   |
|	9      |     9B 00   |	  37   |
|	5      |     9B 00   |	  32   |
|	0      |     72 00   |	  19   |
|	8_1    |     9B 00   |	  34   |
|	3      |     9B 00   |	  32   |
|	4      |     F5 00   |	  29   |
|______________|_____________|_________|

Правильное определение serverType поможет Вашей безопасности. Дело в том, что эмулятор eAthena разрешает работу сразу нескольких версий клиента, но показывает администратору, какую именно версию использует клиент. Разумеется, если там будет указана "не родная" версия (не такая как у оригинального клиента) это может вызвать подозрения, плавно переростающие в уверенность, что вы используете "нехороший" софт.

Правильное определение serverType необходимо для работы в режиме xKore 1. Если "serverType" клиента и "serverType" OpenKore не совпадут - Вы получите вылеты из игры и/или зависания персонажа в игре. И это несмотря на то, что по отдельности клиент будет работать и OpenKore в режиме xKore 0 тоже!

11) private 1 - Эта опция на самом деле запрещает Kore брать адреса char- и map- серверов из пакетов, засылаемых сервером. Адреса, выставляемые сервером, игнорируются, и Kore считает что все сервера находятся по одному и тому же ip-адресу. Эта опция нужна практически для всех маленьких пирацких серверов.

Обязательна ли опция "private 1" для пирацких серваков?
Опция "Private 1" - если всё работает без неё - не нужна.
Строго говоря, эта опция нужна только вот когда: если запускаешь OpenKore, и в консоли видишь, что Kore сначало нормально логинится (акк-сервер), а потом начинает ломиться по каким-то безумным IP-адресам (чар- или мап- сервер), например 127.0.0.1:

private0.png


А если есть сомнения, лучше всего проконтролировать с помощью WPE, по тем же самым ли адресам и портам ходит клиент и OpenKore - это надежнее всего.


12) charBlockSize 108 эта строчка добавляется в описание сервера (в servers.txt) только в тех случаех, если имя чара, профессия, уровень (0/0) отображается неверно:

charblocksize.png


Эта цифра - это количество байт; указывает, какое количество байтов отводится под описание каждого из персонажей. Раньше всегда этот размер был равен 106, но вот теперь он на новых серверах 108, и возможно, будет когда-нибудь ещё изменен.
Внимание: это не работает со старыми OpenKore; нужен ~ 1.9.4 SVN 5200, и выше.
 
Последнее редактирование:
Сверху