Aprenda

Conheça a Acurast. Descubra nossa história, mergulhe na documentação técnica e veja com quem temos parcerias no ecossistema.

A blocky Minecraft-style world projected above a smartphone held in two hands, illustrating a Minecraft server running on a phone through Acurast Cargo.

Rode seu servidor de Minecraft sem um provedor de nuvem

 

Um mundo de blocos no estilo Minecraft projetado acima de um smartphone segurado com as duas mãos, ilustrando um servidor de Minecraft rodando em um celular com o Acurast Cargo.

Configurar um servidor de Minecraft é fácil. Mantê-lo online é onde as coisas ficam mais complicadas.

 

Se você quer um mundo em que seus amigos possam entrar, precisa de um lugar para rodar o servidor. Tradicionalmente, isso significa hospedá-lo na sua própria máquina, alugar um VPS ou pagar por um serviço dedicado de hospedagem de Minecraft.

 

Mas, no fim das contas, um servidor de Minecraft é só um software que precisa de computação, rede e tempo suficiente para rodar. Isso significa que existem mais formas de hospedá-lo por conta própria do que as opções tradicionais descritas acima.

 

Neste guia, você vai fazer o deploy de um servidor de Minecraft em um celular conectado (Processor) da rede Acurast. Para isso, será usado o recurso para desenvolvedores ‘Cargo’, o runtime baseado em Linux da Acurast. Você vai configurar o deployment, iniciar o servidor, expô-lo à sua rede local e se conectar a ele diretamente pelo Minecraft.

 

Ao final, você terá um mundo de Minecraft jogável rodando em um Processor da Acurast.

 

O Minecraft também é uma carga de trabalho de computação

 

O Minecraft provavelmente não é a primeira aplicação que vem à mente quando se pensa em computação descentralizada. É exatamente isso que o torna um exemplo interessante.

 

Um servidor de Minecraft tem muitos dos mesmos requisitos de outras aplicações. Ele precisa de um runtime, conectividade de rede, execução contínua e recursos de computação suficientes para atender os usuários. Tradicionalmente, esses requisitos levam os desenvolvedores à infraestrutura de nuvem.

 

Mas não precisa ser assim.

 

A Acurast oferece uma rede global e descentralizada de Processors, em que as aplicações podem rodar em recursos de computação distribuídos em vez de depender exclusivamente de servidores de nuvem tradicionais.

 

Isso fica consideravelmente mais poderoso com o Codename Cargo, a transição da Acurast de um runtime focado em Node.js para contêineres completos baseados em Linux.

 

O Cargo permite que os desenvolvedores rodem softwares feitos com Python, Go, Rust, C++ e outras tecnologias que funcionam no Linux. Ele também possibilita o deploy de aplicações que seriam difíceis de rodar no ambiente anterior.

 

Incluindo o Minecraft.

 

Por isso, o exemplo do Minecraft é mais do que um experimento de rodar um servidor de jogo. É uma forma simples de mostrar o que se torna possível quando Processors descentralizados conseguem rodar cargas de trabalho Linux de uso geral.

 

Fazendo o deploy do Minecraft na Acurast

 

A Acurast oferece um app de exemplo de Minecraft com boa parte da configuração necessária já pronta. Assim, você pode se concentrar principalmente em configurar e iniciar o deployment.

 

Passo 1: abra o app de exemplo do Minecraft

 

Comece fazendo checkout do repositório Acurast Example Apps e navegando até a pasta App Cargo Minecraft.

 

O projeto contém os scripts e a configuração necessários para preparar o servidor de Minecraft e criar o túnel que o torna acessível.

 

Quase nada disso precisa ser alterado.

 

O exemplo já está configurado para cuidar da preparação por baixo dos panos, então o principal que você precisa fornecer é a configuração do deployment.

 

Passo 2: configure o deployment

 

Abra a configuração de ambiente e informe os valores necessários.

 

O primeiro é o seu mnemônico da Acurast. Ele autoriza o deployment e é usado para pagar as taxas de rede associadas.

 

Em seguida, configure uma senha de SSH.

 

Em circunstâncias normais, você não deve precisar acessar o Processor por SSH, porque o deployment do Minecraft é automatizado. Mesmo assim, vale a pena configurar o acesso, porque ele oferece uma forma de solucionar problemas no Processor se algo não funcionar como esperado.

 

Você também vai precisar de uma URL de callback.

 

A Acurast usa esse endpoint para devolver informações assim que o deployment fica disponível. Para um teste simples, um serviço de webhook pode fornecer um endpoint que recebe as informações geradas sobre o deployment.

 

O deployment pode continuar configurado para a mainnet.

 

Dependendo da versão atual do app de exemplo, você também pode ver uma opção de sufixo de domínio. Ele é usado para expor o deployment externamente. A Acurast está trabalhando para tornar esse processo mais automático, então essa configuração pode mudar conforme o Cargo evolui.

 

Passo 3: revise o acurast.json

 

Antes do deploy, vale a pena dar uma olhada rápida na configuração do acurast.json.Esse arquivo controla parâmetros adicionais do deployment, incluindo por quanto tempo a carga de trabalho deve permanecer ativa. Por exemplo, você pode configurar o servidor de Minecraft para rodar por quatro horas para um teste rápido.

 

