Servidor minecraft gratuito na AWS sem conhecimento de Linux

Olá, Habr! Mais precisamente, os aventureiros que estão procurando como criar um servidor de Minecraft para jogar com amigos.

Este artigo é voltado para não programadores, não administradores de sistemas, em suma, não para o público principal do Habr. O artigo traz um guia passo a passo de como criar um servidor de Minecraft com IP dedicado, adaptado para pessoas que estão distantes da área de TI. Se você não se encaixa nisso, é melhor pular este artigo.

O que é um servidor?

Então, o que é um servidor? Se nos basearmos na definição de "servidor" como um componente de software, então o servidor é um programa que pode aceitar, processar e enviar dados recebidos de usuários (clientes) que estão conectados a esse servidor. Por exemplo, um site está hospedado em um certo servidor web, ao qual você acessa através do navegador. No nosso caso, o servidor de Minecraft gera o mundo ao qual os jogadores (clientes) se conectam, que podem andar, quebrar blocos, etc. O servidor de Minecraft é responsável pela conexão dos jogadores e por todas as suas ações.

É evidente que o servidor deve ser executado em um computador (máquina). Você pode criar um servidor no seu computador pessoal, mas, nesse caso:

  • Você coloca a segurança do seu próprio computador em risco, abrindo portas nele.
  • O servidor irá sobrecarregar seu computador, o que pode interferir no seu trabalho com ele.
  • Você não pode manter o computador da sua casa em funcionamento 24/7: às vezes você o desliga, às vezes seu computador perde a conexão com a internet, etc.
  • Para acessar seu servidor do mundo exterior, você terá que se conectar ao computador por endereço IP, que, para provedores de internet "domésticos", é dinâmico, ou seja, pode mudar a cada 2-3 dias por motivos que não dependem de você.

E como resolveremos esses problemas?

A solução para todos esses problemas é usar uma máquina virtual com um IP estático, ou seja, um endereço IP imutável.

Terminologia complicada? Vamos entender.
Vamos consultar a Wikipédia.

Máquina virtual (VM, do inglês virtual machine) — um sistema de software e/ou hardware que emula o hardware de uma determinada plataforma...

Explicando de forma bem simples — é um computador dentro de um computador. Você também pode instalar um sistema operacional nele e trabalhar com ele como um computador comum.

Onde vamos obtê-la?

A resposta é simples — AWS. Esta é uma plataforma que oferece uma variedade de serviços em nuvem, úteis para todos que trabalham com a web e não só. Para criar um servidor Minecraft, um dos produtos da AWS é perfeito — Amazon EC2 — uma máquina virtual em nuvem, disponível 24/7. A AWS oferece uma máquina virtual mínima (10GB SSD, 1GB RAM) gratuitamente por um ano, além de permitir a vinculação de um IP dedicado (estático) gratuito para acesso constante à sua VM (máquina virtual) pelo mesmo endereço.

Criamos e configuramos a VM

Acesse o site AWS e registre-se. Em seguida, vá para o console de gerenciamento.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

No console, entre os serviços, encontre EC2 e acesse.

É importante escolher um data center, ou seja, o local onde os servidores da Amazon estão. A escolha deve ser feita com base na sua localização, uma vez que a velocidade da conexão à internet varia, e você deve optar por um data center com o qual a comunicação a partir da sua cidade seja a mais rápida possível.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Para escolher o data center, recomendo usar o serviço WonderNetwork, que mede a velocidade de transferência de pacotes com outras cidades.
No meu caso (cidade de Moscovo), o data center irlandês foi o mais adequado.

Agora é hora de criar a máquina virtual. Para isso, vá para a aba Launch instance

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Vamos começar a configuração da VM.

1) Vamos escolher a imagem do sistema operacional. Para levantar servidores, o linux é muito conveniente, vamos usar a distribuição CentOS7

É importante notar que não haverá ambiente gráfico na sua máquina virtual, o acesso à máquina será feito através do console. Isso implica gerenciar a VM utilizando comandos, e não um mouse. Não se preocupe: isso não deve impedi-lo já agora ou fazer com que desista da ideia de levantar seu servidor Minecraft, achando que é "muito complicado". Trabalhar na máquina através do console não é difícil - em breve você verá isso por si mesmo.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

