GareevaAlice / discraft

Plugin for minecraft, study project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Discraft - плагин для майнкрафта

Проект при помощи плагина внедряет на сервер 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

Запуск сервера

  1. Для запуска сервера нужна Java 8

  2. Создаем папку для сервера \server с файлом BuildTools.jar

  3. Собираем Spigot (должен создаться spigot.jar):

java -jar BuildTools.jar --rev 1.18.2
  1. Создаем файл start.bat со следующим содержимым:
@echo off
java -Xms4G -Xmx4G -XX:+UseG1GC -jar spigot.jar nogui
pause
  1. Запускаем сервер двойным кликом по 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 и перезапустить сервер.

  1. После успешного запуска сервера со всеми настройками (Done (33.126s)! For help, type "help") - можно заходить на сервер по адресу server-ip=127.0.0.1 (из шага 5.2)

Запуск Discord-бота

full_path_to_plugins - полный путь до папки /home/.../server/plugins, содержащей:

  • папку discraft с файлами: linked.json, login_codes.json и reg_codes.json
  • файлы discraft_config.json и admins.json
  1. Заменить в файле docker-compose.yaml параметр full_path_to_plugins

  2. Запуск

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
  1. Очистка после запуска
sudo docker-compose down -v --rmi all --remove-orphans
sudo docker rm -f $(sudo docker ps -a -q)
  1. Если при запуске не работает pip
sudo systemctl daemon-reload
sudo systemctl restart docker

About

Plugin for minecraft, study project


Languages

Language:Java 79.3%Language:Python 20.0%Language:Dockerfile 0.6%