Como configurar um servidor do Minecraft no Compute Engine | Soluções
Como configurar um servidor do Minecraft no Compute Engine
Mojang e Minecraft não aprovaram nem estão associados a este tutorial.
Para executar um servidor dedicado do Minecraft, você precisa ter uma máquina de servidor dedicada, muita RAM e muita largura de banda. Por que não deixar o Google lidar com esses requisitos para você? Neste tutorial, você aprenderá como instalar, configurar e executar um servidor Java padrão do Minecraft no Compute Engine. Esse servidor é compatível com os clientes padrão do Minecraft para desktop baseados em Java.
O software servidor do Minecraft funcionará em uma instância do Compute Engine, que é uma máquina virtual executada na infraestrutura do Google. Neste tutorial, o tipo de máquina padrão n1-standard-1 é usado para instâncias do Compute Engine. O tipo de máquina n1-standard-1 inclui um disco de inicialização de 10 GB, uma CPU virtual (vCPU, na sigla em inglês) e 3,75 GB de RAM. O Debian Linux é executado por padrão nesse tipo de máquina.
Para garantir que haja espaço suficiente para os dados mundiais do servidor do Minecraft, você também conectará uma unidade de estado sólido (SSD, na sigla em inglês) permanente, de alto desempenho e 50 GB para a instância. Com a adição dessa SSD permanente, a instância atenderá aos requisitos do sistema para um servidor dedicado do Minecraft, aceitando até 50 jogadores confortavelmente.
Observação: as especificações de máquina e disco acima não são uma recomendação geral para todos os servidores do Minecraft em execução no Compute Engine. Ao configurar seu próprio servidor do Minecraft, escolha o tipo de máquina, o tipo de disco e o tamanho de disco que reflitam suas próprias necessidades de E/S e recursos.
Criar uma instância de máquina virtual do Compute Engine.
Instalar e configurar o servidor do Minecraft.
Configurar backups automáticos dos dados mundiais do Minecraft
Máquinas virtuais do Google Compute Engine
Criar e configurar a instância do Compute Engine
Comece criando e configurando uma nova instância do Compute Engine:
Aparecerá uma caixa de diálogo solicitando que você crie uma nova instância do Compute Engine.
Clique em Criar para começar.
Na página Criar uma instância, configure sua instância da seguinte maneira:
Nomeie a instância. Este tutorial usa o nome de instância mc-server.
Selecione a região e a zona em que você quer que sua instância seja hospedada. Este tutorial usa a região us-central1 (Iowa) e a zona us-central1-f.
Na seção Disco de inicialização, clique em Alterar. A caixa de diálogo Disco de inicialização será exibida.
Altere o tipo de disco para Disco permanente SSD.
Clique em Selecionar para confirmar a alteração e fechar a caixa de diálogo.
Essa é a configuração básica. Mas não crie a nova instância ainda. Para atender aos requisitos de um servidor dedicado do Minecraft, você também precisará definir algumas configurações avançadas.
Ativar o acesso da instância ao Google Cloud Storage
Posteriormente, neste tutorial, você aprenderá a fazer backup de seus dados mundiais no Cloud Storage, o que exige que sua instância tenha acesso de leitura e gravação ao Cloud Storage. Para ativar o acesso, siga estas etapas:
Em Identidade e acesso à API, clique na lista suspensa Conta de serviço e selecione Conta de serviço padrão do Compute Engine.
Defina Escopos de acesso com Definir acesso para cada API.
Na lista suspensa Armazenamento, selecione Leitura e gravação.
Atribuir uma tag à instância
Em seguida, atribua uma tag à instância. Mais adiante no tutorial, você usará essa tag para criar uma regra de firewall que permita que os clientes externos do Minecraft acessem o servidor.
Clique em Gerenciamento, segurança, discos, rede, locação individual para revelar um conjunto de guias para configurações avançadas.
Na guia Rede, adicione a tag minecraft-server ao campo Tags de rede.
Configurar um endereço IP estático para a instância
Para poder encaminhar as solicitações recebidas para sua instância de modo confiável, ela precisará ter um endereço IP estático. Para adicionar um endereço IP estático à instância:
Na guia Rede, na seção Interfaces de rede, clique em Padrão. Você verá o menu de configuração da Interface de rede.
Clique na lista suspensa IP externo e selecione Criar endereço IP. Uma caixa de diálogo será exibida.
Nomeie seu endereço IP como mcs-ip.
Clique em Reservar para criar o endereço.
Clique em Concluído para confirmar as alterações e fechar o menu de configuração da Interface de rede.
Em seguida, você anexará um disco permanente à instância. Ao contrário dos discos de inicialização, os discos permanentes não são vinculados à duração da instância do Google Compute Engine. Por exemplo, se as necessidades de hospedagem mudarem ao longo do tempo, posteriormente será possível mover o disco para um tipo de máquina mais adequado.
O tipo específico de disco permanente que você usará neste tutorial é um SSD permanente. Esse tipo de disco aceita operações de E/S muito rápidas, o que pode ajudar a reduzir o atraso do servidor.
Para adicionar um disco permanente à instância:
Na guia Discos, na seção Discos adicionais, clique em Adicionar novo disco. Você verá uma caixa de diálogo de criação de disco:
Na caixa de diálogo, preencha o formulário desta maneira:
Nome: minecraft-disk
Tipo de disco: disco permanente SSD
Tipo de origem: disco em branco
Tamanho (GB): 50
Clique em Concluído. Quando você criar a instância, o disco será criado e anexado automaticamente.
A configuração de instância é só isso! Clique no botão Criar na parte inferior da página para criar a nova instância. Essa ação também o levará de volta à página Instâncias da VM.
Observação: a criação da instância pode levar até 20 segundos.
Ativar e formatar o disco permanente
Neste ponto, o disco está conectado à instância, mas ainda não foi ativado nela. Não tem problema porque, se você montasse o disco agora, não poderia fazer muita coisa com ele. Isso porque, como em qualquer disco, o disco permanente primeiro precisa ser formatado com um sistema de arquivos compreensível pelo sistema operacional (neste caso, Debian Linux).
Comece estabelecendo uma conexão SSH com a instância. Na linha referente a mc-server na página Instâncias da VM, clique em SSH para abrir um terminal SSH baseado em navegador:
Quando o terminal SSH abrir, crie um novo diretório denominado minecraft no diretório home da instância:
Você usará esse diretório como ponto de montagem para o disco permanente.
Em seguida, formate o disco:
Aviso: todos os dados do disco serão destruídos pelo comando a seguir. Assim sendo, ele só deverá ser usado se você estiver montando um novo disco permanente. Se precisar montar o disco sem formatar, execute o comando mount:
Finalmente, monte o disco:
Instalar e executar o servidor do Minecraft na instância
O disco permanente é montado oficialmente. Agora é hora de fazer o que pretendia inicialmente: instalar e executar o servidor do Minecraft.
Configurar o Java Runtime Environment (JRE)
Por ser executado sobre a Java Virtual Machine (JVM), o servidor do Minecraft requer o Java Runtime Environment (JRE). O servidor não precisa de uma interface gráfica do usuário, então este tutorial usa a versão sem comando do JRE. Essa abordagem reduz o uso de recursos do JRE na máquina, ajudando a garantir que o servidor do Minecraft tenha bastante espaço para expandir o próprio uso de recursos, se necessário.
Você precisará atualizar os repositórios do Debian na instalação dele para poder fazer o download e a instalação da versão sem comando do JRE. Para isso, execute o seguinte comando no terminal SSH:
Depois que os repositórios forem atualizados, você poderá instalar o JRE sem comando:
Instalar o servidor do Minecraft
Agora que você configurou o JRE, é hora de fazer o download e instalação do servidor do Minecraft. Comece navegando para o diretório minecraft:
Como o diretório minecraft contém seu disco permanente ativado, você precisará de um nível especial de acesso conhecido como acesso de usuário raiz para executar comandos nele. Execute o seguinte para se tornar o usuário raiz:
Em seguida, faça o download do arquivo Java (JAR) do servidor atual do Minecraft na instância: Visite a página de download do Minecraft, copie o URL do arquivo no link de download e substitua o URL no seguinte comando por este URL:
Inicie o servidor pela primeira vez:
A primeira execução é um pouco frustrante porque o servidor simplesmente inicia, reporta alguns problemas e para. No entanto, se você executar este comando, verá que alguns arquivos novos foram criados no diretório minecraft:
Entre esses arquivos novos, há um arquivo denominado eula.txt. Abra-o para edição:
Esse arquivo contém uma única variável booleana, eula. Para usar o servidor do Minecraft, é preciso aceitar os termos do Contrato de Licença de Usuário Final (EULA) do Minecraft. Se aceitar os termos do EULA, defina o valor de eula de false para true, salve e saia.
Executar o servidor do Minecraft
Se você iniciar o servidor do Minecraft novamente neste momento, ele estará vinculado à duração da sessão SSH, isto é, quando o terminal SSH é fechado, o servidor também é terminado. Para contornar esse problema, você pode usar screen, um aplicativo que permite criar um terminal virtual que pode ser "desanexado", tornando-se um processo em segundo plano, ou "reanexado", tornando-se um processo em primeiro plano. Quando um terminal virtual é desanexado para o plano de fundo, ele passa a ser executado independentemente de você estar conectado ou não.
No terminal SSH, execute o seguinte para instalar screen:
Em seguida, inicie o servidor do Minecraft em um terminal virtual de screen. Use a sinalização -S para nomear o mcs do terminal:
Desanexe o terminal screen pressionando Ctrl + a e, depois, inserindo d. O terminal continuará em execução em segundo plano. Para reanexar o terminal, execute screen -r <terminal_name> da seguinte maneira:
Finalmente, desanexe o terminal de screen novamente, se necessário. Digite exit uma vez para sair do modo de usuário raiz, depois digite exit novamente para fechar a conexão SSH.
Parabéns! Você agora tem um servidor do Minecraft em execução. Mas ele ainda não está pronto para ser compartilhado. Para poder compartilhar o servidor, você precisa configurar uma regra de firewall que permita o acesso das pessoas.
Permitir que os clientes acessem o servidor do Minecraft
Para poder encaminhar solicitações de entrada para a instância de maneira confiável, será preciso criar uma regra de firewall. Siga estes passos:
No Console do GCP, acesse a página Regras de firewall.
Na página Criar regra de firewall, preencha o formulário desta maneira:
Nome: minecraft-rule.
Tags de destino: minecraft-server.
Intervalos de IPs de origem: 0.0.0.0/0.
Protocolos ou portas: selecione tcp e insira a porta 25565 no campo fornecido.
Observação: por padrão, no servidor do Minecraft é usada a porta de listener 25565. Esse número de porta pode ser alterado editando server.properties, o arquivo de configuração do servidor do Minecraft, e reiniciando o servidor. Certifique-se de alterar o número na regra de firewall também.
Clique em Criar para criar a nova regra de firewall. Os usuários agora podem acessar o servidor pelos clientes locais do Minecraft.
Configurar o servidor do Minecraft
Se quiser editar as propriedades padrão do servidor, siga estes passos:
Reanexe o terminal screen do servidor.
Digite \stop para parar o servidor do Minecraft.
Edite o arquivo server.properties. As informações sobre cada tipo de propriedade e os possíveis valores estão na página server.properties da Wiki do Minecraft (em inglês).
Desanexe o terminal screen.
Programar backups regulares
Esteja você executando um cliente local do Minecraft ou um servidor do Minecraft, vale a pena fazer backup dos dados mundiais do Minecraft regularmente. Nesta seção, mostramos como configurar backups regulares de seus dados mundiais usando o Cloud Storage.
O Cloud Storage oferece diversas classes de armazenamento otimizadas para diferentes casos de uso. Este tutorial usa o Armazenamento padrão, que fornece até 5 GB/mês sem custos.
Criar um script de backup
Comece estabelecendo uma conexão SSH com a instância pela página Instâncias de VM no Console do GCP. Quando o terminal abrir, torne-se o usuário raiz:
Crie um novo intervalo de Armazenamento padrão do Cloud Storage. Basta substituir us-central1 pela região de Cloud Storage mais próxima de você e [PROJECT_ID] pelo seu ID do projeto. Você usará esse intervalo para armazenar seus backups.
Observação: o nome do intervalo precisa ser único em todo o Cloud Storage.
Em seguida, crie um novo arquivo de script de shell, backup.sh, na pasta minecraft e abra-o para edição:
Cole o script a seguir no arquivo. Substitua [BUCKET_NAME] pelo seu nome do intervalo do Cloud Storage:
Esse script salva o estado atual dos dados mundiais e pausa a funcionalidade de salvamento automático do servidor. Em seguida, ele faz backup do diretório de dados mundiais do servidor (world) e coloca o conteúdo dele em um diretório com carimbo de data/hora ([TIMESTAMP]-world) no intervalo do Cloud Storage. Depois de concluir o backup dos dados, o script retoma o salvamento automático no servidor do Minecraft.
Salve e saia, depois execute o seguinte para tornar o script executável:
Quando o script for concluído, acesse o navegador do Storage no Console do GCP e clique no intervalo. Você verá um backup do diretório world com carimbo de data/hora.
Programar um cron job
A menos que prefira inicializar cada backup manualmente, provavelmente é melhor que o script seja executado automaticamente em intervalos previsíveis. Para realizar essa tarefa, é preciso programar um novo cron job.
Para programar um cron job, comece abrindo a tabela cron para edição:
Role até o fim do arquivo e cole a linha a seguir, que especifica que backup.sh será executado a cada quatro horas:
Pronto. Agora, sua instância do Compute Engine fará o backup automático dos seus dados mundiais para um intervalo do Cloud Storage a cada 4 horas.
Remover backups antigos automaticamente
Se você fizer backup dos dados mundiais a cada 4 horas, significa que ele será feito 6 vezes por dia, 72 vezes por semana e aproximadamente 300 vezes por mês. É possível remover backups antigos automaticamente usando um recurso do Cloud Storage chamado Gerenciamento do ciclo de vida de objetos. Esse recurso permite que você configure o intervalo do Cloud Storage para arquivar ou excluir backups antigos automaticamente após algum tempo ou se houver backups mais recentes disponíveis.
Configure o intervalo do Cloud Storage para remover backups automaticamente, seguindo estas etapas:
Abra o navegador do Cloud Storage no Console do GCP:
Na lista de intervalos, encontre seu intervalo de backups do Minecraft.
Clique em Nenhum na coluna Ciclo de vida do intervalo. A página Ver regras do ciclo de vida do objeto será exibida.
Na seção Selecionar condições do objeto, selecione Idade. Defina a antiguidade como sete dias e clique em Continuar.
Na seção Selecionar ação, selecione Excluir e clique em Continuar.
Clique em Salvar para salvar suas configurações. Você será levado de volta à página Ver regras do ciclo de vida do objeto.
Cada backup agora será excluído uma semana após o script de backup enviá-lo para o Cloud Storage.
Desligar o servidor do Minecraft
Se não precisar executar o servidor do Minecraft, desligue-o para evitar despesas desnecessárias.
Comece estabelecendo uma conexão SSH com a instância pela página Instâncias de VM no Console do GCP. Quando o terminal abrir, interrompa o servidor do Minecraft passando um comando \stop ao terminal screen em que ele está em execução:
Agora que você parou o servidor do Minecraft, pode encerrar a instância com segurança. Na página Instâncias da VM, clique no nome da instância e clique no botão Parar na parte superior da página. Você será desconectado da sessão SSH.
Para iniciar a instância novamente, acesse a página da instância e clique no botão Iniciar na parte superior da página. Para iniciar o servidor do Minecraft novamente, estabeleça uma conexão SSH com a instância, reative o disco permanente e inicie o servidor do Minecraft em um novo terminal screen, conforme descrito na seção Executar o servidor do Minecraft.
Automatizar os procedimentos de inicialização e desligamento
Se você planeja desligar o servidor regularmente, considere adicionar scripts de inicialização e desligamento à instância para automatizar os procedimentos comuns de inicialização e desligamento. Você pode automatizar o procedimento de inicialização da seguinte maneira:
Acesse a página "Instâncias de VM" no Console do GCP:
Na seção Metadados personalizados, adicione uma nova chave denominada startup-script e copie o script a seguir no respectivo campo Valor:
Quando você reiniciar a instância, esse script ativará automaticamente o disco do Minecraft no diretório apropriado, reinstalará o cron job (se necessário), iniciará o servidor do Minecraft em uma sessão screen e desanexará a sessão.
Para automatizar o procedimento de desligamento, adicione outra chave denominada shutdown-script e copie o código a seguir no respectivo campo Valor:
Na parte inferior da página, clique em Salvar para confirmar as alterações. Quando você parar sua instância, esse script criará um backup dos dados mais recentes do jogo e encerrará o servidor do Minecraft antes que a instância seja encerrada.
Visitar o Minecraft Wiki
O Minecraft Wiki fornece muitos recursos úteis para jogadores e administradores de servidores do Minecraft.
Experimentar um servidor alternativo do Minecraft
O servidor baunilha do Minecraft que você instalou neste tutorial é apenas um dos muitos servidores do Minecraft disponíveis. Acesse Servidores personalizados na Wiki do Minecraft para ver uma lista de servidores alternativos que foram otimizados para tipos de jogos, requisitos de máquina, modificações fáceis e mais.