Quando você acessa sua VPS Linux via SSH (usando programas como PuTTY, Termius ou o terminal do seu computador) e inicia um servidor de jogo, um bot do Discord ou um script de compilação longo, esse processo fica totalmente atrelado à sua conexão atual.
Se a sua internet oscilar, o seu computador hibernar ou você simplesmente fechar o aplicativo do terminal, o Linux entenderá que a sessão acabou e encerrará imediatamente tudo o que estava rodando naquela tela.
Para evitar que o seu servidor desligue toda vez que você for dormir, você precisa rodar a aplicação em segundo plano. A ferramenta mais clássica, leve e eficiente para resolver esse problema é o Screen.
O que é o Screen?
O Screen funciona como um "monitor virtual" dentro da sua VPS. Ele permite que você abra uma janela de terminal, inicie o seu programa, "desconecte" dessa janela deixando ela rodando invisível no fundo, e reconecte nela a qualquer momento, de qualquer outro computador ou celular.
Passo 1: Instalando o Screen
Na maioria das distribuições Linux, o Screen já vem pré-instalado. Caso o seu sistema não possua, a instalação é muito rápida. Acesse sua VPS como root (ou usando sudo) e execute o comando correspondente ao seu sistema:
Para Ubuntu e Debian:
sudo apt update -y
sudo apt install screen -y
Para CentOS, AlmaLinux e Rocky Linux:
sudo yum install screen -y
Passo 2: O básico de como usar
Usar o Screen no dia a dia se resume a quatro comandos básicos.
1. Criar uma nova tela virtual
Antes de iniciar o seu servidor de jogo ou bot, você deve criar e dar um nome para a tela virtual, para não se perder depois. Use o comando screen -S seguido do nome que desejar. Por exemplo:
screen -S servidor_minecraft
Assim que você apertar Enter, a tela dará uma leve piscada. Você já está dentro do monitor virtual. Tudo o que você iniciar aqui ficará protegido. Agora, inicie o seu servidor do jogo normalmente.
2. Desconectar da tela
Com o seu servidor rodando, você precisa sair dessa tela virtual sem desligá-la. Isso é feito através de um atalho no teclado, apertando as teclas na seguinte ordem:
Pressione e segure Ctrl + A.
Solte os botões e pressione a tecla D (de Detach).
O terminal voltará para a tela principal e exibirá a mensagem [detached from servidor_minecraft]. O seu servidor continua rodando no fundo, e você já pode fechar o terminal com segurança.
3. Listar as telas ativas
Se você voltar no dia seguinte e quiser ver quais telas estão rodando no momento, digite:
screen -ls
O sistema mostrará uma lista com todas as telas em execução (ex: 12345.servidor_minecraft).
4. Reconectar em uma tela
Para voltar a ver o que está acontecendo no seu servidor de jogo e digitar comandos nele, você precisa "puxar" a tela virtual de volta usando o comando screen -r (de Resume), seguido do nome que você criou:
screen -r servidor_minecraft
Você voltará instantaneamente para a tela do seu jogo, exatamente de onde parou.
Como fechar definitivamente uma tela
Se você não quer mais que o processo continue rodando e deseja destruir aquela tela virtual para liberar a memória RAM, basta reconectar nela (como ensinado no passo 4) e, com ela aberta, parar o seu servidor do jogo (geralmente com Ctrl + C) e digitar:
exit
A tela mostrará a mensagem [screen is terminating], confirmando que a janela virtual foi fechada com sucesso.
