Saltar a contenido

Panel de control de Pterodactyl

En este artículo

Información

Pterodactyl es un panel de gestión de servidores de juegos gratuito y de código abierto. Permite la gestión centralizada de servidores para Minecraft, CS2, Rust y más de 50 juegos adicionales a través de una interfaz web.

Pterodactyl. Características principales

Pterodactyl es una solución moderna de gestión de servidores de juegos que combina:

  • Soporte para más de 50 juegos: Proporciona plantillas listas para una instalación rápida de servidores de juegos populares. Configura automáticamente el software, las dependencias y los parámetros de inicio, admite la selección de versiones de juegos y la adición de plantillas personalizadas.
  • Gestión precisa de recursos: Controla la RAM, la CPU, el espacio en disco y la asignación de prioridad entre servidores. Evita sobrecargas, asigna recursos según cuotas y utiliza memoria SWAP para la estabilidad.
  • Copias de seguridad automáticas fiables: Garantiza una copia de seguridad programada flexible con selección de datos (servidor completo o archivos clave). Almacena copias de seguridad localmente o en la nube (S3, FTP, GDrive) con cifrado y recuperación instantánea.
  • Capacidad eficiente para múltiples servidores: Ejecuta cada servidor en un contenedor Docker aislado. Distribuye automáticamente la carga entre nodos, asigna puertos sin conflictos y permite agrupar servidores relacionados.
  • Acceso multiusuario flexible: Gestiona los permisos a través de un modelo basado en roles (roles predefinidos + personalizados) con más de 50 permisos granulares. Admite acceso temporal, auditoría de acciones y autenticación de dos factores.
  • Consola de gestión en tiempo real: Proporciona control total a través de una interfaz web con un terminal interactivo (similar a SSH). Incluye formato de colores, historial de comandos, botones de acción rápida y notificaciones de eventos.
  • Monitorización de estadísticas en tiempo real: Muestra gráficos de uso de recursos (CPU, RAM, disco, red) y métricas de juegos (jugadores en línea, TPS, ping). Permite crear paneles personalizados, configurar alertas y exportar datos a CSV.
  • Gestión simplificada de mods/plugins: Ofrece una tienda integrada para la instalación automática de mods, gestión de versiones y dependencias. Incluye un editor de configuración visual con resaltado de sintaxis y notificaciones de actualización.
  • Actualizaciones automáticas: Garantiza el funcionamiento ininterrumpido del sistema. Actualiza los servidores de juegos según un horario con modo de prueba y reversión en caso de errores. Actualiza el panel de control con un solo comando (php artisan p:upgrade), verificando la compatibilidad y migrando la base de datos sin pérdida de datos. Actualiza automáticamente el demonio Wings, manteniendo la compatibilidad con diferentes distribuciones de Linux.

Funcionalidades de implementación

ID Nombre del software SO compatible VM BM VGPU GPU CPU mín. (núcleos) RAM mín. (GB) HDD/SSD mín. (GB) Dominio personalizado Activo
326 Pterodactyl Ubuntu 22.04 + + + + 1 1 - No ORDER

Componentes principales del sistema:

Componente Propósito
Panel Interfaz web de gestión (PHP/Laravel). Proporciona el panel de administración y la interfaz de usuario para la gestión de servidores
Wings Demonio para el inicio físico de servidores de juegos (Go). Se instala por separado en las máquinas donde se ejecutarán los servidores de juegos
Base de datos MariaDB para almacenar configuraciones, usuarios, servidores y ajustes
Docker Plataforma de contenedores, necesaria para el funcionamiento de Wings y el aislamiento de servidores de juegos

Archivos de configuración

