O BrutusForge suporta servidores Minecraft Java (Paper) gerenciados pelo painel admin. Este guia cobre a operação do dia a dia: instalação do servidor, configuração de RCON, instalação de mods (upload manual e Modrinth), entrega da loja, edição do server.properties e solução de problemas.
Instalação do servidor
A instalação é feita pelo painel admin. Acesse Servidores → Adicionar servidor, escolha Minecraft e siga o wizard.
Portas padrão:
| Serviço | Porta |
|---|---|
| Jogo | 25565 |
| RCON | 25575 |
Durante a instalação, o painel baixa o Paper diretamente da API oficial (api.papermc.io), seguindo a cadeia projeto → versões → builds → download do paper.jar. Ao final, o servidor terá os seguintes arquivos na pasta base:
paper.jar
eula.txt
server.propertiesO server.properties já vem com o RCON habilitado e uma senha aleatória de 16 bytes (hex) gerada automaticamente.
EULA da Mojang
A instalação grava eula=true em eula.txt automaticamente. Ao prosseguir, você confirma que aceita o EULA da Mojang. A responsabilidade legal pela aceitação é do administrador do servidor.
Rodar um servidor Minecraft exige aceitar o EULA da Mojang. Só prossiga com a instalação se você concorda com os termos.
RCON
O RCON é habilitado e configurado automaticamente pelo wizard no server.properties:
enable-rcon=true
rcon.password=<32-hex-chars>
rcon.port=25575
broadcast-rcon-to-ops=truercon.passwordé gerada de forma aleatória. Você pode rotacioná-la pelo painel em Servidores → servidor → configurações.broadcast-rcon-to-ops=trueespelha os comandos RCON no log dos operadores, servindo como trilha de auditoria.
Para testar, use a aba RCON do servidor no painel e envie o comando list. A resposta esperada é algo como There are 0 of 20 players online.
Teste direto pela linha de comando:
mcrcon -H <host> -P 25575 -p <password> "list"Instalação de mods
Upload manual (.jar)
Pela aba Mods do servidor, envie um arquivo .jar em Enviar mod.
- Tamanho máximo: 200 MB.
- Apenas arquivos com extensão
.jarsão aceitos. - O nome do arquivo deve seguir o padrão
^[A-Za-z0-9_.-]+\.jar$.
O arquivo é colocado diretamente na pasta de plugins, seguindo a convenção Bukkit/Spigot/Paper:
plugins/Tentativas de path traversal (nome com ../ ou caminho absoluto) são bloqueadas.
Modrinth (sem autenticação)
O painel integra com a Modrinth para instalar plugins e mods sem necessidade de chave de API. Informe o ID do projeto na Modrinth e a instalação é enfileirada automaticamente.
O processo busca a versão mais recente do projeto na API da Modrinth, baixa o .jar via cdn.modrinth.com e o coloca na pasta de plugins. O nome do arquivo é higienizado e a extensão .jar é validada antes de salvar.
A API pública da Modrinth tem limite de 300 requisições por minuto por IP. Em uso normal isso é mais que suficiente; um aviso é registrado quando restam menos de 50 requisições na janela.
Loja (entrega in-game)
A entrega de itens da loja usa o comando vanilla give via RCON. O formato é:
give "<player>" <item> <quantity>O nome do item deve ser um identificador com namespace válido, no formato namespace:item (por exemplo minecraft:diamond). Identificadores fora desse padrão são rejeitados, evitando injeção de comando.
Criptografia de configuração
As configurações sensíveis (como chaves de gerenciadores de mods) são cifradas com AES-256-GCM. A chave é definida por variável de ambiente e é obrigatória:
openssl rand -hex 32Adicione o valor gerado (64 caracteres hex) ao .env:
CONFIG_ENCRYPTION_KEY=<64-hex-chars>A API falha logo no boot se a chave estiver ausente ou com o tamanho errado, evitando rodar com criptografia mal configurada.
Edição do server.properties
O server.properties pode ser editado pelo painel, com validação linha a linha. As regras de validação:
- Cada linha de configuração precisa do separador
=. - A chave só pode conter os caracteres
A-Za-z0-9._-. - Chave vazia (
=valor) é rejeitada. - Linhas de comentário (começando com
#ou;) são ignoradas.
Erros são reportados com o número da linha correspondente.
O manifesto cobre os principais campos do server.properties (rede, jogabilidade, mundo, performance, whitelist, RCON, resource pack e gerenciamento do servidor), validados conforme a documentação oficial do Minecraft 1.21+.
Solução de problemas
A instalação do Paper falha
- Verifique se a API do Paper está acessível:
curl https://api.papermc.io/v2/projects/paper. - Erro de host não permitido (SSRF): a URL precisa ser exatamente
api.papermc.io. - HTTP 403/429: limite de taxa ou rejeição de User-Agent.
RCON recusa a conexão (401 ou recusado)
- Confirme
enable-rcon=truenoserver.properties(definido automaticamente pelo wizard). - Confirme que a senha do RCON no
server.propertiescorresponde à armazenada no painel. - Teste direto:
mcrcon -H <host> -P 25575 -p <password> "list".
O upload do mod falha
- "extensão não permitida": apenas arquivos
.jarsão aceitos. - "tamanho excede 200MB": divida o mod ou reduza o pacote.
- "path traversal": o nome do arquivo contém
../ou caminho absoluto — limpe o nome.
A instalação via Modrinth falha
- Verifique se a Modrinth está acessível:
curl https://api.modrinth.com/v2/search?query=essentials. - "host não permitido (SSRF)": a URL de download não veio de
cdn.modrinth.comnem deapi.modrinth.com. - Limite de taxa 429: aguarde 1 minuto (300 por minuto por IP).
- "arquivo não é .jar": o projeto da Modrinth tem um arquivo principal que não é
.jar(resource pack? data pack?). Instale apenas plugins ou mods Bukkit/Spigot/Paper/Forge/Fabric.
Verificações de saúde
| Verificação | Comando |
|---|---|
| API do Paper no ar | curl https://api.papermc.io/v2/projects/paper |
| RCON funcionando | mcrcon list retorna There are 0/20 players online |
| Mods carregados | a pasta plugins/ contém os .jar esperados |
| API da Modrinth | curl https://api.modrinth.com/v2/search?limit=1 retorna { hits: [...] } |