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.
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.
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
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
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.
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.
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.
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.