🎮 Minecraft Discord Bot (RCON)
✨ Funcionalidades
Funcionalidade Descrição 🔧 Executar Comandos Envie qualquer comando para o servidor (/exec)
📢 Enviar Mensagens Envie mensagens para o chat do servidor (/say)
👥 Listar Jogadores Veja todos os jogadores online (/players)
📊 Status do Servidor Verifique o status e informações do servidor (/status)
🛠️ Modo Manutenção Ative/desative o modo manutenção (/manutencao)
🛰️ Monitoramento Monitor automático de entrada/saída de jogadores
📋 Logs Detalhados Registro de eventos em canal dedicado (entradas, saídas, mortes, bans)
🔄 Presença Dinâmica Atualização automática da presença do bot com quantidade de jogadores
📂 Estrutura do Projeto
minecraft-bot/
├── commands/ # Comandos slash (exec, say, players, status, manutencao)
├── events/ # Eventos do Discord (ready, logs, monitor de players, etc.)
├── handlers/ # Handlers para carregar comandos e eventos
├── rcon/ # Cliente RCON (conexão e envio de comandos)
├── utils/ # Utilitários (manipulação JSON, etc.)
├── index.js # Arquivo principal do bot
├── config.json # Configuração alternativa (fallback para .env)
├── .env.example # Exemplo de variáveis de ambiente
├── .gitignore # Ignora node_modules, .env, etc.
├── package.json # Dependências e scripts
└── README.md # Documentação
⚙️ Pré-requisitos
Antes de começar, certifique-se de ter:
· Node.js 18+ instalado · Um bot no Discord criado (guia oficial) · Servidor Minecraft com RCON habilitado (edite o server.properties):
enable-rcon=true
rcon.port=25575
rcon.password=SUA_SENHA_AQUI🚀 Instalação Rápida
Siga estes passos para configurar o bot:
- Clone o repositório:
git clone https://github.com/THZIMX/Minecraft-Discord-Bot.git cd minecraft-bot - Instale as dependências:
npm install
- Configure as variáveis de ambiente:
cp .env.example .env
- Edite o arquivo .env com suas informações:
DISCORD_TOKEN=seu_token_do_discord CLIENT_ID=seu_client_id GUILD_ID=id_do_servidor_teste COMMAND_SCOPE=guild RCON_HOST=127.0.0.1 RCON_PORT=25575 RCON_PASSWORD=sua_senha_rcon CHANNEL_ID=canal_para_monitorar_jogadores LOG_CHANNEL_ID=canal_para_logs
Para iniciar o bot, execute:
npm startOu alternativamente:
node index.jsSe tudo estiver configurado corretamente, você verá no console:
🤖 Bot online como SeuBot#1234
📡 Sincronizando comandos Slash...
✅ Comandos de guild sincronizados!
📜 Comandos Disponíveis
Comando Parâmetros Descrição Permissão
/exec Executa comando no servidor Administrador
/say Envia mensagem ao chat do servidor Administrador
/players - Lista os jogadores online Todos
/status - Mostra status (players e versão) Todos
/manutencao <ativar|desativar> [duracao] Gerencia modo manutenção Administrador
🛡️ Segurança
· 🔒 NUNCA compartilhe seu DISCORD_TOKEN ou RCON_PASSWORD · 📛 O arquivo .env já está no .gitignore para não ser versionado · 🏠 Use GUILD_ID em ambiente de testes para não precisar esperar propagação global · 🔐 Recomendado: use permissões específicas para o bot no Discord
🔧 Configuração Avançada
Configuração Valores Descrição COMMAND_SCOPE guild ou global Escopo dos comandos (guild é instantâneo) playerMonitorInterval número (ms) Tempo para checar players (padrão: 5000)
No config.json você pode ajustar:
{
"playerMonitorInterval": 5000,
"maxCommandRetries": 3
}🛠️ Tecnologias Utilizadas
· discord.js v14 - Interface com Discord API · dotenv - Gerenciamento de variáveis de ambiente · rcon-client - Cliente RCON principal · rcon - Cliente RCON alternativo
🤝 Contribuindo
Contribuições são sempre bem-vindas! Siga estos passos:
- Faça um Fork do projeto
- Crie sua Feature Branch (git checkout -b feature/AmazingFeature)
- Commit suas mudanças (git commit -m 'Add some AmazingFeature')
- Push para a Branch (git push origin feature/AmazingFeature)
- Abra um Pull Request
📜 Licença
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para detalhes.
Nota: Este bot não é afiliado com a Mojang ou Microsoft.· rcon - Cliente RCON alternativo
🤝 Contribuindo
Contribuições são sempre bem-vindas! Siga estos passos:
- Faça um Fork do projeto
- Crie sua Feature Branch (git checkout -b feature/AmazingFeature)
- Commit suas mudanças (git commit -m 'Add some AmazingFeature')
- Push para a Branch (git push origin feature/AmazingFeature)
- Abra um Pull Request
📜 Licença
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para detalhes.
Nota: Este bot não é afiliado com a Mojang ou Microsoft.