Ruta Propósito
/var/www/pterodactyl/.env Configuración principal del Panel: conexión a la base de datos, Redis, APP_URL, APP_KEY
/var/www/pterodactyl/storage/logs/laravel.log Registros de operación del Panel (errores de aplicación, solicitudes)
/var/log/nginx/pterodactyl.app-error.log Registros del servidor web NGINX para el Panel
/etc/pterodactyl/config.yml Configuración de Wings: token de autorización, URL del Panel, configuración de Docker. Se crea durante la instalación de Wings
/var/lib/pterodactyl/volumes/ Directorio de datos de servidores de juegos: archivos de mundo, configuraciones, plugins. Se crea después de la instalación de Wings

Qué se instala automáticamente

El playbook instala y configura automáticamente:

  • Pterodactyl Panel - panel de gestión central con interfaz web;
  • MariaDB - base de datos para almacenar todos los datos del sistema;
  • Redis - para caché y colas de tareas;
  • NGINX - servidor web para servir el Panel;
  • PHP 8.3 + PHP-FPM - para el funcionamiento de la aplicación Laravel;
  • Certbot - para la obtención automática de certificados SSL;
  • Servicios de Systemd - pteroq (procesamiento de colas), tareas cron (programador).

Qué necesita instalarse adicionalmente

Para ejecutar servidores de juegos, necesita:

  • Wings - demonio que inicia y gestiona físicamente los servidores de juegos en contenedores Docker

Wings se instala en cada máquina (nodo) donde se planea ejecutar servidores de juegos. Esto puede ser el mismo servidor donde se instala el Panel (configuración "todo en uno") o servidores dedicados separados (arquitectura distribuida).

Requisitos del sistema

Para el Panel (Panel de control)

Requisitos mínimos:

  • Procesador: 2+ núcleos;
  • Memoria: 2 GB de RAM (se recomiendan 4 GB para un funcionamiento estable);
  • Disco: 20 GB SSD (se recomiendan 40+ GB para registros y copias de seguridad);
  • SO: Ubuntu 22.04 LTS (Jammy) - estrictamente esta versión para la instalación automática.

Software (instalado automáticamente):

  • PHP 8.3 + PHP-FPM;
  • MariaDB 10.6+;
  • Redis 7.0+;
  • NGINX;
  • Composer 2;
  • Certbot (para SSL);
  • Docker (preinstalado en la imagen).

Requisitos de red:

  • Puertos abiertos: 80 (HTTP), 443 (HTTPS);
  • Dirección IP estática o nombre de dominio (para certificado SSL);
  • Conexión a Internet estable.

Para el Nodo (Nodos con servidores de juegos)

Para 5-10 servidores de juegos simultáneos:

  • Procesador: 4+ núcleos (se recomiendan 6-8 núcleos para juegos exigentes);
  • Memoria: 8 GB de RAM (se recomiendan 12-16 GB dependiendo de los juegos);
  • Disco: 50 GB SSD (se recomiendan 100+ GB para múltiples servidores con mods);
  • SO: Ubuntu 20.04/22.04, Debian 10/11, CentOS ⅞ (cualquier Linux con soporte para Docker).
  • Software:
    • Docker (preinstalado en la imagen);
    • Wings (requiere instalación).

Requisitos de red:

  • Puertos abiertos:
    • 8080 - API de Wings (comunicación con el Panel);
    • 2022 - SFTP (carga de archivos a servidores de juegos);
    • 25565-25665 - rango de puertos de juego (configurado individualmente);
  • Conexión a Internet estable con buen ancho de banda;
  • Baja latencia para una experiencia de juego cómoda.

Configuración "Todo en uno" (Panel + Wings en un solo servidor)

Para pruebas o proyectos pequeños, puede usar un solo servidor:

  • Procesador: 4+ núcleos;
  • Memoria: 8 GB de RAM (mínimo 6 GB);
  • Disco: 60 GB SSD (se recomiendan 100+ GB);
  • SO: Ubuntu 22.04 LTS.

En esta configuración, un solo servidor ejecuta:

  • Pterodactyl Panel (interfaz web);
  • Wings (demonio de inicio de servidores);
  • Base de datos y caché;
  • Servidores de juegos en contenedores Docker.

