XKore 1 - запуск нескольких ботов
Добавлено: Вс мар 17, 2013 1:55 pm
Итак, для запуска нескольких ботов в режиме xkore 1 необходимо убедиться что клиент позволяет запускать несколько окон. Каждому боту требуется своё окно клиента.
Так же требуется перенастроить самого бота, а именно изменить порт xkore. Порт меняется в 2-х местах:
1. в файле \src\Network\XKore.pm (по умолчанию стоит my $port = 2350;)
2. в библиотеке NetRedirect.dll (с помощью hex редактора)
Если с файлом никаких проблем не возникает, то в dll не все могут сменить порт.
Предлагаю вашему вниманию архивчик XKore_port.zip
он содержит 10 dll с изменёнными портами от 2351 до 2360 и краткую инструкцию.
Напомню, что для настройки бота в режиме "XKore 1" необходимо в конфиге прописать:
В параметре "XKore_exeName" прописывается имя запускаемого файла клиента Ragnarok Online. На многих пиратках это может быть dll, bin или даже grf файлы. Для того чтобы узнать имя файла необходимо:
а) Запустить клиент привычными нам методами (либо сразу прямой exe, либо через патчер). Когда загрузится окно клиента, нажимаем магическое сочетание C+A+D, открываем вкладку "Приложения", находим наше приложение и правым кликом выбираем "Перейти к процессам":
б) Наш курсор переместится прямо на исполняемый файл, в нашем примере это файл "ragnar.bin"
Ещё один важный момент:
Для работы бота в режиме "XKore 1" не надо определять такие настройки сервера, как: ip, port, master_version и version! Самое главное - это правильно определить serverType, charBlockSize и recvpackets.
Типовая настройка сервера выглядит так:
Ещё одной проблемой в запуске нескольких ботов в режиме "XKore 1" может являться одинаковое название имени запускаемого файла клиента. Принцип работы примерно такой: Запускаем бота, он сканирует запущенные приложения и пытается найти файл, который вы указали в параметре "XKore_exeName". Если у вас будет запущено несколько окон, то бот подключится к первому найденному. И не факт, что второй бот найдёт второй запущенный клиент. Т.е. может получится, что 2 бота пытаются подключиться к одному и тому же клиенту. В таком случае будет работать только один бот. Решения тут два:
1. Переименовать файл клиента (могут быть проблемы с запуском клиента)
2. Изменить механизм поиска файла клиента (в файле \src\Network\XKore.pm)
PS: как будет свободное время, постараюсь найти свои наработки по пункту 2. Мне кажется, что давно давно Jerry тут описывал свой вариант поиска файла клиента, но мне его найти не удалось..
Так же требуется перенастроить самого бота, а именно изменить порт xkore. Порт меняется в 2-х местах:
1. в файле \src\Network\XKore.pm (по умолчанию стоит my $port = 2350;)
2. в библиотеке NetRedirect.dll (с помощью hex редактора)
Если с файлом никаких проблем не возникает, то в dll не все могут сменить порт.
Предлагаю вашему вниманию архивчик XKore_port.zip
он содержит 10 dll с изменёнными портами от 2351 до 2360 и краткую инструкцию.
Напомню, что для настройки бота в режиме "XKore 1" необходимо в конфиге прописать:
Код: Выделить всё
XKore 1
XKore_exeName ragexe.exe
а) Запустить клиент привычными нам методами (либо сразу прямой exe, либо через патчер). Когда загрузится окно клиента, нажимаем магическое сочетание C+A+D, открываем вкладку "Приложения", находим наше приложение и правым кликом выбираем "Перейти к процессам":
б) Наш курсор переместится прямо на исполняемый файл, в нашем примере это файл "ragnar.bin"
Ещё один важный момент:
Для работы бота в режиме "XKore 1" не надо определять такие настройки сервера, как: ip, port, master_version и version! Самое главное - это правильно определить serverType, charBlockSize и recvpackets.
Типовая настройка сервера выглядит так:
Код: Выделить всё
[AstreyaRo]
serverType kRO_RagexeRE_2010_07_14a
serverEncoding Russian
charBlockSize 132
recvpackets recvpackets_AstreyaRo.txt
addTableFolders pserver;translated;translated/kRO_english;kRO
Ещё одной проблемой в запуске нескольких ботов в режиме "XKore 1" может являться одинаковое название имени запускаемого файла клиента. Принцип работы примерно такой: Запускаем бота, он сканирует запущенные приложения и пытается найти файл, который вы указали в параметре "XKore_exeName". Если у вас будет запущено несколько окон, то бот подключится к первому найденному. И не факт, что второй бот найдёт второй запущенный клиент. Т.е. может получится, что 2 бота пытаются подключиться к одному и тому же клиенту. В таком случае будет работать только один бот. Решения тут два:
1. Переименовать файл клиента (могут быть проблемы с запуском клиента)
2. Изменить механизм поиска файла клиента (в файле \src\Network\XKore.pm)
PS: как будет свободное время, постараюсь найти свои наработки по пункту 2. Мне кажется, что давно давно Jerry тут описывал свой вариант поиска файла клиента, но мне его найти не удалось..