Вход Регистрация
Файл: vigre/readme.txt
Строк: 77
Роботы для получения голосов с сервера
vigre.su Общее описание Данных архив
содержит php файлы двух роботов: робота
получения голосов с сервера vigre.su и
робота доставки бонусов за голосования.
Для работы роботов необходимы php 5.x или
выше и mysql 4.x или выше. Описание файлов 1.
config.php – Конфигурационный файл с
настройками необходимыми для работы
робота и скрипта test.php. Необходимо
редактировать перед началом работы
роботов. 2. bonus.php – Файл, реализующий
логику выдачи бонуса за голосование.
Функция vgrInt_deliverBonusInit должна быть
реализована разработчиком игры.
Необходимо редактировать перед началом
работы роботов. 3. votes_bot.php – Робот
получения голосов с сервера vigre.su. Не
менять. Это запускаемый файл робота. 4.
bonus_bot.php – Робот доставки бонусов за
голосования. Не менять. Это запускаемый
файл робота. 5. common.php – Общие функции
используемые роботами. Не менять. 6. test.php
– Скрипт для добавления тестовых данных
голосований. Не менять. Удалить после
тестирования! 7. test.xml – XML файл с
тестовыми данными. Используется
скриптом test.php. Удалить после
тестирования! 8. readme.txt –
Документация. Робот получения голосов
votes_bot.php Данный робот отсылает http запрос
на сервер vigre.su и получает список
проголосовавших за игру и пишет
полученные данные в базу данных. Для
настройки робота откройте файл config.php и
установите следующие параметры: 1.
VGR_INT_GAME_ID: Идентификатор игры в системе
vigre.su. Целое число, смотри в личном
кабинете на сайте vigre.su 2. VGR_INT_SEC_KEY:
Секретный ключ игры, смотри в личном
кабинете на сайте vigre.su 3. VGR_INT_VOTES_SQL_SERVER_HOST:
IP адрес mysql сервера для хранения голосов
4. VGR_INT_VOTES_SQL_SERVER_DB: База данных для
хранения голосов 5. VGR_INT_VOTES_SQL_SERVER_USER: Имя
пользователя для доступа к базе голосов.
Должен иметь права на выполнение select,
insert, update, create table. 6. VGR_INT_VOTES_SQL_SERVER_PASS:
Пароль для доступа к базе голосов Все
данные о голосовании сохраняются на mysql
сервере в базе данных в кодировке UTF-8.
Запуск робота возможен не чаще, чем один
раз в 5 минут. Для запуска робота
предлагается использовать cron (Linux) или
планировщик задач (Windows). 2 и более робота
votes_bot.php одновременно работать не могут.
Робот votes_bot.php может одновременно
работать с роботом bonus_bot.php. Робот
получения бонусов за голосования
bonus_bot.php Данный робот считывает данные о
голосах из базы данных, полученные
роботом votes_bot.php, и доставляет бонус за
голосования. Для настройки робота
откройте файл config.php и установите
следующие параметры: 1. VGR_INT_GAME_ID:
Идентификатор игры в системе vigre.su. Целое
число, смотри в личном кабинете на сайте
vigre.su. 2. VGR_INT_SEC_KEY: Секретный ключ игры,
смотри в личном кабинете на сайте vigre.su. 3.
VGR_INT_VOTES_SQL_SERVER_HOST: IP адрес mysql сервера для
хранения голосов. 4. VGR_INT_VOTES_SQL_SERVER_DB: База
данных для хранения голосов 5.
VGR_INT_VOTES_SQL_SERVER_USER: Имя пользователя для
доступа к базе голосов. Должен иметь
права на выполнение select, insert, update, create
table. 6. VGR_INT_VOTES_SQL_SERVER_PASS: Пароль для доступа
к базе голосов. Если при доставке бонус
необходимо открывать соединение с базой
данных игрового сервера, то настроить
дополнительные параметры: 7.
VGR_INT_GAME_SQL_SERVER_HOST: IP адрес mysql сервера
игры. 8. VGR_INT_GAME_SQL_SERVER_DB: База сервера
игры. 9. VGR_INT_GAME_SQL_SERVER_USER: Имя пользователя
для доступа к базе
игры. 10.VGR_INT_GAME_SQL_SERVER_PASS: Пароль для
доступа к базе игры. Параметры 1-6
устанавливаются одни и те же для роботов
votes_bot.php и bonus_bot.php. Параметры 7-10 для работы
робота votes_bot.php не нужны. После настройки
параметров в файле config.php необходимо
открыть файл bonus.php и реализовать логику
доставки бонуса в функции vgrInt_deliverBonus,
смотри следующий раздел. Реализация
функции доставки бонуса vgrInt_deliverBonus /** *
Шаблон для доставки бонуса за
голосование * * @param int $voteId ID голоса * @param
int $voteDate Дата голоса в формате unixtime * @param
string $voteIp IP голоса * @param string $voteChar Имя чара
(не null) * @param int $sms Голосование через SMS (1
или 0) * * @return bool Удача/Неудача * В случае
удачи статус голоса устанавливается как
* VGR_CORE_INT_VOTE_STATUS_BONUS_RECEIVED * и в следующий
раз бонус за этот голос не зачисляется, *
в случае неудачи статус голоса не
меняется, * и робот попытается доставить
бонус во время следующего запуска * *
Все строковые параметры в кодировке utf-8
БЕЗ mysql экранирования * * Для
логирования можно использовать функцию
vgrInt_printMessage, * смотри описание в common.php *
*/ function vgrInt_deliverBonus($voteId, $voteDate, $voteIp, $voteChar,
$sms) { $voteId = intval($voteId); $voteDate = intval($voteDate); $sms =
intval($sms); /** * Здесь нужно реализовать
логику по доставке бонуса */ return true; } В
файле bonus.php есть так же 2 функции, которые
вызываются один раз при работе робота
bonus_bot.php. При необходимости можно
поменять реализацию этих 2-х функций. /** *
Вызывается только один раз в начале
работы робота * Открывает sql соединение с
БД игрового сервера * */ function
vgrInt_deliverBonusInit() { try { vgrInt_openGameSQLConnection(); } catch
(Exception $e) { vgrInt_printMessage(null, VGR_INT_MESSAGE_WARN,
$e->getMessage()); } } /** * Вызывается только
один раз при окончании работы робота *
Закрывает sql соединение с БД игрового
сервера * */ function
vgrInt_deliverBonusDeinit() { vgrInt_closeGameSQLConnection(); } Внимание!
Один и тот же персонаж может получать
бонус не раньше, чем раз в сутки! Бонус за
дополнительные голоса для персонажа
начислен не будет! Если в данных
голосования нет имени персонажа, то
бонус для такого голоса не
начисляется Для запуска робота
предлагается использовать cron (Linux) или
планировщик задач (Windows). 2 и более робота
bonus_bot.php одновременно работать не могут.
Робот votes_bot.php может одновременно
работать с роботом bonus_bot.php. Добавление
тестовых данных о голосованиях Для
добавления тестовых данных о
голосованиях используется скрипт test.php.
Этот скрипт считывает данные о
голосованиях из XML файла test.xml и пишет их
в базу данных голосованиях, точно так же
как это делает робот votes_bot.php. При этом
дата голосования для голоса
устанавливается как локальное время
выполнения скрипта test.php, а IP адрес
устанавливается как 127.0.0.1. Файл test.php
может быть использован для добавления
тестовых данных, необходимых для отладки
робота bonus_bot.php. Ниже приведен формат
данных файла test.xml: <!-- XML Файл с
тестовыми данными --> <root> <votes>
<vote> <char>
<![CDATA[character1]]> </char>
</vote> <vote> <char>
<![CDATA[character2]]> </char>
</vote> <vote> <char>
<![CDATA[character3]]> </char>
</vote> <vote> <char>
<![CDATA[character4]]> </char>
</vote> </votes> </root> Данные внутри
CDATA секции тэга <char> соответствуют
имени персонажа. Для добавления тестовых
данных достаточно отредактировать
содержимое файла test.xml и выполнить скрипт
test.php. Настроечные данные скрипта test.php
находятся в файле config.php: 1.
VGR_INT_VOTES_SQL_SERVER_HOST: IP адрес mysql сервера для
хранения голосов. 2. VGR_INT_VOTES_SQL_SERVER_DB: База
данных для хранения голосов 3.
VGR_INT_VOTES_SQL_SERVER_USER: Имя пользователя для
доступа к базе голосов. Должен иметь
права на выполнение select, insert, update, create
table. 4. VGR_INT_VOTES_SQL_SERVER_PASS: Пароль для доступа
к базе голосов. Внимание! После
окончания тестирования и настройки
роботов необходимо удалить файлы test.php и
test.xml! Примечания Оба робота пишут в
журнал событий о своей работе, используя
echo Ошибка «Предыдущий робот еще
работает» означает, что робот еще не
закончил свою работу и 2-й экземпляр
робота не может быть запущен. Если вы
уверены, что робот в действительности
«повис» (например, при аварийной
перезагрузке сервера), то можно снять
блокировку, выполнив sql запрос в базе
данных голосов: • для робота получения
голосов: delete from vigre_votes_bot where type=1; • для
робота доставки бонусов: delete from vigre_votes_bot
where type=2; Очистка данных Для удаления
всех данных базы данных голосований
используйте SQL запрос: TRUNCATE vigre_bonus; TRUNCATE
vigre_votes; TRUNCATE vigre_votes_bot;
Онлайн: 2
Реклама