The Server Management section provides full control over game servers hosted on your Pterodactyl installation. Administrators can create, configure, modify, and delete servers across all nodes.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/pterodactyl/panel/llms.txt
Use this file to discover all available pages before exploring further.
Server Model Overview
Servers are the core resource in Pterodactyl. Each server (fromapp/Models/Server.php:153-176) contains:
Creating a New Server
Configure Core Details
Name and Owner
- Server Name: Descriptive name (1-191 characters)
- Owner: Select the user who will own this server
- External ID: Optional identifier for external systems
- Description: Optional server description
Select Deployment Location
Location and Node
- Choose a Location to filter available nodes
- Select a specific Node or use auto-deployment
- System will automatically select a viable node if available
Configure Resource Limits
Resource Allocation
- Memory: RAM in MB (minimum 0 for unlimited)
- Swap: Swap space in MB (-1 for unlimited)
- Disk Space: Storage in MB (minimum 0)
- CPU Limit: Percentage (0 for unlimited)
- CPU Threads: Specific thread pinning (e.g., “0,1,2” or “0-2”)
- IO Weight: Block IO weight (10-1000)
Set Feature Limits
Additional Limits
- Database Limit: Maximum databases (null for unlimited)
- Allocation Limit: Maximum IP allocations (null for unlimited)
- Backup Limit: Maximum backups (0 for none, null for unlimited)
Choose Nest and Egg
Game Configuration
- Select a Nest (e.g., Minecraft, Source Engine)
- Choose an Egg within the nest (e.g., Paper, Vanilla)
- The egg determines the server’s startup configuration
Configure Startup Settings
Docker and Startup
- Docker Image: Pre-filled from egg, or use custom image
- Startup Command: Modify if needed (from egg template)
- Environment Variables: Configure egg-specific variables
Network Allocation
IP and Port
- Select the primary Allocation (IP:Port)
- Optionally add additional allocations
Server Status States
Servers can be in various states (fromapp/Models/Server.php:122-126):
- Installing: Server is being set up
- Install Failed: Installation encountered an error
- Reinstall Failed: Reinstallation failed
- Suspended: Server is suspended (cannot start)
- Restoring Backup: Server is restoring from backup
- null: Normal operational state
Resource Configuration
Memory and Swap
- Memory: RAM allocated in MB
0= Unlimited- Recommended: At least 512MB for most games
- Swap: Virtual memory in MB
-1= Unlimited swap0= No swap- Recommended: Equal to memory or 0
CPU Allocation
- CPU Limit: Percentage of total CPU
100= One full core200= Two full cores0= Unlimited
- Threads: Pin to specific CPU threads
"0,1,2"= Threads 0, 1, and 2"0-4"= Threads 0 through 4- Leave blank for no pinning
Disk Space
- Disk: Storage limit in MB
0= Unlimited (use with caution)- Recommended: Allocate based on game requirements
IO Weight
- IO Weight: Block I/O priority (10-1000)
- Default:
500 - Higher = More I/O priority
- Useful for high-performance servers
- Default:
OOM Killer
By default, servers have OOM (Out of Memory) killer disabled:Disabling OOM killer allows servers to use swap space instead of being terminated.
Custom Docker Images
You can override the egg’s default Docker image:- Select the egg first
- Choose Custom Image from the dropdown
- Enter the full image name (e.g.,
ghcr.io/pterodactyl/yolks:java_17)
app/Http/Controllers/Admin/Servers/CreateServerController.php:72-76:
Server Installation Process
When a server is created:Skipping Install Scripts
You can skip the installation script:- Check Skip Egg Install Script during creation
- Sets
skip_scripts = true - Useful for pre-configured images
Editing an Existing Server
Administrators can modify all aspects of a server:Build Configuration
- Memory, swap, disk, CPU limits
- IO weight
- OOM killer setting
- Database, allocation, and backup limits
Startup Configuration
- Docker image
- Startup command
- Environment variables
Server Details
- Server name and description
- Owner assignment
- External ID
Network Allocations
- Add/remove IP allocations
- Change primary allocation
- Configure port assignments
Server Suspension
Suspending a server:- Sets
status = 'suspended' - Stops the server if running
- Prevents server from starting
- Owner loses access to control panel
app/Models/Server.php:218-221):
Server Transfers
Servers can be transferred between nodes:- Select target node
- Choose new allocation
- Transfer begins in background
- Server data is synced to new node
- Server is moved atomically
Server Relationships
Each server has relationships to:- Owner (User): The user who owns the server
- Node: The physical/virtual node hosting the server
- Nest: The game category (e.g., Minecraft)
- Egg: The specific game configuration (e.g., Paper)
- Allocation: Primary IP and port
- Allocations: All assigned IPs and ports
- Databases: MySQL databases for the server
- Backups: Server backups
- Schedules: Automated tasks
- Subusers: Additional users with access
- Mounts: Mounted directories
Deleting a Server
Before deleting:- Ensure server is stopped
- Back up any important data
- Navigate to server detail page
- Select Delete Server
- Confirm deletion
- Stop the server
- Delete the container
- Remove all server files
- Delete database records
- Free up allocations
Auto-Deployment
When creating a server, you can use auto-deployment:- Don’t select a specific node
- System finds a viable node automatically
- Based on resource availability and location
- Throws exception if no viable node found
Best Practices
- Resource Planning: Don’t over-allocate node resources
- Swap Configuration: Set swap to 0 or equal to memory
- Backup Limits: Set reasonable backup limits to prevent disk abuse
- Database Limits: Limit databases to prevent excessive MySQL connections
- Regular Monitoring: Check server performance and adjust resources
- Test Installations: Verify egg install scripts work correctly
Next Steps
Node Management
Configure nodes to host your servers
Nests & Eggs
Understand game configurations and templates