Recomendaciones de recursos para juegos

Requisitos aproximados por servidor de juego:

Juego RAM CPU Disco
Minecraft (Vanilla/Paper) 2-4 GB 2+ núcleos 5-10 GB
Minecraft con mods (Forge/Fabric) 4-8 GB 4+ núcleos 10-20 GB
CS2 / CS:GO 4-6 GB 4+ núcleos 15-20 GB
Rust 8-12 GB 4+ núcleos 20-30 GB
ARK: Survival Evolved 8-16 GB 6+ núcleos 30-50 GB
Terraria 1-2 GB 2+ núcleos 2-5 GB
Valheim 4-6 GB 4+ núcleos 5-10 GB

Primeros pasos después de la implementación de Pterodactyl

Después de pagar su pedido, recibirá una notificación en el correo electrónico con el que se registró, informándole de que su servidor está listo para funcionar. Contendrá la dirección IP del VPS, así como un nombre de usuario y una contraseña para la conexión. Los clientes de nuestra empresa gestionan el hardware en el panel de control de servidores y APIInvapi.

Los datos de autorización que se pueden encontrar en la pestaña Configuration* >> **Tags del panel de control del servidor o en el correo electrónico son:

  • Enlace: en la etiqueta webpanel. Para acceder al panel de administración, añada /admin al enlace principal;
  • Nombre de usuario: admin;
  • Contraseña: enviada por correo electrónico a su dirección cuando el servidor esté listo para operar después del despliegue del software.

Primer inicio de sesión

  1. Abra un navegador web y navegue a la dirección de su panel de Pterodactyl
  2. Haga clic en Login:

  3. Después de una autorización exitosa, será dirigido a la página principal del panel.

  4. Para acceder al panel de administración, haga clic en el botón :

Creación de un usuario

  1. En el menú izquierdo del panel de administración, haga clic en el nombre de la sección Users;
  2. Haga clic en el botón Create New en la esquina superior derecha:

  3. Rellene los campos requeridos:

    • Username: nombre de usuario;
    • Email: dirección de correo electrónico del usuario;
    • First Name: nombre;
    • Last Name: apellido;
    • Password: contraseña (mínimo 8 caracteres, debe contener letras de diferentes casos y números);
  4. Si es necesario, seleccione Yes en la línea Administrator para otorgar derechos de administrador;
  5. Haga clic en Create User:

Creación de una ubicación

Qué es una ubicación

La ubicación es un agrupamiento lógico de nodos por ubicación geográfica o propósito. Se utiliza para organizar servidores, por ejemplo: "EU", "US", "Asia", "Producción", "Pruebas". Los usuarios no ven las ubicaciones directamente; es una herramienta administrativa.

  1. En el menú izquierdo, seleccione Locations;
  2. Haga clic en el botón Create New en la esquina superior derecha:

  3. Rellene los campos:

    • Short Code: código corto de ubicación (por ejemplo, "US1", "EU1");
    • Description: descripción de la ubicación (por ejemplo, "Centro de datos en EE. UU.");
  4. Haga clic en Create:

Creación de un nodo

Qué es un nodo

Un nodo es un servidor físico o virtual en el que se lanzan servidores de juegos a través de Wings. Cada nodo tiene sus propios recursos (CPU, RAM, disco) y puede servir múltiples servidores de juegos simultáneamente.

Preparación antes de crear un nodo

Antes de crear un nodo, asegúrese de que:

  • Docker esté instalado en el servidor (preinstalado en las imágenes de HOSTKEY);
  • Tenga una dirección IP o nombre de dominio para el nodo;
  • Los puertos 8080 (API de Wings) y 2022 (SFTP) estarán abiertos en el firewall.

Creación de un nodo en el Panel

  1. En el menú izquierdo del panel de administración, seleccione Nodes;

  2. Haga clic en el botón Create New en la esquina superior derecha:

  3. Rellene la configuración básica:

    • Name: nombre único del nodo (por ejemplo, hostkey-us-node1);
    • Location: seleccione la ubicación creada anteriormente;
    • Public: marque la casilla si el nodo debe ser visible para los usuarios;
    • FQDN: especifique el nombre de dominio del panel (por ejemplo, pterodactyl50514.hostkey.in) o la dirección IP;
    • Communicate Over SSL: marque la casilla si el Panel utiliza HTTPS;
    • Behind Proxy: deje desactivado si el nodo no está detrás de un proxy.
  4. Configure la configuración de recursos:

    • Daemon Server File Directory: /var/lib/pterodactyl/volumes (no cambie);
    • Total Memory: especifique la RAM disponible en MB (por ejemplo, 4608 para un servidor de 6 GB teniendo en cuenta la reserva);
    • Memory Over-Allocation: especifique 0 (sin sobreasignación);
    • Total Disk Space: especifique el espacio en disco disponible en MB (por ejemplo, 102400 para un disco de 120 GB teniendo en cuenta la reserva);
    • Disk Over-Allocation: especifique 0 (sin sobreasignación);
    • Daemon Port: 8080 (deje el valor predeterminado);
    • Daemon SFTP Port: 2022 (deje el valor predeterminado).

  5. Haga clic en el botón Create Node.

Importante al usar HTTPS

Si el Panel opera sobre HTTPS, debe especificar un nombre de dominio en el campo FQDN, no una dirección IP. Especificar una dirección IP con SSL habilitado resultará en un error de validación.

Configuración de ejemplo para configuración Todo en uno (4 vCore / 6 GB RAM / 120 GB SSD)

    Name: hostkey-us-node1
    Location: US1
    Public: ☑
    FQDN: pterodactyl50514.hostkey.in
    Communicate Over SSL: ☑
    Behind Proxy: ☐


    Total Memory: 4608 MB (dejando 1.5 GB para el sistema)
    Memory Over-Allocation: 0
    Total Disk Space: 102400 MB (dejando 20 GB para el sistema)
    Disk Over-Allocation: 0

Configuración de asignaciones

Después de crear un nodo, debe configurar las asignaciones: estas son combinaciones de dirección IP y puerto que estarán disponibles para asignar a servidores de juegos.

  1. Después de crear el nodo, su página se abrirá automáticamente. Navegue a la pestaña Allocation;

  2. En la sección Assign New Allocations (lado derecho), rellene los campos:

    • IP Address: introduzca la dirección IP del servidor;
    • IP Alias: especifique una descripción (por ejemplo, Main IP) o déjelo en blanco;
    • Ports: especifique un rango de puertos (por ejemplo, 25565-25570 para servidores de Minecraft).
  3. Haga clic en el botón verde Submit:

  4. Las asignaciones creadas aparecerán en la tabla Existing Allocations (lado izquierdo). Cada fila representa una combinación IP:puerto separada que se puede asignar a un servidor de juegos.

Nota

Sin configurar asignaciones, no podrá crear servidores en este nodo. Debe agregar al menos una dirección IP con puertos.

Recomendaciones de puertos

  • Minecraft: 25565-25570 (puerto estándar 25565);
  • CS2/CS:GO: 27015-27020 (puerto estándar 27015);
  • Rust: 28015-28020 (puerto estándar 28015);
  • Valheim: 2456-2460 (puerto estándar 2456).

Instalación de Wings

Crítico para el funcionamiento

Después de crear un nodo y configurar las asignaciones, debe instalar Wings en el servidor. Sin Wings, el nodo mostrará el estado Offline y no podrá iniciar servidores de juegos.

Conéctese al servidor mediante SSH y ejecute los comandos:

Cree un directorio para la configuración:

mkdir -p /etc/pterodactyl
Descargue Wings:

curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
Otorgue permisos de ejecución:

chmod u+x /usr/local/bin/wings
Verifique la instalación:

wings version

Debe mostrarse la versión de Wings (por ejemplo, wings vv1.12.1).

