Docs
Entrar
Capítulos

Infraestrutura · 12 min de leitura

Instalar o Pterodactyl (painel)

O WipeControl não substitui um painel de hospedagem — ele comanda o seu. Se você já tem Pterodactyl, Pelican ou WISP funcionando, pule para Conectar o painel. Este capítulo é para quem está começando do zero.

O painel é a interface web onde ficam seus servidores, usuários e nós. Ele não roda o jogo: quem roda é o Wings, instalado depois. Os dois podem estar na mesma máquina ou em máquinas diferentes.

Antes de começar

Você vai precisar de:

  • Um servidor Linux com acesso root. Ubuntu 22.04, Ubuntu 24.04, Debian 11 ou Debian 12 — são as versões que o Pterodactyl suporta oficialmente.
  • Um domínio ou subdomínio apontando para esse servidor, por exemplo painel.seudominio.com. Crie o registro A antes de rodar o instalador.
  • Portas 80 e 443 liberadas.

Atenção: o painel precisa de um domínio real para o certificado HTTPS. Instalar em IP puro funciona, mas depois o Wings reclama de certificado e a integração com o WipeControl fica mais frágil. Vale a pena resolver o domínio antes.

Um servidor pequeno dá conta do painel: 2 vCPU e 2 GB de RAM são suficientes, porque o peso está no Wings, não aqui.

Instalação automática

Baixe o instalador e rode. Ele faz o caminho completo: dependências, banco, aplicação, permissões, agendador, worker de fila, nginx e certificado.

bash
curl -fsSLo install-pterodactyl.sh https://wipecontrol.xyz/scripts/install-pterodactyl.sh
sudo bash install-pterodactyl.sh --fqdn painel.seudominio.com --email voce@seudominio.com

Antes de mexer em qualquer coisa, o script confere se o domínio realmente aponta para a máquina — é a falha mais comum, e descobrir isso no fim, depois de instalar tudo, é pior.

Se quiser ver exatamente o que ele faria sem alterar nada:

bash
bash install-pterodactyl.sh --fqdn painel.seudominio.com --email voce@seudominio.com --dry-run

E se você já tem um proxy na frente (Cloudflare, por exemplo) e prefere cuidar do certificado por fora:

bash
sudo bash install-pterodactyl.sh --fqdn painel.seudominio.com --email voce@seudominio.com --no-ssl

O que o script faz

EtapaO que acontece
DependênciasPHP (8.2 ou 8.3, conforme a distro), MariaDB, nginx, Redis, Composer
BancoCria a base panel e o usuário pterodactyl@127.0.0.1 com senha aleatória
AplicaçãoBaixa a última versão, instala as dependências, gera a chave e migra o banco
AdministradorCria o usuário admin com senha aleatória
AgendadorInstala o cron do www-data que roda artisan schedule:run a cada minuto
FilaCria e ativa o serviço pteroq
WebserverConfigura o nginx e emite o certificado com Let's Encrypt

As senhas são geradas, nunca digitadas. Isso evita que elas fiquem no histórico do shell e garante que duas instalações não compartilhem senha. Elas aparecem uma única vez no fim e ficam salvas em /root/pterodactyl-credenciais.txt, com permissão só para o root.

Importante: troque a senha do admin no primeiro acesso e apague /root/pterodactyl-credenciais.txt depois de guardar o conteúdo num gerenciador de senhas.

Se algo falhar

O script para no primeiro erro (set -euo pipefail), então a última linha impressa é o ponto exato da falha. Os problemas mais comuns:

  • `o domínio não resolve` — o registro A ainda não propagou. Espere alguns minutos e tente de novo, ou use --no-ssl e emita o certificado depois.
  • `já existe uma instalação em /var/www/pterodactyl` — o script não faz upgrade de propósito, para não destruir uma instalação que funciona. Para atualizar, siga a documentação oficial do Pterodactyl.
  • certbot falha — quase sempre é proxy ativo na frente do domínio. Desative o proxy durante a emissão e ligue de volta depois.

Instalação manual

Se preferir fazer à mão, ou se sua distro não estiver na lista, o guia oficial cobre cada passo: pterodactyl.io — Panel Installation. O script acima segue exatamente esse procedimento, então os dois caminhos chegam ao mesmo lugar.

Conferindo

Abra https://painel.seudominio.com. Você deve ver a tela de login do Pterodactyl. Entre com admin e a senha exibida no fim da instalação.

Se a página não carregar, verifique nesta ordem:

bash
systemctl status nginx
systemctl status pteroq
journalctl -u nginx -n 50 --no-pager

Com o painel no ar, o próximo passo é o daemon que efetivamente roda o servidor de Rust.

Próximo: Instalar o Wings