Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [DEV/WEB]MSC_bridge[1.7.10-R0.1|*]

danilko

Старожил
Пользователь
Баллы
103
MSC_bridge - мост для соединения с сайтом:
Довольно простое API для взаимодействия между плагинами на сервере и скриптами на сайте.
Функционал минимален, но открывает огромные возможности для интеграции сервера с сайтом. Пока писал этот текст придумал уже множество разных плагинов: чат сервера на сайте, общение с игроками во время скачивания клиента, различные топы, шопы и так далее.
В качестве примера использования API чуть позже приложу дополнительный плагин и его web-часть.
Особенности:
  • Позволяет выполнять двунаправленные запросы "сайт<=>сервер"
Скачать версию 0.2
Веб-часть доступна в репозиториях msc-repo для CMS MSC: WebSiteEngine 4 пакет MSC_bridge на ветке dev.

Лог изменений:
Версия 0.1
  • Релиз плагина
Версия 0.2
  • Исправлена ошибка с закрытием порта при перезагрузке плагина
Требования: может подойти любая версия bukkit. (Я так думаю, так как кроме загрузки плагина ничего особенного не используется из bukkit API)
 
Последнее редактирование:
API плагина так же очень простое, как и функционал.
Есть всего один интерфес, который нужно реализовать для приема запросов с сайта.

Java:
package danilko09.msc_bridge;

public interface event_handler {
  
  public String onRequest(String uri);
  
}

Собственно, помимо реализации этого интерфейса обработчик нужно зарегистрировать.
Можно это сделать примерно так:
Java:
import danilko09.msc_bridge.MSC_bridge;
...
((MSC_bridge) Bukkit.getPluginManager().getPlugin("MSC_bridge")).addHandler("hand", new Handler());
Где Handler - класс, который реализует интерфейс, а hand - внешний идентификатор. (Лучше всего, если вы будете использовать в качестве идентификатора название вашего плагина)

Это был прием запроса, теперь как обратиться к сайту из плагина.
Все тоже не очень сложно.
((MSC_bridge) Bukkit.getPluginManager().getPlugin("MSC_bridge")).callSite("hand","data");
hand - тот же идентификатор, а data данные, которые передаются обработчику на сайте.
Забыл упомянуть про то, что в единственном параметре функции (из интерфеса) обработчику передаются данные с сайта.

Более подробный мануал будет позже. (В субботу-воскресенье, если время будет напишу)
 
Последнее редактирование:
Not bad.
Очень даже.

---
Не знал, что ты плагины разрабатываешь
 

Поделиться этой страницей

Назад
Верх