0.2.23. Первый релиз
Запуск проекта
Для запуска проекта требуется:
- Доступ к интернету для скачивания Java и серверных файлов.
- Docker (версии 18.06.0 или выше) и Docker Compose (версии 1.27.0 или выше).
Запуск
1. Склонируйте репозиторий (последняя версия, не стабильная):
git clone https://github.com/crazykivi/minecraft-backend.git
cd minecraft-backend
1. Или скачайте и распакуйте один из архивов, вложенных к посту
2. Запустите проект с помощью Docker Compose:
docker-compose up -d
Пример использования
1. Запуск сервера
Пример запроса (GET):
curl "http://192.168.20.184:3001/start?type=vanilla&version=1.20.1" \
-H "Authorization: 123"
Логика работы:
- Проверяется наличие необходимой версии Java.
- Скачивается и устанавливается Java, если она отсутствует (при первом запуске контейнера всегда происходит скачивание Java).
- Скачивается JAR-файл сервера Minecraft указанной версии.
- Сервер запускается с указанными параметрами памяти.
2. Остановка сервера
Пример запроса (GET):
curl "http://192.168.20.184:3001/stop" \
-H "Authorization: 123"
Логика работы:
- Функция stopMinecraftServer отправляет команду stop в консоль сервера и дожидается завершения процесса.
3. Рестарт сервера
Пример запроса (GET):
curl "http://192.168.20.184:3001/restart?type=vanilla&version=1.20.1" \
-H "Authorization: 123"
Логика работы:
- Выполняется шаг "Остановка сервера".
- Выполняется шаг "Запуск сервера".
Примечание: В текущей версии необходимо передавать параметры (type и version) при рестарте. В будущем это будет исправлено.
4. Сохранение мира
Пример запроса:
curl "http://192.168.20.184:3001/start?type=vanilla&version=1.20.1" \
-H "Authorization: 123"
Логика работы:
- На сервере выполнится команда "save-all", которая сохранит мир
5. Получение информации о сервере
Пример запроса (GET):
curl "http://192.168.20.184:3001/status" \
-H "Authorization: 123"
Логика работы:
- Выполняется функция getMemoryUsage для получения данных об использовании оперативной памяти.
- Выполняется функция getPlayerCount для получения списка игроков на сервере (пока не работает, используется заглушка).
5. Отправление команд на сервер
Добавил возможность отправить любую команду на маршрут /command
Пример запроса (POST):
curl -X POST http://192.168.20.184:3001/command \
-H "Authorization: 123" \
-H "Content-Type: application/json" \
-H "Content-Type: application/json" \
-d '{"command": "gamemode survival superassa"}'
Поле command (обязательное): строка, содержащая команду, которую нужно выполнить на сервере.
Пример команды: "gamemode survival superassa", "time set day", "say Hello World!".
Ссылка на GitHub.
gz
MCStack-0.2.23.tar.gz967.67 Kb
zip
MCStack-0.2.23.zip980.31 Kb