▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
inject

inject

Серверная библиотека для разработчиков под Minecraft, упрощающая инъекцию в Netty. Позволяет обрабатывать HTTP-запросы прямо на порту сервера.

Оцените первым
1.7K
3

inject

inject - это серверная библиотека для разработчиков, которая заметно упрощает инъекцию в Netty. По факту, проект позволяет обрабатывать HTTP-запросы прямо на порту вашего Майнкрафт-сервера. Это удобно, если нужно встроить веб-сервер или API без открытия дополнительных портов.

Пример использования

В примере ниже используется класс HttpInjector для ответа на HTTP-запросы, которые приходят на адрес сервера Minecraft:

java class MyEpicHttpInjector extends HttpInjector { @Override public HttpByteBuf intercept(ChannelHandlerContext ctx, HttpRequest request) { HttpByteBuf buf = HttpByteBuf.httpBuf(ctx); buf.writeStatusLine("1.1", 200, "OK"); buf.writeText("Hello, from Minecraft!"); return buf; } }

Регистрация

Для Fabric используйте класс InjectFabric: java public class MyMod implements ModInitializer { @Override public void onInitialize() { InjectFabric.INSTANCE.registerInjector(new MyEpicHttpInjector()); } }

Для Spigot, Paper и их производных используйте класс InjectSpigot: java public class MyPlugin extends JavaPlugin { @Override public void onEnable() { InjectSpigot.INSTANCE.registerInjector(new MyEpicHttpInjector()); } }

После регистрации инжектор будет отвечать Hello, from Minecraft! на любой HTTP-запрос, пришедший на порт Майнкрафт-сервера. Проверить можно обычным curl:

bash $ curl http://localhost:25565 Hello, from Minecraft!

Поддерживаемые веб-серверы

  • Spring Boot: модуль spring
  • Javalin: модуль javalin
  • Ktor: модуль ktor
  • Jetty: модуль jetty
  • Ручная обработка запросов: модуль http

Примеры можно найти в модуле examples.

Использование

Добавьте репозиторий в gradle: kt repositories { maven("https://maven.mcbrawls.net/releases/") }

Добавьте зависимость: kt dependencies { implementation("net.mcbrawls.inject:api:VERSION")

// Для HTTP:
implementation("net.mcbrawls.inject:http:VERSION")

// Fabric:
include(modImplementation("net.mcbrawls.inject:fabric:VERSION")!!)

// Spigot/Paper:
implementation("net.mcbrawls.inject:spigot:VERSION")

}

Замените VERSION на последнюю версию из вкладки релизов.

Совет: Эта библиотека - находка для разработчиков плагинов и модов, которым нужно объединить игровой сервер и веб-интерфейс в один процесс. Учтите, что корректная обработка HTTP-запросов на порту 25565 требует аккуратности, чтобы не нарушить игровой трафик.

Партнёрский материал

Сервер для плагина inject - как у профи

Плагин inject создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином inject для друзей можно за пару минут - BungeeHost всё уже подготовил.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.2.x26.1.x1.21.x

Поддерживаемые окружения

Сервер

Ссылки


Детали

Лицензия:
Опубликован:1 год назад
Обновлён:4 месяца назад
Главная