Ambiente Docker para servidor Minecraft Bedrock com API TypeScript, MongoDB e desenvolvimento de addons.
.
├── bedrockServer/ # Arquivos do servidor Bedrock
│ └── worlds/ # Mundos do servidor e bases de mundo
├── server/ # API TypeScript com Fastify
│ ├── src/ # Código fonte
│ │ ├── routes/ # Rotas da API
│ │ ├── services/ # Serviços de negócio
│ │ ├── models/ # Modelos do banco de dados
│ │ ├── types/ # Tipos TypeScript
│ │ └── test/ # Rotas e serviços de teste
│ └── tests/ # Testes unitários e de integração
├── development/ # Fonte dos addons Bedrock
├── script-tools/ # Ferramentas de configuração do ambiente
├── docs/ # Documentação organizada
├── docker-compose.yml # Orquestração dos serviços
└── .env # Variáveis de ambiente usadas pelo Docker
-
Configuração Inicial
# Edite o .env se quiser mudar portas, nome do servidor ou mundo padrão. # O Docker usa BEDROCK_LEVEL_NAME para escolher a pasta do mundo.
-
Instalar Dependências e Ferramentas No Linux/Mac, execute esta linha apenas na primeira vez neste PC, depois de clonar o projeto:
chmod +x install-all.sh configure.sh start.sh
Windows:
.\install-all.ps1Linux/Mac:
./install-all.sh
O instalador verifica Node.js/npm e Docker. No Linux ele tenta instalar automaticamente em distribuições baseadas em Ubuntu/Debian, Fedora e Arch. No Windows ele usa
wingetou Chocolatey quando disponíveis; para Docker Desktop, pode pedir permissão de Administrador e reabrir o instalador em uma nova janela na raiz do projeto. Essa janela continua o fluxo completo, incluindo pacotes npm, e espera uma tecla antes de fechar. A janela original aguarda esse processo terminar. Quando o Docker é instalado pelo script, ele não é configurado para iniciar automaticamente com o sistema. -
Configurar Addon e Mundo Windows:
.\configure.ps1
Linux/Mac:
./configure.sh
O configurador usa
development/como fonte do addon, sincroniza a saída para obedrockServer/, cria mundos a partir de bases, ajusta o mundo padrão do Docker, configura CPU/RAM dos containers e dá acesso a logs/terminais. -
Iniciar Serviços Windows:
.\start.ps1
No Windows, se o Docker Desktop estiver instalado mas parado, o script pode tentar iniciar o Docker antes de subir os containers.
Linux/Mac:
./start.sh
O start compila o addon em
development/e sincroniza a saída para obedrockServer/antes de subir os containers. -
Conectar ao Servidor
- IP:
localhost - Porta:
19132(UDP)
- IP:
Toda a documentação está organizada na pasta docs/:
- Índice da Documentação - Ponto de entrada para todos os guias
- Início Rápido - Guia rápido de instalação
- Configuração - Configurações detalhadas
- API - Documentação da API
- Bedrock Server - Configuração do servidor
- Utilidades - Scripts e ferramentas
- Git - Configuração do repositório
- Criar Novo Tipo de Dados - Guia completo para criar novos tipos de dados
- Desenvolvimento - Guia de desenvolvimento com hot-reload
- Ferramentas de Configuração - CLI para mundos base, addon base e UUIDs
- Porta:
27017 - Banco:
bedrock_db
- URL:
http://localhost:3000 - Health:
http://localhost:3000/health
- Porta:
19132(UDP IPv4) - Porta:
19133(UDP IPv6)
cd server
npm run dev
npm testcd development
npm run local-deployCompatibilidade do addon: Bedrock 1.26.40, @minecraft/server 2.9.0, @minecraft/server-ui 2.1.0, @minecraft/server-net beta estável de 1.26.40 e @minecraft/vanilla-data 1.26.40.
- EULA: Você deve aceitar o EULA da Mojang definindo
BEDROCK_EULA=TRUEno.env - Portas: Certifique-se de que as portas UDP 19132/19133 estão abertas no firewall
- Mundos base: Use o configurador da sua plataforma para criar mundos a partir das bases já preparadas com recursos beta/script.
- GitHub público: coloque
.envno.gitignoreantes de publicar o projeto com credenciais ou valores privados. - Backup: Faça backup regular da pasta
bedrockServer/worlds/
MIT