Para uma sessão de jogo mais longa ou um servidor em que seus amigos vão entrar com frequência, ajuste a duração do deployment de acordo. Também verifique se o deployment tem como alvo a versão do Android necessária, já que ambientes de Processors mais antigos podem não ter todos os recursos de que o exemplo do Minecraft precisa.

 

Feito isso, está tudo pronto para o deploy.

 

Iniciando o servidor de Minecraft

 

No diretório do projeto, execute:

 

acurast deploy

 

A Acurast CLI conduz você pelo restante do processo de deployment.

 

Você verá os parâmetros do deployment e a taxa associada antes de confirmar. Se necessário, você pode ajustar a taxa antes de enviar.

 

Depois da confirmação, a Acurast começa a encontrar e preparar um Processor para a carga de trabalho.

 

A partir daqui, a maior parte do trabalho acontece automaticamente. O Processor prepara o ambiente, instala os componentes necessários, baixa o servidor de Minecraft, inicia o servidor e estabelece o túnel usado para acessar o deployment. Depois de alguns minutos, o servidor deve estar pronto.

 

Verificando se tudo está rodando

 

Os logs do deployment dão uma boa visão do que está acontecendo no Processor.

 

Quando o deployment começa, você vê os diferentes componentes sendo instalados e inicializados.

 

Em algum momento, os logs vão mostrar que o servidor de Minecraft foi iniciado e que o túnel foi conectado. Eles também vão fornecer as informações de conexão necessárias para o próximo passo.

 

Neste ponto, o Minecraft já está rodando remotamente em um Processor da Acurast.

 

Só falta torná-lo acessível para o cliente.

 

Conectando o Minecraft ao servidor

 

Há mais um passo de rede. Por causa da forma como o cliente do Minecraft lida com portas e certificados, o exemplo usa um comando que expõe o servidor remoto de Minecraft à sua rede local.

 

Execute o comando fornecido pelo deployment.

 

Será solicitada a senha de SSH que você configurou antes. Depois da autenticação, a conexão é estabelecida e o servidor de Minecraft fica disponível localmente.

 

Agora abra o Minecraft.

 

Escolha Add Server e insira as informações do servidor fornecidas pelo deployment.

 

Salve o servidor.

 

Se tudo estiver configurado corretamente, o Minecraft deve começar imediatamente a obter informações dele.

 

Clique em conectar.

 

Agora você está jogando em um mundo de Minecraft que roda em um Processor da Acurast.

 

Convide seus amigos

 

Com o servidor rodando, a mesma configuração pode ser usada para criar um ambiente multiplayer. Em vez de manter o mundo no seu próprio computador, o servidor do jogo roda remotamente durante o deployment na Acurast.

 

Compartilhe os dados de conexão com seus amigos e eles poderão entrar no mesmo mundo.

 

Há um ponto prático que vale a pena ter em mente: a localização importa. Um servidor de jogo é sensível à latência. Se você está na Europa Ocidental e o Processor que hospeda seu servidor de Minecraft está muito mais longe, pode notar algum lag. Um Processor mais perto dos jogadores geralmente oferece uma experiência melhor. Para muitas aplicações, alguns milissegundos a mais quase não são percebidos.

 

Quando você está tentando fugir de um Creeper, eles importam bem mais.

 

Mais do que um servidor de Minecraft

 

Fazer o deploy do Minecraft é divertido, mas a parte mais interessante é o que o exemplo representa.

 

Um servidor de Minecraft não é uma aplicação de blockchain projetada especialmente para isso. Não é uma pequena função em JavaScript escrita especificamente para um runtime descentralizado limitado. É uma aplicação que já existe e que precisa de um ambiente Linux e de recursos de computação.

 

E ela pode rodar na Acurast.

 

Essa é a mudança mais ampla que o Cargo traz.

 

A transição para cargas de trabalho em contêineres baseados em Linux amplia o que os desenvolvedores podem colocar em deploy na rede Acurast. Servidores de jogos são um exemplo, mas o mesmo modelo abre as portas para armazenamento de objetos, serviços de backend, APIs, ferramentas para desenvolvedores, plataformas de automação, agentes de IA e outras aplicações tradicionalmente hospedadas em infraestrutura centralizada.

 

A pergunta passa a ser menos:

 

“O que dá para construir especificamente para a computação descentralizada?”

 

E mais:

 

“Que software dá para rodar na computação descentralizada?”

 

O Minecraft dá uma resposta surpreendentemente boa.

 

Bastante coisa.

 

Assista ao tutorial completo em vídeo

 

Este guia cobre o processo principal de deployment, mas o vídeo que o acompanha mostra toda a configuração na tela.

 

Você verá como configurar o app de exemplo do Minecraft, fazer o deploy com a Acurast CLI, acompanhar os logs do Processor, estabelecer a conexão local e entrar no mundo de Minecraft criado.

 

Acompanhe o vídeo e experimente fazer o deploy do seu próprio servidor de Minecraft na Acurast.

 

Depois, convide alguns amigos.