Робот для Ogame, третья редакция

Как результат долгой игры и серии банов за «бота» появилась третья и, наверное, последняя редакция бота-няньки. Расскажу здесь более подробно о сути няньки и том, что ещё было бы замечательно сделать в программе.

СКАЧАТЬ НЯНЬКУ-РОБОТА для OGAME v.03

Установка няньки

Установка няньки не претерпела существенных изменений, нужен apache в качестве веб сервера с включенным модулем curl. Кстати, именно то как включить curl в apache сконфигурированном в рамках DENVER вызвало у людей вопросы. Я понимаю — многие вообще далеки от того, что такое веб-сервер, им просто нужно установить робота. После установки DENVER, загляните в файл /ПапкаГдеВашДенверУстановлен/usr/local/php5/php.ini. Найдите там строчку

Удалите «;», перезапустите сервер. Так вы включите модуль curl. Самой библиотеки curl может не оказаться в составе php комплекта denver. Скачайте тогда полную версию php c cайта php.net той версии, что установлена в вашем denver. Версию php в составе вашего denver можно обычно посмотреть на странице http://localhost/Test/PHP/phpinfo.php. Возьмите из полного дистрибутива нужную вам библиотеку php_curl.dll и запишите её в папку

или

— это зависит уже от версии самого php. Выложу тут php_curl.dll для php 5.2.6.

Куда копировать файлы няньки в случае использования локального сервера?

Этот вопрос также встречается, и встречается он по той же причине что и первый. Чтобы не вдаваться в подробности настройки DENVER-а, выполните следующие инструкции:

  • Создайте папку /ПапкаГдеВашДенверУстановлен/home/bot.local/www
  • Скопируйте туда файлы няньки.
  • Перезапустите DENVER (/ПапкаГдеВашДенверУстановлен/etc/restart.exe).
  • Откройте в браузере ссылку — http://bot.local/setup.php

Большинство настроек будет вам понятно. Наиболее сложными для понимания являются настройки секции «тайминг». Если так — читаем дальше :)

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

Для начала почитайте описание на странице установки и потом сделайте то, что я расскажу далее.

  • Период таймера — для нашего случая (а мы установим режим «методами JS, локально»), задаёт минимальный интервал времени, который остаётся до атаки вашей планеты и когда надо уже взлетать (поставьте 5 мин).
  • Перекрытие по сканированию — специальный интервал времени, чтобы не вести расчеты «в стык». Это чисто технический параметр, он не очень важен для нас, оставьте то значение, которое встало по умолчанию (0.5).
  • Период времени между сканированиями — это тот диапазон времен, когда на нас не ожидается атаки, горизонт чист и мы можем иногда поглядывать не летит ли кто то к нам в гости? На сервере с нормальной скоростью установите интервал от 20 до 30 мин. Вообще, лучше оценить минимальное время требуемое противнику для атаки. Т.е. посмотреть от куда и кто может атаковать. Чем больше будет верхний интервал времени сканирования, тем меньше подозрений вы в итоге будет вызывать у администраторов сервера. Потому что в итоге вы будете реже обращаться к серверу.
  • Период времени между сканированиями во время угрозы атаки и возврата флота. Когда вас атакуют, и осталось не так много времени, то частота сканирования требуется иная. Чтобы взлететь почти перед атакой, а вернуться назад почти сразу после атаки. Рекомендуемое время — 5-10 мин.
  • Период не возврата. Это то время, которое флот уже провел в эвакуации, и после которого отмена эвакуации опасна по причине возможного перехвата на возврате. Имеет смысл поставить тоже время, что и максимум времени между сканированиями (35 мин).
  • Тип вызова — ставим «методами JS, локально».

Если нянька работает локально — то вы не застрахованы от всех сопутствующих проблем: перебои со связью, электричеством, глюки операционной системы. Просто помните об этом.

Перспективы

Честно говоря, в ogame  я наигрался уже и нашел ещё более увлекательную космическую браузерку — imperion.com. И едва ли я сам продолжу развитие проекта. Но так как проект — open source, то предлагаю всем желающим продолжить его развитие. Я вижу два ключевых момента, требующих доработки:

  • Анализ состава атакующего флота и оценка успешности боя. Этот момент интересен, во-первых, потому что бота станет сложнее отличить от реального игрока, т.к.  игрок не станет поднимать флоты, если угрозы поражения нет, а, во-вторых, если реальной угрозы нет, то не нужно будет лишний раз взлетать флоту и тратить ценный дейтерий. Здесь не требуется точного расчета боя. Нужно просто прикинуть — нужно взлетать или нет.
  • Маскировка тайминга. Так как при работе по cron авторизации идут точно по расписанию, то это явно изобличает вас как ботовода. И если администратор хорошо исполняет свои обязанности, то рано или поздно вас заметят и отправят в бан до конца дней ваших. Потому надо подумать над тем, как размыть или замаскировать интервалы авторизации на сервере. Один из путей это сделать подключение непрерывным. Т.е. скрипт не должен завершаться, чтобы сессия подключения не прерывалась. Тогда сократится число самих авторизаций с сервером. Второй подход (а возможно в сочетании  с первым) — это перед запуском скрипта можно выполнять произвольную паузу в пределах времени перекрытия по сканированию (от 0 до 30 сек), тогда логи авторизаций не будут выглядеть так равномерно монотонными.
Написать комментарий

Мало букафф? Читайте есчо !

Хлебные крошки, версия 1.2

Июль 8, 2018 г.

Очередное обновление WP плагина Genzel Breadcrumbs. Версия 1.2. Что нового? Переработана логика "монтирования" Монтирование позволяет задать несколько условий в части выражения "what" (что монтировать?). К примеру, можно указать что монтировать ...

Читать

Допиливаем вывод метатегов для главной

Январь 31, 2016 г.

Я рассказывал о замечательном модуле Metatag для Drupal 7. Задачу с выводом мета-описаний он решает на все 100%. У меня была проблема с не выводом мета-тегов для главной страницы при работе с ним. Вывод удалось восстановить, подключив рендеринг ...

Читать

 

Комментарии к «Робот для Ogame, третья редакция»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Много комментариев в “Робот для Ogame, третья редакция”

  1. Юрий:

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

    • Нянька написана более 8 лет назад, думаю сейчас и на родном сервере не работает, т.к. привязана к структуре HTML документа. Я использовал разную технику написания подобных роботов. Это были, к примеру, роботы на Delphi, а сейчас я пользуюсь SikuliX и скрипты на Python. Это позволяет писать роботы почти для чего угодно.

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