Общие сведения

EasyPayments выполняет роль посредника между игровым сервером, исполняя на нем консольные команды, и EasyDonate, принимающим решения по итогам проделанной плагином работы.

Принцип работы плагина основан на постоянном и асинхронном общении с серверами EasyDonate и обмене данными с ними через интерфейс EasyPayments API. Асинхронный метод позволяет не нагружать основной рабочий поток игрового сервера, выполняя необходимую логику в фоне, незаметно для пользователя.

EasyPayments API

EasyPayments (EP) API — это закрытый интерфейс взаимодействия с EasyDonate, специально разработанный для плагина EasyPayments.

EP API выполняет две задачи:

  1. Отправка списка ивентов для реализации на игровом сервере.

  2. Получение отчета о выполнении ивентов плагином и принятие дальнейших решений по их обработке.

Получение ивентов

Плагин, благодаря технологии LongPoll, устанавливает "долгие" соединения с EP API с целью получения событий, требующих завершения на игровом сервере. В случае срабатывания одного из событий, платформа принудительно закрывает соединение и возвращает список команд, которые необходимо исполнить. Такие соединения называются "циклами" и могут продолжаться до 30 секунд.

После завершения цикла запускается новый, аналогичный предыдущему.

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

Отчет о выполнении ивентов

Когда EP API возвращает плагину список ивентов, происходит их исполнение на игровом сервере и отправка результата обратно на серверы EasyDonate, где в дальнейшем происходит проверка и выполнение завершающей логики.

Результатом завершения события может быть обновление статуса и/или зачисление денежных средств на баланс владельца магазина.

Команды запускаются от имени виртуального пользователя @EasyPayments. Настоятельно не рекомендуется взаимодействовать с ним как с сущностью.

Last updated