Интеграция Minecraft (Fabric) + Protocol Buffers + внешние сервисы
Демонстрационный мод на Fabric + Java + Protocol Buffers, показывающий, как можно сериализовать игровые данные, передавать их через бинарный протокол и интегрировать игровой мир Minecraft с внешними backend-сервисами.
Хороший пример гибридной архитектуры:
Minecraft → Protobuf → Backend → AI / логирование / телеметрия / аналитика
- 🔄 Сериализация данных игрока (координаты, состояние, инвентарь) через Protocol Buffers
- 📡 Отправка бинарных сообщений на внешний сервер
- 🧰 Пример Fabric-мода для интеграции с backend-микросервисами
- 🛠 База для расширения: AI-анализ действий, телеметрия, сбор игрового поведения
- 🎓 Отличный демонстрационный проект для портфолио
| Компонент | Используется |
|---|---|
| ☕ Java | 17+ |
| 🧵 Fabric Loader | мод-загрузка |
| 🧶 Fabric API | Minecraft моддинг |
| 🛰 Protocol Buffers (protobuf) | бинарная сериализация |
| 🛠 Gradle | сборка |
| 🌐 (опционально) Node.js / Rust backend | обработка данных |
minecraft-protobuf-fabric-demo/
│
├── src/ # Исходники мода (Java)
├── primitives/ # .proto схемы Protobuf
├── build.gradle # Сборка + зависимости
├── gradle/ # Gradle wrapper
├── README.md # Документация
└── .gitignore
Схема сообщения (пример):
message PlayerState {
string username = 1;
float x = 2;
float y = 3;
float z = 4;
int32 health = 5;
}Сериализация:
PlayerState state = PlayerState.newBuilder()
.setUsername(player.getName().getString())
.setX(player.getX())
.setY(player.getY())
.setZ(player.getZ())
.setHealth((int) player.getHealth())
.build();
byte[] data = state.toByteArray();- JDK 17
- Fabric MC Development Environment
git clone https://github.com/rolloerro/minecraft-protobuf-fabric-demo
cd minecraft-protobuf-fabric-demo./gradlew clean build
./gradlew runClient- Пример backend-сервиса, принимающего protobuf (Node.js / Rust / Python)
- WebSocket/HTTP-интеграция с внешним сервером
- Сериализация событий мира
- Отправка данных по интервалу (tick-tracker)
- AI-анализ игровой телеметрии
- CI/CD + автосборки артефактов
MIT License
Владимир Копылов
Digital WM Core
Telegram: https://t.me/MSL72Rph