Skip to content

Um sistema que monitora o inventário dos jogadores dentro de um servidor de Minecrat (Bukkit hospedado em um container Docker) e, após 10 segundos, um cálculo é feito para atualizar a pontuação de cada jogador com base nos tipos de itens coletados.

License

Notifications You must be signed in to change notification settings

TRABALHOS-FACULDADE/craftmentor_sistemas_distribuidos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Estrutura de pastas

CraftMentor/ | Aqui estão os arquivos do projeto em Kotlin referente ao Plugin desenvolvido com a biblioteca Spigot 1.20.4 (Bukkit)

CraftMentorBukkit/ | Aqui estão os arquivos de configuração do servidor Bukkit

craftmentor_backend/ | Aqui estão os arquivos do backend feito em Dart

Instalação e configuração

Requisitos

Instalação

  1. Clone o repositório
git clone https://github.com/TRABALHOS-FACULDADE/craftmentor_sistemas_distribuidos.git
  1. Crie os containers para o PostgreSQL e o Adminer
docker build ./craftmentor_backend/
  1. Execute o servidor Dart Shelf para se comunicar com o PostgreSQL
dart ./craftmentor_backend/bin/craftmentor_backend.dart
  1. Crie o container para o servidor Minecraft Bukkit
docker build -t craftmentor_bukkit ./CraftMentorBukkit/
  1. Execute o container do Bukkit e configure-o para se comunicar com o localhost
docker run --name craftmentor_bukkit_server --add-host host.docker.internal:host-gateway -it -p 8000:8000 craftmentor_bukkit

Forma alternativa para as etapas 4 e 5:

./CraftMentorBukkit/start.bat ### Ou, caso esteja usando S.O Linux:

### Renomeie o arquivo para start.sh e execute:

bash ./CraftMentorBukkit/start.sh
  1. No Minecraft (versão 1.20.4), conecte-se ao servidor através do endereço
0.0.0.0:8000

Rotas

[GET] 0.0.0.0:8001/players | Lista os jogadores do servidor, permitindo visualizar a pontuação de cada.

[GET] 0.0.0.0:8001/player-exists/<player_name> | Verifica se um jogador já está cadastrado no servidor.

[POST] 0.0.0.0:8001/players | Cadastra um novo jogador no servidor. | Recebe um body {"id": <uuid>, "name": <player_name>}

[PATCH] 0.0.0.0:8001/player/<name> | Atualiza a pontuação de um jogador. | Recebe um body {"points": <valor_em_double>}

O projeto

Consiste em um sistema que monitora o inventário dos jogadores dentro de um servidor de Minecrat (Bukkit hospedado em um container Docker) e, após 10 segundos, um cálculo é feito para atualizar a pontuação de cada jogador com base nos tipos de itens coletados. Os blocos e suas respectivas pontuações podem ser visualizados aqui.

Docker

No Docker, estão os seguintes containers:

  • Servidor Bukkit (porta 8000)
  • PostgreSQL (porta 5435)
  • Adminer (porta 8082)

O Adminer é uma interface que permite interagir com o banco de dados do PostgreSQL e criar/deletar/alterar tabelas dentro dele.

Backend Dart

Na porta 8001, estará rodando o backend em Dart na máquina local. Em seu código, será estabelecida a comunicação com o banco de dados do PostgreSQL (que estará rodando no container Docker).

Servidor Minecraft - Bukkit

About

Um sistema que monitora o inventário dos jogadores dentro de um servidor de Minecrat (Bukkit hospedado em um container Docker) e, após 10 segundos, um cálculo é feito para atualizar a pontuação de cada jogador com base nos tipos de itens coletados.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published