Painel de administração local para servidores Minecraft
⚠️ Projeto em fase Alpha — funcionalidades em desenvolvimento ativo. Pode haver instabilidades.
O MineControl é uma aplicação desktop desenvolvida em Flutter para gerenciamento local de servidores Minecraft. Ele centraliza a administração do servidor em uma interface moderna e limpa, eliminando a necessidade de operar diretamente pelo terminal.
Inspirado no projeto Python zController, o MineControl traz as mesmas capacidades funcionais com uma arquitetura mais modular, UI aprimorada e fluxo operacional mais robusto.
Permitir que o administrador do servidor:
- Inicie, pare e reinicie o servidor com um clique
- Acompanhe o console em tempo real sem abrir um terminal separado
- Envie comandos diretamente ao servidor
- Gerencie configurações de forma persistente
- Controle backups automatizados e manuais
- Gerencie whitelist e permissões de OP
- Agende automações baseadas em cron
- Controle completo do ciclo de vida do servidor (iniciar, parar, reiniciar)
- Indicador visual de estado do servidor (offline, iniciando, online, desligando)
- Backup manual com modal de progresso
- Controle de PVP em tempo real
- Desconexão de jogadores (individual, múltiplos ou todos)
- Exibição do stdout do servidor Java em tempo real
- Envio de comandos ao servidor
- Cópia de conteúdo do console
| Aba | Descrição |
|---|---|
| Servidor | Path do servidor, arquivo JAR, configurações de Java e RAM, auto-restart em crash |
| Propriedades | Edição do server.properties (nome, MOTD, gamemode, max-players, PVP, whitelist) |
| Backups | Configuração de pasta, retenção máxima e agendamento |
| Admin | Gerenciamento de OP (dar/remover permissões de operador) |
| Agendamentos | Automações via cron (iniciar, desligar, reiniciar + backup opcional) |
| Avançado | Limpeza de dados locais com dupla confirmação |
- Sincronização com o arquivo físico
whitelist.json - Adição e remoção de jogadores
- Validação de configurações essenciais
- Backup manual e agendado
- Retenção automática (remove os mais antigos ao atingir o limite)
- Histórico com nome, tipo, data e tamanho
- Tipos:
Manual,Agendamento,Chunk
- Expressões cron personalizadas
- Avisos automáticos aos jogadores (15, 10, 5 e 1 minuto antes)
- Integração com sistema de backup
lib/
├── main.dart # Entrypoint
├── app.dart # Configuração da aplicação
├── layout/ # Layout padrão e design system
├── components/ # Componentes reutilizáveis globais
├── models/ # Modelos de dados
├── database/ # Configuração e acesso SQLite
├── config/ # Configurações globais da aplicação
└── modules/
├── home/ # Tela principal e controle do servidor
├── console/ # Console em tempo real
├── config/ # Módulo de configurações
├── whitelist/ # Gerenciamento de whitelist
├── server/ # Serviços do processo Java
└── backup/ # Sistema de backup
docs/
├── minecontrol_documentacao_v2.md # Documentação completa do sistema
├── info_zcontroller.md # Referência do projeto base Python
├── compatibilidade_so_levantamento.md # Análise de compatibilidade SO
└── minecraft_commands.md # Referência de comandos Minecraft
| Tecnologia | Descrição |
|---|---|
| Flutter | Framework UI multiplataforma |
| Riverpod 3 | Gerenciamento de estado reativo |
| SQLite (sqflite_ffi) | Persistência local |
| file_picker | Seleção de arquivos/pastas |
| archive | Criação de arquivos ZIP (backup) |
Antes de executar o projeto, certifique-se de ter instalado:
- Flutter SDK — versão
^3.10.7ou superior - Dart SDK — incluído com o Flutter
- Git
Para verificar a instalação:
flutter --version
flutter doctorgit clone https://github.com/william-ks/server_controll.git
cd server_controllflutter pub getWindows:
flutter run -d windowsLinux:
flutter run -d linux💡 Para listar os dispositivos disponíveis:
flutter devices
flutter build windows --releaseO executável será gerado em:
build/windows/x64/runner/Release/
flutter build linux --releaseO executável será gerado em:
build/linux/x64/release/bundle/
Para regenerar os ícones da aplicação após alterar a imagem em lib/assets/minecraft.png:
dart run flutter_launcher_iconsO MineControl utiliza SQLite para persistência local de:
- Configurações do servidor (
app_settings) - Dados da whitelist
- Registros de backup
- Agendamentos
- Estado do PVP e propriedades do servidor
O banco é criado automaticamente na primeira execução.
| Módulo | Status |
|---|---|
| Home (controle do servidor) | ✅ Funcional |
| Console em tempo real | ✅ Funcional |
| Config > Servidor | ✅ Funcional |
| Config > Propriedades | ✅ Funcional |
| Config > Backups | ✅ Funcional |
| Config > Admin (OP) | ✅ Funcional |
| Config > Agendamentos | ✅ Funcional |
| Config > Avançado | ✅ Funcional |
| Whitelist | ✅ Funcional |
| Tela de Backups | ✅ Funcional |
| Geração de Chunks | 🚧 Em desenvolvimento |
| Suporte Linux completo | 🚧 Em desenvolvimento |
Contribuições são bem-vindas! Por favor, leia as orientações antes de abrir issues ou pull requests.
- Fork o projeto
- Crie uma branch para sua feature ou correção:
git checkout -b feat/minha-feature
- Faça suas alterações e commit:
git commit -m "feat: adiciona minha feature" - Envie para o repositório remoto:
git push origin feat/minha-feature
- Abra um Pull Request
Use o padrão Conventional Commits:
| Prefixo | Uso |
|---|---|
feat: |
Nova funcionalidade |
fix: |
Correção de bug |
docs: |
Documentação |
refactor: |
Refatoração sem mudança funcional |
chore: |
Tarefas de manutenção |
Use os templates de issue disponíveis ao abrir uma nova issue. Veja a pasta .github/ISSUE_TEMPLATE.
Este projeto é licenciado sob a GNU General Public License v3.0 — veja o arquivo LICENSE para detalhes.
MineControl - Painel de administração local para servidores Minecraft
Copyright (C) 2024 william-ks
Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo
sob os termos da Licença Pública Geral GNU conforme publicada pela
Free Software Foundation, na versão 3 da Licença, ou (a seu critério)
qualquer versão posterior.
Para documentação técnica completa do sistema, consulte a pasta docs/:
minecontrol_documentacao_v2.md— Documentação completa do sistemainfo_zcontroller.md— Referência do projeto base Pythoncompatibilidade_so_levantamento.md— Análise de compatibilidade por SOminecraft_commands.md— Referência rápida de comandos Minecraft
Feito com ❤️ por william-ks