2) Agora vamos definir a configuração técnica da VM. Para uso gratuito, a Amazon oferece a configuração t2.micro, um pouco insuficiente para um grande servidor Minecraft, mas é suficiente para jogar com amigos.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

3) Os outros itens de configuração deixamos como padrão, mas vamos nos concentrar na aba Configure Security groups.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Aqui precisamos configurar o acesso às portas do servidor Minecraft.

Explicando de forma simples, a porta é um número não negativo que indica para quem estão destinados os dados de entrada do mundo externo. Em uma VM, pode haver vários serviços e servidores diferentes, portanto, todos os pacotes de dados de entrada contêm em seu cabeçalho a porta (número) do destinatário (serviço, servidor) dentro da VM.

Para servidores de Minecraft, o padrão de fato é o uso da porta 25565. Vamos adicionar uma regra que indique que o acesso à sua VM através desta porta é permitido.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Vamos para a janela de conclusão da criação da VM, clicando no botão Revisar e Iniciar

Configuração do par de chaves SSH para a VM

Assim, a conexão com a máquina será feita através do protocolo SSH.

O protocolo SSH funciona da seguinte maneira: um par de chaves é gerado (pública e privada), a chave pública é armazenada na VM, enquanto a chave privada fica no computador da pessoa que se conecta à VM (cliente). Ao se conectar, a VM verifica se a chave privada correspondente está disponível no cliente.

Clique no botão Iniciar. Você verá a seguinte janela:

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Digite o nome do par de chaves (para sua conveniência) e clique em Download key pair. Você deve baixar o .pem arquivo que contém sua chave privada. Clique no botão Launch instances. Você acabou de criar uma máquina virtual, na qual será configurado o servidor.

Obtendo IP estático

Agora precisamos obter e associar um IP estático à nossa VM. Para isso, no menu, encontramos a aba IPs Elásticos e a acessamos. Na aba, clicamos no botão Allocate Elastic IP address e obtemos o IP estático.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Agora, o IP obtido deve ser associado à nossa VM. Para isso, escolhemos ela na lista e, no menu, Ações escolhemos Associate IP address

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Em seguida, vamos associar a VM ao nosso endereço de IP.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Pronto!

Acessamos a VM

Agora que a VM está configurada e o endereço IP está associado, vamos nos conectar a ela e instalar nosso servidor de Minecraft.

Para conectar-se à VM via SSH, utilizaremos o programa PuTTY. Instale o PuTTYgen imediatamente a partir desta mesma página.

Após a instalação do PuTTY, abra-o. Agora, precisamos configurar a conexão.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

  1. Na aba Sessão selecione o tipo de conexão SSH, porta 22. Indique um nome para a conexão. O nome do host para conexão SSH é uma string do tipo: nome_usuario@dns_publico.

O nome de usuário no AWS para CentOS por padrão é centos. Você pode visualizar seu DNS público aqui:

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Eu obtive a seguinte string centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com

  1. Na aba SSH -> Auth indique sua chave SSH privada. Ela está armazenada em um arquivo. .pem, que baixamos anteriormente. Mas o PuTTY não consegue trabalhar com arquivos .pem, ele precisa de um formato .ppk. Para a conversão, utilizaremos o PuTTYgen. Instruções de conversão do site PuTTYgen. O arquivo obtido .ppk Vamos salvar e indicar aqui:

Servidor minecraft gratuito na AWS sem conhecimento de Linux

  1. Estamos nos conectando à VM, abrindo a conexão com o botão Abrir.
    Parabéns! Acabamos de conectar à console da sua VM. Agora precisamos iniciar nosso servidor nela.

Instalação e configuração do servidor Minecraft

Vamos começar a configuração do nosso servidor. Primeiro, precisamos instalar alguns pacotes na nossa VM.

sudo yum install -y wget mc iptables iptables-services java screen

