executePHP: верификация игроков Minecraft через PHP-скрипты

Что такое executePHP и зачем он нужен серверу Minecraft Владельцы серверов Minecraft постоянно ищут способы связать игровой процесс с внешними сервисами — будь то сайт проекта, форум или система донатов. Плагин executePHP решает эту задачу элегантно: он позволяет выполнять внешние PHP-скрипты пря...

Скачать executePHP для Minecraft 1.6.2

Оригинальное название: executePHP

Версии Minecraft: 1.6.2

ФайлВерсияЗагрузчикРазмер
executePHP.jar1.6.2—17 КБСкачать

Что такое executePHP и зачем он нужен серверу Minecraft

Владельцы серверов Minecraft постоянно ищут способы связать игровой процесс с внешними сервисами — будь то сайт проекта, форум или система донатов. Плагин executePHP решает эту задачу элегантно: он позволяет выполнять внешние PHP-скрипты прямо из игры по команде игрока. Изначально разработанный для проекта archcry, этот инструмент быстро стал популярным благодаря своей гибкости и простоте. Представьте: игрок вводит команду с кодом, сервер отправляет запрос на ваш веб-сайт, а ответ от PHP-скрипта мгновенно возвращается в чат. Никаких сложных API, только чистый Bukkit/Spigot и ваш собственный код.

Ключевые возможности плагина

executePHP не перегружен функциями, но каждая из них работает чётко и предсказуемо. Вот что вы получаете сразу после установки:

  • Мгновенная верификация аккаунтов — связывание игрового профиля с учётной записью на сайте через уникальный код.
  • Простая настройка — достаточно указать URL скрипта и сообщения в конфигурационном файле.
  • Гибкая система ответов — можно задать любое количество результатов (success, incorrect, already-verified и т.д.) с кастомными цветными сообщениями.
  • Автоматическая проверка обновлений — плагин сам уведомит администратора о выходе новой версии.
  • Поддержка переменных — передача имени игрока, кода и UUID прямо в URL запроса.

Команды и права доступа

Плагин добавляет всего три команды, но они покрывают все потребности. Администратор может перезагрузить конфигурацию на лету, а игроки — запустить верификацию. Вот полный список:

  • /executePHP — показывает справочную страницу с подсказками.
  • /executePHP reload (право executePHP.reload) — перечитывает конфигурационный файл без перезапуска сервера.
  • /verify <код> (право executePHP.verify) — отправляет запрос к внешнему PHP-скрипту с переданным кодом и переменными.

Когда игрок вводит заветную команду, плагин подставляет его ник, UUID и код в URL, который вы заранее прописали в конфиге. В этот момент на стороне веб-сервера выполняется ваш скрипт, и его ответ превращается в сообщение в Minecraft-чате. Кстати, чтобы быстро подключаться к серверам с кастомными плагинами и не мучиться с ручной установкой модов, многие используют лаунчер foxygame.net — удобный, гибкий и современный лаунчер для Minecraft, где можно скачать моды прямо из меню. Это особенно актуально, если вы играете на сборках с кучей дополнительных механик.

Переменные для тонкой настройки

Главная сила executePHP — в динамической подстановке данных. Вы можете сформировать URL так, чтобы он содержал всю нужную информацию о запросе. Доступны следующие переменные:

  • %username% — никнейм игрока, выполнившего команду.
  • %code% — тот самый код, который игрок ввёл после /verify.
  • %uuid% — уникальный идентификатор игрока (полезен для точной привязки к аккаунту).

Пример URL в конфигурации может выглядеть так: http://вашсайт.ру/executePHP?name=%username%&code=%code%. При вызове команды /verify secret123 плагин автоматически заменит переменные и отправит GET-запрос. Вы вольны добавить любые другие параметры, если доработаете PHP-скрипт.

Конфигурация плагина

Файл настроек выполнен в YAML-формате и интуитивно понятен. Рассмотрим основные секции:

  • checkUpdate: true — автоматическая проверка обновлений при запуске сервера.
  • URL — адрес вашего PHP-скрипта с переменными.
  • verifyingMessage — сообщение, которое увидит игрок, пока идёт обработка запроса (поддерживает цветовые коды через &).
  • results — блок, где вы перечисляете возможные ответы от скрипта и соответствующие им сообщения в чате. Например, если PHP-скрипт возвращает строку «success», игрок увидит зелёное «Successfully verified code!».

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

Пример PHP-скрипта для верификации

Чтобы стало совсем понятно, вот минимальный рабочий пример скрипта, который обрабатывает запрос от плагина:

<?php
if (!empty($_GET['username']) && !empty($_GET['code'])) {
    $name = $_GET['username'];
    $code = $_GET['code'];
    switch ($code) {
        case "sugar":
            echo "success";
            break;
        case "milk":
            echo "incorrect";
            break;
        case "wheat":
            echo "already-verified";
            break;
        default:
            echo "error";
            break;
    }
} else {
    echo "Error: No URL Variables.";
}
?>

Скрипт принимает два параметра, сравнивает код со списком и возвращает одну из заранее оговоренных строк. Плагин сопоставляет её с результатами в конфиге и показывает игроку нужное сообщение. Никакой магии — только PHP и немного YAML.

Планируемые улучшения

Разработчик не останавливается на достигнутом. В дорожной карте значатся интересные нововведения, которые сделают executePHP ещё мощнее:

  • Асинхронное выполнение PHP — запросы не будут тормозить основной поток сервера, что положительно скажется на производительности.
  • Таймаут запроса — если скрипт не отвечает за заданное время, плагин сам вернёт ошибку, не заставляя игрока ждать бесконечно.
  • Возвращаемые команды — возможность выполнять серверные команды в зависимости от ответа PHP-скрипта (например, выдать группу или предмет).

Эти функции превратят плагин в полноценный мост между игровым миром и веб-инфраструктурой.

Почему executePHP стоит попробовать прямо сейчас

Плагин executePHP — это не просто инструмент для верификации, а целый конструктор взаимодействия с внешними системами. Он лёгок, не требует глубоких знаний Java, работает на любой версии Bukkit/Spigot и настраивается за пару минут. Если вы хотите дать игрокам возможность подтверждать регистрацию, получать бонусы за активность на форуме или запускать сложные сценарии по одному коду — этот плагин станет вашим незаменимым помощником. А регулярные обновления и отзывчивый автор гарантируют, что проект будет развиваться вместе с вашими потребностями.