Tutorial como criar servidor de Minecraft no Raspberry Pi

Objetivo

Passo a passo ensinando como criar um servidor de Minecraft no Raspberry Pi.

Requisitos mínimos

  • Raspberry Pi 3
  • Fonte alimentação 2,5A
  • Cartão SD Class 10 – 16GB

Requisitos Recomendados

  • Raspberry Pi 4 – 4GB
  • Fonte alimentação 3A – 5,1V (evitar undervoltage)
  • SSD USB 3.0 – 32GB
  • Overclock para 2,2Ghz
  • Cooler com ventoinha

Considerações Iniciais

Apesar do Minecraft ser um jogo aparentemente simples em questões gráficas, ele demanda bastante processamento em algumas ocasiões, que pode levar o Raspberry a trabalhar em seu limite. É comum então que receba mensagens como:

Can't keep up! Is the server overloaded? Running 2171ms or 43 ticks behind

Nos testes que realizei, mesmo recebendo eventualmente mensagens de atraso no servidor, não constatei nenhum problema na jogabilidade. Realizei overclock no limite do meu Raspberry (não consegui chegar nos prometidos 2,3Ghz), mas mesmo com 2250 Mhz as mensagens continuavam a aparecer, mas não eram frequentes. Acompanhei o servidor com uma janela rodando o htop e depois do jogo iniciado, não vi nenhum núcleo passando de 70% em nenhum momento. Memória ram também não pareceu ser um problema, o garbage collector parece funcionar de forma satisfatória. Rodei o servidor com 3, 4 e 7GB de ram e não senti diferença em desempenho. Provavelmente somente com um número maior de jogadores conectados seria possível realizar um teste mais aprofundado.

Passo a passo como criar um servidor de Minecraft

Passo 1 – Conectar no servidor

Neste exemplo, tenho o Raspberry Pi configurado com o IP 192.168.1.55 e o usuário principal é o viniciuspaes. Então para realizar o login por ssh, utilizo o seguinte comando pelo terminal:

ssh viniciuspaes@192.168.1.55

Passo 2 – Verificar versões do OpenJDK disponíveis

O servidor do Minecraft funciona com a tecnologia/linguagem de programação JAVA. Então precisamos do Java JDK e JRE disponíveis no raspberry. É uma boa prática sempre instalar a última versão disponível. Você pode verificar as versões disponíveis com o comando:

sudo apt-cache search openjdk

Nesta busca pelos pacote do OpenJDK, verificamos que a versão 19 está disponível.

Servidor Minecraft - apt-cache search openjdk

Servidor Minecraft - apt-cache search openjdk - resultado

Passo 3 – Instalar OpenJDK (JDK e JRE)

No passo anterior vimos que a versão 19 está disponível e como mencionamos, precisamos tanto do JDK quanto do JRE. Então vamos instalar estes pacotes com o comando:

sudo apt install openjdk-19-jdk openjdk-19-jre

Na minha instalação, o download dos softwares ficou próximo de 673MB.

Servidor Minecraft - instalando openjdk development kit e runtime environment

Passo 4 – Download do executável .jar do Minecraft Server

Neste passo precisamos já preparar o local onde queremos guardar os arquivos do servidor de Minecraft. De forma simples, vou criar um diretório dentro da minha pasta de usuário mesmo, você também pode fazer o mesmo com os comandos:

Para caminhar para sua pasta de usuário:

cd ~

Para criar uma pasta para o servidor:

mkdir minecraft-server

Para entrar dentro da pasta do Minecraft

cd minecraft-server

Servidor Minecraft - criar pasta para arquivos do servidor

Agora precisamos ir no site do desenvolvedor do minecraft e realizar o Download do arquivo executável do servidor. Então precisamos abrir a seguinte URL no browser:

Agora você precisa somente copiar o link de download para o clipboard (copy link address). Agora no sua janela de terminal, utilize o comando wget seguida do link de download, para realizar o download direto na pasta que já criamos. Dependendo do terminal que estiver utilizando você pode utilizar o control+v para colar o link de download (linux e mac), ou o botão direito do mouse (windows). Neste exemplo o link que utilizamos foi:

wget https://piston-data.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar

Servidor Minecraft - copiar link de download

Servidor Minecraft - wget link de download

Passo 5 – Aceitar arquivo EULA

Antes do servidor poder ser executado corretamente, precisamos aceitar o End User License Agreement (EULA). Precisamos então rodar a primeira vez o servidor, para que o mesmo faça o download de todas as dependências e do arquivo de EULA. No comando abaixo vamos executar o servidor, repare nos prefixo “-Xmx” e “-Xms” eles definem a quantidade de memória ram que o servidor poderá utilizar. Uma boa prática é rodar o htop, ver a quantidade de memória ram que está utilizando e ver o quanto que poderia deixar disponível para o servidor.

Servidor Minecraft - executando htop

Servidor Minecraft - executando htop - destaque para total de memória ram utilizada em idle

Se o seu Raspberry tiver bastante memória ram, a regra geral é deixar 1Gb pro sistema operacional e o restante para o minecraft. Então se tiver utilizando um Raspberry com 4Gb de ram, utilize 3GB para o servidor. Neste exemplo estou com um Raspberry de 8Gb, então vou alocar 6Gb para o servidor, pois está de bom tamanho:

java -Xmx6G e -Xms6G -jar server.jar

Irá aparecer uma mensagem de erro para ecitar o EULA. Então vamos utilizar o nano para editar o arquivo:

nano eula.txt

No arquivo temos:

eula=false

Precisamos alterar para:

eula=true

Aperta control+o para salvar as modificações e control+x para sair do editor nano.

Servidor Minecraft - primeira execução - criar estrutura de arquivos e gerar eula

Servidor Minecraft - primeira execução - erro EULA

Servidor Minecraft - nano eula.txt

Servidor Minecraft - nano eula.txt - eula-false (original)

Servidor Minecraft - nano eula.txt - eula=true

Passo 6 – Executar o servidor de Minecraft

A configuração básica está pronta. Caso não tenha o desejo de instalar nenhum mod adicional ou otimização com o Fabric ou Lithium, basta executar o servidor. Como estamos com um servidor headless, podemos utilizar a opção nogui também. Lembre de alterar os campos “-Xmx” e “-Xms” para a quantidade de memória RAM que você tem disponível.

java -Xmx6G e -Xms6G -jar server.jar nogui

Tudo pronto, servidor ativo e funcional.

Servidor Minecraft - Executando

Servidor Minecraft - Servidor online!

Passo 7 – Testar Servidor

Para testar o servidor, utilizei o aplicativo do Xbox do Windows, e executei o Minecraft Launcher.

Selecionei a opção de um jogo multiplayer.

Em seguida escolhi a opção de adicionar um servidor (Add Server)

Deixei o nome padrão para o servidor “Minecraft Server”

E na opção de IP, inseri o IP do meu Raspberry Pi “192.168.1.55”.

Tudo Pronto, agora é só clicar no servidor e selecionar join.

Servidor Minecraft - Iniciando o teste do servidor

Servidor Minecraft - Iniciando o teste do servidor - jogo multiplayer

Servidor Minecraft - Iniciando o teste do servidor - jogo multiplayer - agreement

Servidor Minecraft - adicionar um servidor na lista

Servidor Minecraft - adicionar um servidor na lista - preencher dados

Servidor Minecraft - servidor adicionado na lista - clicar em join

Servidor Minecraft - servidor online e com jogadores online - destaque uso de RAM

Servidor Minecraft - teste com jogador online