Vamos entender para que serve cada um dos pacotes.

  • wget — utilitário para baixar arquivos no Linux. Com ele, iremos baixar os arquivos do servidor.
  • mc — editor de texto em modo console. Destaca-se pela simplicidade e facilidade de uso para um usuário não preparado.
  • iptables — utilitário para gerenciar e configurar o firewall, com ele nós abriremos a porta para o servidor na nossa VM.
  • java — Minecraft funciona em Java, por isso é necessário para o funcionamento do servidor
  • screen — gerenciador de janelas para Linux. Ele permitirá duplicar nossa console para iniciar o servidor. O fato é que o servidor deve ser iniciado através da console, se você se desconectar da sua VM, o processo do servidor será parado. Portanto, vamos executá-lo em uma janela de console separada.

Agora vamos configurar o firewall.

Um firewall é um elemento de rede de computador, seja de software ou de hardware, que controla e filtra o tráfego de rede que passa por ele de acordo com regras definidas. (Wikipedia)

Explicando de forma simples: imagine uma cidade-fortaleza. Ela está sendo atacada o tempo todo, enquanto na cidade a vida flui normalmente. Para acessar a cidade, há portões nas muralhas da fortaleza, onde guardas verificam as listas e decidem se podem deixar aquela pessoa entrar. O papel das muralhas e portões em redes de computadores é desempenhado pelo firewall.

sudo mcedit /etc/sysconfig/iptables

Acabamos de criar o arquivo de configuração do firewall. Vamos preenchê-lo com os dados padrão de configuração, incluindo uma regra para a porta 25565, que é a porta padrão para o servidor Minecraft.

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25565 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Fecharemos o arquivo com um clique F10, salvando as alterações.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Agora, vamos iniciar o firewall e ativá-lo para inicialização automática:

sudo systemctl enable iptables
sudo systemctl restart iptables

Armazenaremos os arquivos do servidor em uma pasta separada, criaremos essa pasta, entraremos nela e baixaremos os arquivos do servidor. Para isso, devemos usar wget

mkdir minecraft
cd minecraft
wget

Precisamos encontrar o link direto para download .jar do arquivo do servidor. Por exemplo, o link do arquivo do servidor versão 1.15.2:

wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar

Verifique o conteúdo da pasta usando o comando ls, certifique-se de que os arquivos foram baixados.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Vamos iniciar o arquivo do servidor. Agora, o servidor não funcionará: ele criará todos os arquivos necessários para seu funcionamento e reclamará que você não concordou com os termos da licença EULA. Aceitaremos os termos, abrindo o arquivo eula.txt

sudo mcedit eula.txt

Confirme sua aceitação, alterando a entrada para:

eula=true

Abra o arquivo server.properties: este é o arquivo de configuração do seu servidor. Mais sobre as configurações do servidor

É necessário fazer a seguinte alteração:

online-mode=false

As outras configurações ficam a seu critério.

Iniciar o servidor

Chegou a hora de iniciar o servidor. Como eu já disse, o servidor é iniciado diretamente do console, mas se fecharmos o console principal — o processo do servidor será interrompido. Portanto, vamos criar mais um console:

screen

Neste console, executaremos o servidor:

 sudo java -Xms512M -Xmx1024M -jar .jar --nogui

O servidor leva cerca de 45 segundos para iniciar, não interrompa o processo. Quando o servidor estiver inicializado e em funcionamento, você verá algo como:

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Parabéns! Você acabou de levantar e iniciar seu servidor de Minecraft. Agora é importante sair corretamente do segundo console para que ele continue funcionando com o servidor em execução. Para isso, pressione Ctrl+A, então D. Você deve voltar ao console principal e ver uma mensagem como [desanexado de 1551.pts-0.ip-172-31-37-146]. Se precisar voltar ao console em que o servidor está rodando, use screen -r

Agora você pode se desconectar da sua VM. Seu servidor estará disponível no endereço IP estático que obtivemos anteriormente, na porta 25565.

Servidor minecraft gratuito na AWS sem conhecimento de Linux

Assim, o endereço para acessar o servidor será :25565.

Conclusão

Com este guia, você poderá configurar facilmente um servidor Minecraft gratuito com IP dedicado. O artigo foi escrito em uma linguagem simples e é voltado para não especialistas. Por isso, é interessante ouvir os comentários de especialistas, já que ao simplificar o material, podem ocorrer erros factuais na terminologia.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster