PDA

Просмотр полной версии : гайд: "как подключтся к серверу (WPEPro)"


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

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

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

Файл servers.txt имеет следующий формат (то что должно находиться в этом файле):
[Server] - имя вашего сервера, каким вы его хотите видеть
ip 000.000.000.000 - IP вашего сервера
port 6900 - порт вашего сервера
master_version 12 - мастер версия сервера
version 0 - версия сервера
serverType 9 - тип сервера
serverEncoding Russian - кодировка сервера
private 1 - приватный/официальный
charBlockSize 108 - количество байтов, отведённых под описание персов
То, что выделено красным вам придётся раздобыть самому. Параметры "private" и "charBlockSize" указываются не для всех серваков, об этом ниже.

Для определения настроек нам понадобится програмка WPEPro. (http://ragbot.ru/forum/showthread.php?t=922)

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

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

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

http://ragbot.ru/up/down/img/wpepro/vibor_klienta.png

Внимание:
"Исполняемый файл клиента" - это обычно ехе-шник клиента, однако иногда для запуска клиента используются патчеры. В Extractor'е необходимо указывать не ехе-шник патчера, а самого клиента.

Например, для запуска раггейма используется файл Ragnarok.exe, однако в програмке следует выбрать Ragexe.exe!

Встречаются также случаи когда "исполняемым файлом" является .dll, .bin или др. файл например, в клиенте CoolRO "исполняемым" является файл ragnar.bin

Для того чтобы узнать какой файл является "исполняемым":

а) Запускаем клиент привычными нам методами (либо сразу прямой exe, либо через патчер). Когда загрузится окно клиента, нажимаем магическое сочетание C+A+D, открываем вкладку "Приложения", находим наше приложение и правым кликом выбираем "Перейти к процессам":

http://ragbot.ru/img/openkore-packet-extractor/openkore-packet-extractor-02.png

б) Наш курсор переместится прямо на исполняемый файл, в нашем примере это файл "ragnar.bin"

http://ragbot.ru/img/openkore-packet-extractor/openkore-packet-extractor-03.png


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

http://ragbot.ru/up/down/img/wpepro/start.jpg

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

4epT
07.05.2007, 17:07
7) В программе WpePro нажмите "Stop logging"

http://ragbot.ru/up/down/img/wpepro/stop.JPG

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

http://ragbot.ru/up/down/img/wpepro/ip.png

1 - Это IP сервера 81.177.13.7 и port 6900.
2 - master version. Это число надо перевести из Hex в обыкновенное (калькулятор тут (http://ro-bot-rofan.narod.ru/BOT/tt.html)).
3 - version. Это число также надо перевести в обыкновенное.

9) Подставляем значения в калькулятор (http://ragbot.ru/calc.htm) и вычисляем истинные значения master_version и version:

http://ragbot.ru/up/down/img/wpepro/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.

Вот здесь на картинке изловлен мап-логин, как описано выше. Давайте найдём нужную нам информацию:
http://ragbot.ru/up/down/img/wpepro/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 тоже!

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

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

http://ragbot.ru/up/down/img/wpepro/private0.png

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


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

http://ragbot.ru/up/down/img/wpepro/charblocksize.png

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

Список серверов (http://ragbot.ru/forum/showthread.php?t=662)
Англ. версия мануала (http://skore.sourceforge.net/sdetail/)
Многое спёрто с рофана (http://rofan.ru/viewtopic.php?t=848)


Обсуждение ведётся тут (http://ragbot.ru/forum/showthread.php?t=2155)

4epT
20.09.2008, 02:16
калькулятор 1 (http://skore.sourceforge.net/sdetail/#calc)

калькулятор 2 (http://ragnarokbot.narod.ru/wpe.htm) (слева выбрать WPE Pro и листать вниз)

калькулятор 3 (http://ro-bot-rofan.narod.ru/BOT/tt.html)

калькулятор 4 (http://www.statman.info/conversions/hexadecimal.html)

вот ещё калькулятор по проще (http://wpebot.codeok.ru/) (не работает)