Общие сведения
EasyPayments выполняет роль посредника между игровым сервером, исполняя на нем консольные команды, и EasyDonate, принимающим решения по итогам проделанной плагином работы.
Принцип работы плагина основан на постоянном и асинхронном общении с серверами EasyDonate и обмене данными с ними через интерфейс EasyPayments API. Асинхронный метод позволяет не нагружать основной рабочий поток игрового сервера, выполняя необходимую логику в фоне, незаметно для пользователя.
EasyPayments API
EasyPayments (EP) API — это закрытый интерфейс взаимодействия с EasyDonate, специально разработанный для плагина EasyPayments.
EP API выполняет две задачи:
Отправка списка ивентов для реализации на игровом сервере.
Получение отчета о выполнении ивентов плагином и принятие дальнейших решений по их обработке.
Получение ивентов
Плагин, благодаря технологии LongPoll, устанавливает "долгие" соединения с EP API с целью получения событий, требующих завершения на игровом сервере. В случае срабатывания одного из событий, платформа принудительно закрывает соединение и возвращает список команд, которые необходимо исполнить. Такие соединения называются "циклами" и могут продолжаться до 30 секунд.
После завершения цикла запускается новый, аналогичный предыдущему.
Плагин способен обрабатывать сразу несколько ивентов в течение одного цикла, благодаря чему никаких задержек в обработке событий не возникает.
Отчет о выполнении ивентов
Когда EP API возвращает плагину список ивентов, происходит их исполнение на игровом сервере и отправка результата обратно на серверы EasyDonate, где в дальнейшем происходит проверка и выполнение завершающей логики.
Результатом завершения события может быть обновление статуса и/или зачисление денежных средств на баланс владельца магазина.
Команды запускаются от имени виртуального пользователя @EasyPayments. Настоятельно не рекомендуется взаимодействовать с ним как с сущностью.
Last updated