Como criar um servidor no Minecraft
Um servidor próprio dá controle total sobre o mundo e as regras do jogo. É a possibilidade de jogar com amigos sem pagar assinaturas…
Um servidor próprio dá controle total sobre o mundo e as regras do jogo. É a possibilidade de jogar com amigos sem pagar assinaturas mensais, instalar quaisquer modificações, criar minijogos ou pacotes técnicos. O servidor é executado como um programa separado no computador: ele processa a lógica do jogo, enquanto os clientes dos jogadores se conectam a ele. O processo de criação consiste em escolher o núcleo, configurar os arquivos básicos e abrir o acesso à rede.
Escolha do núcleo do servidor
O tipo de núcleo determina as funcionalidades do servidor. Não é possível instalar mods do Forge no Paper, nem plugins no Vanilla.
Tipo de núcleo | Suporte | Para que serve |
Vanilla | Apenas datapacks | Sobrevivência pura, speedruns. A pior otimização. |
Paper | Plugins (Bukkit/Spigot/Paper) | Servidores públicos, sobrevivência com amigos, minijogos. Excelente otimização. |
Purpur | Plugins (Paper) + configuração própria | Como o Paper, mas com ajustes finos das mecânicas (por exemplo, permitir montar em abelhas). |
Fabric | Mods (Fabric) | Servidores técnicos (Carpet mod), pacotes vanilla+, otimização (Lithium). |
NeoForge / Forge | Mods (Forge/NeoForge) | Modpacks pesados com novas dimensões, mecanismos, magia. |
Para 90% dos servidores privados sem grandes mods globais, o Paper é a escolha ideal. Ele não exige a instalação de mods nos clientes dos jogadores (tudo funciona a partir do cliente vanilla), suporta plugins para proteção de territórios e funciona mais rápido que o núcleo oficial.
⚠️ Importante: Os núcleos híbridos (Arclight, Mohist), que suportam mods e plugins ao mesmo tempo, frequentemente quebram as mecânicas dos mods e causam instabilidade. Escolha apenas uma coisa: ou plugins, ou mods.
Requisitos de sistema e preparação
O servidor consome memória RAM e recursos do processador. A placa de vídeo não tem importância para o servidor — a geração do mundo é feita exclusivamente na CPU.
Para 2–5 jogadores (Paper):
RAM: 2–3 GB de memória alocada.
CPU: qualquer processador moderno a partir de 4 núcleos.
Para 10+ jogadores ou modpacks pesados (NeoForge):
RAM: 6–8 GB de memória alocada.
CPU: alto desempenho por núcleo.
Instalação do Java
O Minecraft 1.21+ exige Java 21 (para as versões 26.1+ é necessário Java 26). O servidor não usa o Java embutido no cliente, ele precisa ser instalado separadamente no sistema.
Baixe o JDK 21 (ou JDK 26) no site oficial da Oracle.
Instale, ativando obrigatoriamente a opção “Add to PATH” no instalador.
Verifique no terminal: java -version. Deve exibir a versão 21.0.x.
Instalação e inicialização básicas
Exemplo de instalação para o núcleo Paper:
Passo 1. Download do núcleo
Acesse o site oficial papermc.io, escolha a versão do jogo (por exemplo, 26.1) e baixe o arquivo. Crie uma pasta vazia para o servidor e mova o arquivo para lá. Renomeie-o para server.jar por conveniência.
Passo 2. Criação do arquivo de inicialização
O servidor não é iniciado com um duplo clique. É preciso alocar memória para ele por meio de um script.
Crie na pasta do servidor um documento de texto start.txt,
abra-o e cole o código:
DOS
java -Xmx4G -Xms4G -jar server.jar nogui
pause
O parâmetro -Xmx4G define o limite máximo de memória RAM (4 GB). -Xms4G é a quantidade inicial. Salve o arquivo e altere sua extensão de .txt para .bat (para Windows).
No Linux/macOS, crie start.sh e adicione #!/bin/bash como primeira linha.
Passo 3. Aceitação do EULA
Execute o start.bat. O console abrirá por alguns segundos e fechará. Abra o novo arquivo eula.txt. Altere a linha eula=false para eula=true. Esta é a concordância oficial com o contrato de licença dos desenvolvedores.
Passo 4. Inicialização completa
Execute o start.bat novamente. O servidor irá gerar o mundo e os arquivos de configuração. No console aparecerá a mensagem Done!. Pare o servidor exclusivamente com o comando stop no console, caso contrário o mundo pode ser corrompido.
Configuração do server.properties
O arquivo server.properties contém as configurações principais do servidor. Para abri-lo, clique com o botão direito do mouse sobre o arquivo e escolha “Abrir com…”, depois escolha “Bloco de Notas” ou qualquer outro editor de texto.\
Abaixo, uma tabela com as configurações padrão do server.properties e a descrição de cada parâmetro:
Parâmetro | Valor | Descrição |
accepts-transfers | FALSE | Determina se este servidor aceita redirecionamentos (transferências) de jogadores de outros servidores. |
allow-flight | FALSE | Permite ou proíbe voos no servidor no modo sobrevivência (se o jogador usar modificações de terceiros). Com false, o servidor expulsará esses jogadores. |
broadcast-console-to-ops | TRUE | Se ativado, os resultados da execução dos comandos do console serão enviados no chat para todos os operadores (administradores) do servidor. |
broadcast-rcon-to-ops | TRUE | O mesmo que o anterior, mas para comandos enviados pelo acesso remoto (RCON). |
bug-report-link | (vazio) | Link que será exibido aos jogadores na tela ao serem desconectados do servidor devido a um erro ou falha. |
debug | FALSE | Ativa o modo de depuração (debug mode) para um registro estendido de erros. |
difficulty | easy | Nível de dificuldade no servidor (peaceful — pacífico, easy — fácil, normal — normal, hard — difícil). |
enable-code-of-conduct | FALSE | Se deve exigir dos jogadores a concordância com as regras de conduta da Microsoft (Code of Conduct) ao se conectarem. |
enable-jmx-monitoring | FALSE | Permite o uso de JMX (Java Management Extensions) para o monitoramento do desempenho do servidor. |
enable-query | FALSE | Ativa o protocolo GameSpy4 (Query), que permite a sites de monitoramento de terceiros obter informações sobre o servidor (jogadores online, plugins). |
enable-rcon | FALSE | Ativa o acesso remoto ao console do servidor (RCON) para gerenciá-lo sem acesso direto ao terminal da máquina. |
enable-status | TRUE | Permite que o servidor seja exibido como «online» na lista de servidores do cliente do jogo. |
enforce-secure-profile | TRUE | Exige que os jogadores tenham chaves públicas assinadas do perfil Mojang (proteção contra a falsificação de mensagens no chat). |
enforce-whitelist | FALSE | Se true, o servidor expulsará à força os jogadores que não estão na «lista branca» (whitelist) quando essa lista for ativada. |
entity-broadcast-range-percentage | 100 | Controla a distância (em porcentagem) na qual o servidor envia ao cliente os dados sobre as entidades (mobs, outros jogadores, itens). |
force-gamemode | FALSE | Define à força o modo de jogo padrão para os jogadores a cada conexão ao servidor. |
function-permission-level | 2 | Nível de permissões (de 1 a 4) para as funções executadas por meio dos datapacks. |
gamemode | survival | Modo de jogo padrão (survival, creative, adventure, spectator). |
generate-structures | TRUE | Determina se as estruturas serão geradas no mundo (vilas, masmorras, templos, etc.). |
generator-settings | {} | Configurações especiais para o gerador de mundo (geralmente usado para mundos personalizados). |
hardcore | FALSE | Modo «Hardcore». Se true, após a morte o jogador passa para o modo espectador para sempre. |
hide-online-players | FALSE | Se true, oculta a lista de nicks dos jogadores ativos no menu do jogo multijogador. |
initial-disabled-packs | (vazio) | Lista de datapacks que serão desativados ao criar um novo mundo. |
initial-enabled-packs | vanilla | Lista de datapacks ativados por padrão (jogo base «vanilla»). |
level-name | world | Nome da pasta na qual são armazenados os arquivos do seu mundo. |
level-seed | (vazio) | Seed (semente numérica) para a geração do mundo. Se vazio, será gerado um aleatório. |
level-type | minecraft\:normal | Tipo de geração do mundo (normal — normal, flat — plano, large_biomes — biomas grandes, amplified — montanhoso). |
log-ips | TRUE | Determina se os endereços IP dos jogadores serão registrados nos arquivos de log do servidor. |
management-server-* | (vários) | Grupo de parâmetros (portas, chaves, configurações) para ferramentas externas de gerenciamento do servidor (usado raramente). |
max-chained-neighbor-updates | 1000000 | Limite de atualizações em cadeia dos blocos (por exemplo, durante uma explosão de TNT ou esquemas complexos de redstone) para evitar que o servidor trave. |
max-players | 20 | Número máximo de jogadores que podem estar simultaneamente no servidor. |
max-tick-time | 60000 | Tempo máximo (em milissegundos) de execução de um «tick». Se o servidor «pensar» por mais tempo do que isso, ele se desligará automaticamente (proteção contra um travamento «morto»). |
max-world-size | 29999984 | Raio máximo da borda do mundo (em blocos). |
motd | A Minecraft Server | Message Of The Day. Descrição/nome do servidor que os jogadores veem na lista de servidores. |
network-compression-threshold | 256 | Tamanho mínimo do pacote (em bytes) a partir do qual o servidor começará a comprimi-lo para economizar tráfego de internet. |
online-mode | TRUE | Parâmetro muito importante. Se true — permite apenas jogadores com o jogo licenciado. Se false — permite a entrada de jogadores com launchers «piratas». |
op-permission-level | 4 | Nível de permissões dos operadores por padrão (1-4, onde 4 dá acesso a todos os comandos, incluindo stop). |
pause-when-empty-seconds | -1 | Tempo de inatividade (em segundos) após o qual o servidor coloca o mundo «em pausa» se não houver jogadores (-1 significa desativado). |
player-idle-timeout | 0 | Tempo (em minutos) após o qual um jogador inativo (AFK) é expulso automaticamente. 0 — desativado. |
prevent-proxy-connections | FALSE | Proíbe a conexão de jogadores que usam VPN ou proxy (funciona em conjunto com o sistema de autenticação da Mojang). |
query.port | 25565 | Porta para o protocolo Query (se estiver ativado pelo parâmetro enable-query). |
rate-limit | 0 | Número máximo de pacotes do cliente para o servidor. Usado para proteção contra spam de pacotes (0 — desativado). |
rcon.password | (vazio) | Senha para o acesso remoto ao console do servidor (precisa ser preenchida se enable-rcon=true). |
rcon.port | 25575 | Porta para a conexão RCON. |
region-file-compression | deflate | Algoritmo de compressão dos arquivos do mundo (regiões). deflate é o padrão e o mais comum. |
require-resource-pack | FALSE | Se true, o jogador não conseguirá entrar no servidor até concordar em baixar o resource pack do servidor. |
resource-pack | (vazio) | Link direto (URL) para o arquivo .zip do resource pack do servidor que será oferecido aos jogadores. |
resource-pack-id | (vazio) | Identificador único do resource pack (UUID). |
resource-pack-prompt | (vazio) | Mensagem que o jogador verá ao ser convidado a baixar o resource pack (por exemplo: «Por favor, baixe o pack para uma melhor experiência de jogo»). |
resource-pack-sha1 | (vazio) | Hash SHA-1 do arquivo com o resource pack. É necessário para que o cliente não baixe o pack novamente caso ele não tenha mudado. |
server-ip | (vazio) | Endereço IP para «vincular» o servidor. Geralmente é deixado vazio para que o servidor funcione em todas as interfaces de rede da máquina. |
server-port | 25565 | Porta principal do servidor pela qual os jogadores se conectarão. |
simulation-distance | 10 | Raio (em chunks) ao redor do jogador dentro do qual o mundo é simulado (as plantas crescem, os mobs andam, os mecanismos funcionam). |
spawn-protection | 16 | Raio de proteção da zona de spawn (em blocos). Nesta zona, os jogadores comuns não podem quebrar ou colocar blocos. |
status-heartbeat-interval | 0 | Intervalo de envio de dados estendidos sobre o status do servidor (geralmente não usado). |
sync-chunk-writes | TRUE | Torna o salvamento dos chunks no disco síncrono (mais confiável para evitar a perda de dados do mundo em caso de falhas, mas pode deixar o servidor um pouco mais lento). |
text-filtering-config | (vazio) | Configuração de um sistema externo de filtragem de palavrões no chat. |
text-filtering-version | 0 | Versão da API do sistema de filtragem de texto. |
use-native-transport | TRUE | Permite que o servidor use as bibliotecas de rede otimizadas do sistema (por exemplo, epoll para Linux), o que melhora o desempenho da rede. |
view-distance | 10 | Distância de renderização (em chunks) enviada pelo servidor ao cliente (na qual se baseia a distância de visão do jogador). |
white-list | FALSE | Ativação da «lista branca». Se true, somente os jogadores cujos nicks foram adicionados a essa lista poderão entrar no servidor (com o comando /whitelist add <nick>). |
⚠️ Importante: Se você definir online-mode=false, qualquer jogador poderá entrar com o nick do administrador. Instale obrigatoriamente um plugin de autorização (por exemplo, AuthMe Reloaded) para proteção.
Como instalar plugins
Os plugins ampliam as possibilidades do servidor sem que os jogadores precisem instalar mods. Funcionam apenas no Paper, Purpur e Spigot.
Baixe o plugin no formato .jar.
Coloque o arquivo na pasta plugins dentro do servidor.
Reinicie o servidor (stop -> start.bat).
Na pasta plugins aparecerá uma pasta com as configurações do plugin, onde se editam suas configurações (geralmente no arquivo config.yml).
Como instalar mods
Para jogar com mods é necessário o núcleo Fabric ou NeoForge. Todos os jogadores devem ter um conjunto de mods idêntico em seu cliente.
Para Fabric:
Baixe o instalador em fabricmc.net.
Execute-o, escolha a aba «Server», indique a versão do jogo e uma pasta vazia. Clique em «Install».
Execute o fabric-server-launch.jar baixado por meio do start.bat.
Coloque os mods na pasta mods gerada. Para o Fabric, é obrigatório o mod Fabric API.
Para NeoForge:
Baixe o instalador em neoforged.net.
Execute, escolha «Install server» e indique a pasta.
Após a instalação, execute o arquivo run.bat (o instalador o cria sozinho).
Coloque os mods do servidor na pasta mods.
É proibido instalar mods de cliente (minimapas, shaders, otimização de exibição como o Sodium) no servidor — eles causam o crash do núcleo na inicialização.
Como deixar os jogadores entrarem no servidor
Método 1: Port Forwarding
O melhor método, com o menor ping. Requer acesso ao roteador.
Entre no painel de configurações do roteador (192.168.1.1 no navegador).
Encontre a seção «Port Forwarding» ou «NAT».
Crie uma regra: porta 25565, protocolo TCP/UDP, IP local — o endereço do seu computador (descubra com o ipconfig).
Os jogadores se conectam pelo seu endereço IP externo (site 2ip.ua).
Método 2: Túneis (Playit.gg)
Se o provedor bloqueia as portas.
Baixe o programa em playit.gg.
Execute-o junto com o servidor. Ele abrirá uma página no navegador.
Registre-se, e o serviço fornecerá um endereço público (por exemplo, auto-bridge.playit.gg).
Os jogadores digitam esse endereço no jogo.
Método 3: Radmin VPN
Instale o Radmin VPN em todos os computadores.
Crie uma rede e dê o nome aos seus amigos.
Eles entram na rede.
Os jogadores se conectam pelo endereço IP do seu PC indicado no Radmin VPN.
Detalhes técnicos / Como funciona por dentro
O servidor Minecraft é um aplicativo de thread única. O laço principal do jogo (tick loop), que processa o movimento dos mobs, a física e os mecanismos, é executado exclusivamente em um único núcleo do processador.
O jogo tenta executar 20 ticks por segundo (TPS — Ticks Per Second). A cada tick são alocados 50 milissegundos. Se os cálculos levarem mais tempo, o TPS cai e os jogadores sentem atrasos. É exatamente por isso que, para o servidor, a frequência de clock de um único núcleo é mais importante que o número total de núcleos.
O multithreading em núcleos como o Paper é usado apenas para o carregamento assíncrono de chunks do disco e o processamento de rede, mas a própria lógica do jogo permanece em uma única thread.
Comandos básicos do administrador
São inseridos no console do servidor (sem /).
Ação | Comando |
Conceder permissões de operador | op [nick] |
Remover permissões | deop [nick] |
Ativar a lista branca | whitelist on |
Adicionar à lista branca | whitelist add [nick] |
Expulsar um jogador | kick [nick] [motivo] |
Banir um jogador | ban [nick] [motivo] |
Salvar o mundo manualmente | save-all |
Hospedagem como alternativa
Se o computador doméstico for fraco, o servidor pode ser alugado.
Tipo | Representantes | Vantagens | Limitações |
Gratuitos | Aternos, FalixNodes | Não é preciso pagar | Filas para iniciar, lags sob carga, o servidor se desliga sem jogadores. |
Pagos econômicos | PebbleHost, Bloom.host | A partir de 1$ por GB, funcionamento 24/7 | É preciso pagar mensalmente. |
VDS/VPS | Hetzner, Oracle | Controle total sobre a máquina | Requer habilidades de administração de Linux. |
Erros comuns e como evitá-los
Erro 1: FAILED TO BIND TO PORT. O servidor não inicia porque a porta 25565 já está ocupada. Costuma acontecer ao iniciar dois start.bat. Abra o gerenciador de tarefas e feche todos os processos Java(TM) Platform SE binary.
Erro 2: UnsupportedClassVersionError. A versão do Java está desatualizada. Para 1.20.5+ é necessário o Java 21, e para 1.16.5 — o Java 11.
Erro 3: Lags durante voos rápidos. O servidor não consegue gerar os novos chunks a tempo. Instale o plugin Chunky e gere o mundo previamente em um raio de 5000 blocos.
Erro 4: Crash do servidor Fabric/Forge na inicialização. Um mod de cliente (minimapa, Sodium) foi parar na pasta mods. O servidor não tem interface gráfica e trava ao tentar carregá-los.
Erro 5: Erro Invalid session ao se conectar. O jogador usa um launcher pirata com online-mode=true ativado. Altere o valor para false no server.properties.
Conclusão
Um servidor próprio baseado no Paper é a escolha ideal para uma sobrevivência privada com amigos, pois garante excelente desempenho e permite adicionar plugins sem alterar o cliente do jogo. Para grandes pacotes com novas mecânicas, será preciso usar o Fabric ou o NeoForge, que exigem a sincronização dos mods entre o servidor e os jogadores. O principal desafio na configuração de um servidor doméstico é a abertura correta das portas, mas o uso de serviços como o Playit.gg resolve o problema das portas bloqueadas pelo provedor. Se o desempenho do PC doméstico não for suficiente, a mudança para uma hospedagem paga acessível garante um acesso estável 24/7.
Ainda sem comentários. Seja o primeiro a opinar.