Проект при помощи плагина внедряет на сервер Minecraft аутентификацию через Discord-аккаунт.
Когда пользователь впервые зайдет на сервер в Minecraft, на котором стоит плагин, ему предложат привязать свой аккаунт на этом сервере к своему аккаунту в Discord.
При последующих заходах на этот сервер пользователю будет предлагаться авторизоваться с помощью кода, который ему в Discord пришлет бот.
В артефактах успешных сборок Java CI лежат архивы:
- discraft.jar - сам плагин
- tests coverage - html-ки с результатами покрытия тестами
- tests results - результаты тестов (сохраняется и при неудачной сборке)
Если возникают проблемы, можно собрать локально:
mvn clean package
- должен создаться плагин: ./target/discraft-1.0.jar
- html-ки с результатами покрытия лежат в ./target/site/jacoco
- результаты тестов лежат в: ./target/surefire-reports
-
Для запуска сервера нужна Java 8
-
Создаем папку для сервера \server с файлом BuildTools.jar
-
Собираем Spigot (должен создаться spigot.jar):
java -jar BuildTools.jar --rev 1.18.2
- Создаем файл start.bat со следующим содержимым:
@echo off
java -Xms4G -Xmx4G -XX:+UseG1GC -jar spigot.jar nogui
pause
- Запускаем сервер двойным кликом по start.bat:
-
После попытки запуска сервера должен появится файл eula.txt. Если возникает ошибка связанная с EULA нужно поменять в eula.txt: eula=false на eula=true и перезапустить сервер.
-
После попытки запуска сервера должен появится файл server.properties. Чтобы настроить ip сервера для локального запуска, нужно поставить server-ip=127.0.0.1 и перезапустить сервер.
-
После успешной попытки запуска сервера должна появится папка ./plugins. Чтобы добавить данный плагин, нужно перенести в эту папку discraft-1.0.jar и discraft_config.json и перезапустить сервер.
- После успешного запуска сервера со всеми настройками (Done (33.126s)! For help, type "help") - можно заходить на сервер по адресу server-ip=127.0.0.1 (из шага 5.2)
full_path_to_plugins - полный путь до папки /home/.../server/plugins, содержащей:
- папку discraft с файлами: linked.json, login_codes.json и reg_codes.json
- файлы discraft_config.json и admins.json
-
Заменить в файле docker-compose.yaml параметр full_path_to_plugins
-
Запуск
sudo docker-compose up --build
docker-compose скачивает образ nanamyyu/discraft-repo:latest запушенный во время Docker images CI
Если возникают проблемы, можно попробовать заменить в файле docker-compose.yaml скачивание
image: nanamyyu/discraft-repo:latest
на сборку
build:
context: bot/
dockerfile: Dockerfile
image: discord_bot
- Очистка после запуска
sudo docker-compose down -v --rmi all --remove-orphans
sudo docker rm -f $(sudo docker ps -a -q)
- Если при запуске не работает pip
sudo systemctl daemon-reload
sudo systemctl restart docker