Configuración de Wings mediante Auto-Deploy (Recomendado)

  1. En el panel de administración, vaya a la pestaña Configuration del nodo creado;

  2. En la sección Auto-Deploy (lado derecho), haga clic en el botón Generate Token:

  3. Copie el comando generado. Se verá algo así:

        cd /etc/pterodactyl && wings configure --panel-url https://your-domain.com --token TOKEN --node 1
    

  4. Ejecute el comando copiado en el servidor:

        cd /etc/pterodactyl && wings configure --panel-url https://pterodactyl50514.hostkey.in --token TOKEN --node 1
    

    Debería aparecer el mensaje: Successfully configured wings.

  5. Verifique la configuración creada:

        cat /etc/pterodactyl/config.yml
    

Creación de un servicio systemd

Cree un servicio systemd para el inicio automático de Wings:

cat > /etc/systemd/system/wings.service <<'EOF'
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.service


[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s


[Install]
WantedBy=multi-user.target
EOF

Inicio de Wings

Recargue la configuración de systemd

systemctl daemon-reload
Habilite el inicio automático e inicie Wings

systemctl enable --now wings
Compruebe el estado

systemctl status wings

El estado debe mostrar Active: active (running).

Verificación del funcionamiento

Compruebe los registros de Wings:

journalctl -u wings -n 50

Los registros deben contener los siguientes mensajes:

  • fetching list of servers from API - Wings conectado al Panel;
  • configuring internal webserver - servidor web de Wings iniciado;
  • sftp server listening for connections - servidor SFTP funcionando.

Verifique la creación del directorio del servidor:

ls -la /var/lib/pterodactyl/volumes/

Verificación del estado en el panel de administración

  1. Abra el panel de administración: https://your-domain.com/admin;
  2. Navegue a: Admin > Nodes > su nodo;
  3. Actualice la página (F5);
  4. Debería mostrarse el indicador de estado Online en verde en la parte superior derecha;
  5. En la pestaña About, debe mostrarse la información de recursos (CPU, RAM, Disco).

Si el nodo muestra el estado Online

¡El nodo está completamente configurado y listo para crear servidores de juegos!

Solución de problemas

El nodo muestra el estado Offline

Compruebe el estado de Wings:

systemctl status wings

Si Wings no está en ejecución, inícielo:

systemctl start wings

Compruebe los registros en busca de errores:

journalctl -u wings -n 100

Problemas comunes:

  1. Wings no puede conectarse al Panel:

    • Compruebe la URL del panel en la configuración: cat /etc/pterodactyl/config.yml | grep remote;
    • Asegúrese de que el Panel sea accesible: curl -I https://your-domain.com.
  2. El puerto 8080 está bloqueado por el firewall:

    • Compruebe el puerto: netstat -tulpn | grep 8080;
    • Abra el puerto: ufw allow 8080/tcp.
  3. Problemas de SSL:

    • Si el Panel utiliza HTTPS, Wings también debe funcionar con SSL;
    • Compruebe la configuración de SSL en /etc/pterodactyl/config.yml.

Configuración manual (Método alternativo)

Si Auto-Deploy no funciona, puede configurar Wings manualmente:

  1. En el panel de administración, vaya a la pestaña Configuration del nodo;
  2. Copie el contenido del archivo de configuración desde el campo de texto izquierdo;
  3. En el servidor, cree un archivo de configuración:

    nano /etc/pterodactyl/config.yml
    

  4. Pegue la configuración copiada y guarde (Ctrl+X, luego Y, luego Enter);

  5. Reinicie Wings: systemctl restart wings;
  6. Compruebe el estado: systemctl status wings.

Creación de un nido y adición de un huevo

Creación de un nido

  1. En el menú izquierdo, seleccione la sección Nests;
  2. Haga clic en el botón Create New en la esquina superior derecha:

  3. Rellene los campos:

    • Name: nombre del nido (por ejemplo, "Minecraft");
    • Description: descripción del nido;
  4. Haga clic en Save:

Descarga de un huevo listo

  1. Abra el sitio web https://pelican-eggs.github.io/;

  2. Encuentre el juego deseado:

    • En la sección Game Eggs, seleccione una categoría (por ejemplo, Minecraft);
    • Encuentre el tipo de servidor deseado (por ejemplo, Paper, Vanilla, Forge);
  3. Haga clic en el nombre del servidor para abrir la página de GitHub;

  4. Encuentre el archivo egg-name.json (por ejemplo, egg-paper.json);

  5. Haga clic en el archivo, luego en el botón Raw en la esquina superior derecha;

  6. Guarde el archivo (Ctrl+S o clic derecho > Save as).

Huevos populares

Importación del huevo al Panel

  1. En el panel de administración, vaya a la sección Nests;

  2. Haga clic en el botón Import Egg en la esquina superior derecha:

  3. Haga clic en Choose File y seleccione el archivo .json descargado;

  4. Haga clic en Import:

El huevo se importará con todas las configuraciones, imágenes de Docker y variables.

Verificación del huevo importado

  1. En la lista de huevos, encuentre el importado (por ejemplo, Paper);

  2. Haga clic en él para ver la configuración;

  3. Asegúrese de que los siguientes campos estén rellenados:

    • Docker Images: lista de imágenes disponibles;
    • Install Script: script de instalación del servidor;
    • Variables: variables de entorno (versión, configuración).

Creación de un servidor

  1. En el menú izquierdo, seleccione Servers;

  2. Haga clic en el botón Create New en la esquina superior derecha:

  3. Rellene el formulario de creación:

Detalles principales:

  • Server Name: nombre del servidor (por ejemplo, Test Minecraft Server);
  • Server Owner: seleccione el usuario propietario de la lista;
  • Server Description: descripción (opcional);
  • Start Server when Installed: deje la casilla habilitada.

Gestión de asignaciones:

  • Node: seleccione el nodo creado;
  • Default Allocation: seleccione la dirección IP:puerto de la lista;
  • Additional Allocations: deje en blanco.

Límites de características de la aplicación:

  • Database Limit: 0;
  • Allocation Limit: 0;
  • Backup Limit: 0.

Gestión de recursos:

  • CPU Limit: 0 (sin límites);
  • Memory: 2048 MiB (2 GB para empezar);
  • Swap: 0 MiB;
  • Disk Space: 5120 MiB (5 GB);
  • Block IO Weight: 500;
  • Enable OOM Killer: deje desactivado.

Configuración del nido:

  • Nest: Minecraft;
  • Egg: Paper (¡no Sponge!);
  • Docker Image: Java 21;
  • Service Variables: deje los valores predeterminados.

  • Haga clic en Create Server en la parte inferior de la página;

  • Espere a que se complete la instalación (el estado Installing cambiará a Offline):

Inicio y configuración del servidor

  1. Después de la instalación, abra el servidor desde la lista (Admin > Servers):

  2. Vaya al panel de usuario (sin /admin), inicie sesión como propietario del servidor;

  3. Haga clic en el botón Start:

  4. En el primer lanzamiento, aparecerá una ventana de aceptación de licencia:

  5. Haga clic en I Accept para aceptar el EULA de Minecraft;

  6. Espere a que el servidor se inicie (el estado cambiará a Running):

Verificación del rendimiento

Abra en su navegador (reemplace la IP por la suya):

https://api.mcsrvstat.us/3/<dirección IP>:25565
Si la respuesta muestra "online": true, el servidor está funcionando y es accesible para los jugadores.

Dirección de conexión:

<dirección IP>:25565

Nota

Información detallada sobre la configuración principal de Pterodactyl se encuentra en la documentación de los desarrolladores.

Solicitar un servidor de Pterodactyl mediante la API

Para instalar este software utilizando la API, siga estas instrucciones.


Parte del contenido de esta página fue creado o traducido utilizando IA.

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×