Servidor minecraft gratuito na AWS com zero conhecimento de Linux
Olá, Habr! Mais precisamente, bandidos que procuram como configurar um servidor de minecraft para jogar com amigos.
O artigo é destinado a não programadores, não administradores de sistemas, em geral, e não ao público principal do Habr. O artigo contém instruções passo a passo para criar um servidor Minecraft com IP dedicado, adaptado para pessoas distantes da TI. Se isso não é sobre você, é melhor pular o artigo.
O que é um servidor?
Então, o que é um servidor? Se confiarmos no conceito de “servidor” como componente de software, então o servidor é um programa que pode receber, processar e transmitir dados recebidos de usuários (clientes) que estão conectados a este servidor. Usando o site como exemplo, o site está localizado em algum servidor web, que você acessa através de um navegador. No nosso caso, o servidor minecraft gera um mundo ao qual se conectam jogadores (clientes), que podem andar, quebrar blocos, etc. O servidor Minecraft é responsável por conectar os jogadores e qualquer uma de suas ações.
Obviamente, o servidor deve estar rodando no computador (máquina). Você pode configurar um servidor no seu computador doméstico, mas neste caso:
Você coloca em risco a segurança do seu próprio computador ao abrir portas nele
O servidor sobrecarregará seu computador, o que pode interferir no seu trabalho com ele
Você não pode manter seu computador doméstico funcionando 24 horas por dia, 7 dias por semana: à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 acessar seu computador via endereço de IP, que para provedores de Internet “domésticos” é dinâmico, ou seja, pode mudar a cada 2-3 dias por motivos fora do seu controle.
E como resolvemos esses problemas?
A solução para todos esses problemas é usar máquina virtual com estático, ou seja, um endereço IP imutável.
Terminologia complexa? Vamos descobrir.
Vamos voltar para a Wikipedia.
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...
Em termos muito simples, é um computador dentro de um computador. Você também pode instalar um sistema operacional nele e trabalhar com ele como se fosse um computador normal.
Onde podemos conseguir isso?
A resposta é simples - AWS. Esta é uma plataforma que oferece diversos serviços em nuvem que são úteis para todos que trabalham com web e não só. Para criar um servidor Minecraft, um dos produtos AWS é perfeito - Amazon EC2 — uma máquina virtual em nuvem disponível 24 horas por dia, 7 dias por semana. AWS oferece uma máquina virtual mínima (SSD de 10 GB, 1 GB de RAM) grátis por um ano, além disso, permite vincular um endereço IP dedicado (estático) gratuito para acesso permanente à sua VM (máquina virtual) no mesmo endereço.
Criamos e configuramos uma VM
Vá para o site AWS e cadastre-se. Em seguida, vá para o console de gerenciamento.
No console, entre os serviços, encontre EC2 e vá até ele.
É importante escolher um data center, simplesmente, o local onde os servidores da Amazon estão localizados. Você deve escolher dependendo da sua localização, pois a velocidade de comunicação na Internet varia, e você deve escolher um data center com o qual a comunicação da sua cidade será o mais rápida possível.
Para selecionar um data center, recomendo usar o serviço WonderNetwork, que mede a velocidade de transmissão de pacotes com outras cidades.
No meu caso (Moscou), o data center irlandês me convinha.
É hora de criar uma máquina virtual. Para fazer isso, vá para a guia Iniciar instância
Vamos começar a configurar a VM.
1) Selecione a imagem do sistema operacional. Linux é muito conveniente para levantar servidores; usaremos o kit de distribuição CentOS7
Ressalta-se que não haverá ambiente gráfico em sua máquina virtual, o acesso à máquina será através do console. Envolve controlar a VM usando comandos em vez de um mouse de computador. Não tenha medo disso: isso não deve impedi-lo agora ou desistir da ideia de criar seu próprio servidor Minecraft porque é “muito difícil”. Trabalhar com a máquina através do console não é difícil - você verá por si mesmo em breve.
2) Agora vamos definir a configuração técnica da VM. Para uso gratuito, a Amazon oferece a configuração t2.micro, não o suficiente para um grande servidor Minecraft completo, mas o suficiente para jogar com amigos.
3) Deixe o restante das configurações como padrão, mas pare na aba Configurar grupos de segurança.
Aqui precisamos configurar o acesso às portas do servidor Minecraft.
Em termos simples, uma porta é um número não negativo que indica a quem são endereçados os dados recebidos do mundo exterior. Uma VM pode hospedar muitos serviços e servidores diferentes, portanto, todos os pacotes de dados recebidos armazenam a porta (número) do destino (serviço, servidor) dentro da VM em seu cabeçalho.
Para servidores Minecraft, o padrão de fato é usar a porta 25565. Vamos adicionar uma regra indicando que o acesso à sua VM por meio desta porta é aceitável.
Vamos para a janela de finalização da criação da VM clicando no botão Revisar e iniciar
Configurando um par de chaves SSH para uma VM
Assim, a conexão com a máquina será realizada através do protocolo SSH.
O protocolo SSH funciona da seguinte forma: um par de chaves (pública e privada) é gerado, a chave pública é armazenada na VM e a chave privada é armazenada no computador da pessoa que está se conectando à VM (cliente). Ao se conectar, a VM verifica se o cliente possui uma chave privada adequada.
Clique no botão Apresentação livro. A seguinte janela aparecerá na sua frente:
Digite o nome do par de chaves (para sua conveniência) e clique em Baixar par de chaves. Você deveria baixar .pem um arquivo contendo sua chave privada. Clique no botão Iniciar instâncias. Você acabou de criar uma máquina virtual na qual o servidor será instalado.
Obtendo um IP estático
Agora precisamos obter e vincular um IP estático à nossa VM. Para este menu encontramos a aba IPs elásticos e seguimos em frente. Na aba, clique no botão Alocar endereço IP elástico e obtenha um IP estático.
Agora o endereço IP recebido deve estar associado à nossa VM. Para fazer isso, selecione-o na lista e no menu Opções escolher Associar endereço IP
A seguir, vincularemos a VM ao nosso endereço IP
Feito!
Vamos para a VM
Agora que a VM está configurada e o endereço IP atribuído, vamos conectar-nos a ela e instalar nosso servidor Minecraft.
Para conectar-se à VM via SSH usaremos o programa PuTTY. Instale o PuTTYgen imediatamente a partir desta página
Depois de instalar o PuTTY, abra-o. Agora você precisa configurar a conexão.
Na guia Número da selecione o tipo de conexão SSH, porto 22. Especifique um nome para a conexão. O nome do host para conexão via SSH é uma string como: имя_пользователя@публичный_dns.
O nome de usuário padrão no AWS para CentOS é centos. Seu DNS público pode ser visualizado aqui:
Na guia SSH -> Autenticação insira sua chave SSH privada. Está armazenado em um arquivo .pem, que baixamos anteriormente. Mas o PuTTY não funciona com arquivos .pem, ele precisa de um formato .ppk. Para conversão usaremos PuTTYgen. Instruções de conversão do site PuTTYgen. Arquivo recebido .ppk Vamos salvar e indicar aqui:
Nos conectamos à VM abrindo a conexão com o botão Abra.
Parabéns! Acabamos de nos conectar ao console da sua VM. Resta instalar nosso servidor nele.
Instalando e configurando um servidor Minecraft
Vamos começar a configurar nosso servidor. Primeiro, precisamos instalar vários pacotes em nossa VM.
sudo yum install -y wget mc iptables iptables-services java screen
Vamos descobrir para que serve cada um dos pacotes.
wget - um utilitário para baixar arquivos no Linux. Com ele iremos baixar os arquivos do servidor.
mc - editor de texto do console. É simples e fácil de usar para um usuário não treinado.
iptables — um utilitário para gerenciar e configurar um firewall, com sua ajuda abriremos uma porta para o servidor em nossa VM.
Java — minecraft roda em java, então é necessário que o servidor funcione
tela - gerenciador de janelas para Linux. Isso nos permitirá duplicar nosso console para aumentar o servidor. O fato é que o servidor deve ser iniciado através do console, se você se desconectar da sua VM, o processo do servidor será interrompido. Portanto, iremos executá-lo em uma janela de console separada.
Agora vamos configurar o firewall.
Um firewall é um elemento de software ou hardware-software de uma rede de computadores que controla e filtra o tráfego de rede que passa por ela de acordo com regras específicas. (Wikipédia)
Para explicar em termos simples: imagine uma cidade fortificada. Ele é constantemente atacado de fora, enquanto a vida normal continua na cidade. Para aceder à cidade existe um portão na muralha da fortaleza, onde os guardas se posicionam e verificam nas listas se esta pessoa pode entrar na fortaleza. O papel de parede e portão em redes de computadores é desempenhado por um firewall.
sudo mcedit /etc/sysconfig/iptables
Acabamos de criar um arquivo de configuração do firewall. Vamos preenchê-lo com dados de configuração padrã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
Feche o arquivo pressionando F10, salvando as alterações.
Agora vamos iniciar o firewall e habilitá-lo na inicialização:
Armazenaremos os arquivos do servidor em uma pasta separada, criaremos, acessaremos e baixaremos os arquivos do servidor. Para fazer isso você deve usar wget
mkdir minecraft
cd minecraft
wget <ссылка_на_jar>
Preciso encontrar link direto para baixar .jar arquivo do servidor. Por exemplo, link para o arquivo do servidor versão 1.15.2:
Veja o conteúdo de uma pasta usando o comando ls, certifique-se de que os arquivos foram baixados.
Vamos lançar o arquivo do servidor. Agora o servidor não funcionará: ele criará todos os arquivos necessários para o trabalho e reclamará que você não concordou com os termos da licença EULA. Aceite os termos abrindo o arquivo eula.txt
É hora de iniciar o servidor. Como já disse, o servidor inicia diretamente do console, mas se fecharmos o console principal, o processo do servidor será interrompido. Portanto, vamos criar outro console:
O servidor inicia em cerca de 45 segundos, não interrompa o processo. Quando o servidor for inicializado e em execução, você verá algo como:
Parabéns! Você acabou de colocar seu servidor Minecraft em funcionamento. Agora é importante sair corretamente do segundo console para que ele continue funcionando com o servidor em execução. Para fazer isso, clique Ctrl+Aem seguida D. Você deve estar no console principal e ver uma mensagem como [detached from 1551.pts-0.ip-172-31-37-146]. Se você precisar retornar ao console onde o servidor está sendo executado, use screen -r
Agora você pode se desconectar da sua VM. Seu servidor estará acessível através do endereço IP estático que recebemos anteriormente, na porta 25565.
Acontece que o endereço para entrar no servidor será <ваш_статический_IP>:25565.
Conclusão
Usando estas instruções, você pode configurar facilmente um servidor Minecraft gratuito com um IP dedicado. O artigo foi escrito na linguagem mais simples possível e destina-se a não especialistas. Nesse sentido, é interessante ouvir os comentários de quem está ocupado, pois ao simplificar o material podem ser cometidos erros factuais de terminologia.