Server IP Allocation
Understanding how server IP addresses are assigned in PteroCA and how to configure them correctly in Pterodactyl.
Overview
Server IP addresses displayed in PteroCA come from Pterodactyl's node configuration, not from PteroCA itself. PteroCA acts as a client area interface and displays the server information that Pterodactyl provides.
When a server is created through PteroCA:
PteroCA sends a creation request to Pterodactyl via API
Pterodactyl assigns an IP address and port from the node's allocation pool
PteroCA retrieves and displays this information from Pterodactyl
How Server IPs Work
Allocation Pools in Pterodactyl
Pterodactyl nodes maintain allocation pools - collections of IP address and port combinations available for assignment to game servers. Each allocation consists of:
An IP address (e.g.,
203.0.113.50)A port number (e.g.,
25565)Assignment status (available, assigned, or reserved)
When creating a server, Pterodactyl automatically selects an available allocation from the node's pool and assigns it to the new server.
The Assignment Process
Here's what happens when you create a server in PteroCA:
User purchases a server in PteroCA
PteroCA calls Pterodactyl API to create the server
Pterodactyl selects a node based on configuration (usually defined in your product settings)
Pterodactyl assigns an allocation from that node's available pool
Server is created with the assigned IP:Port combination
PteroCA retrieves server details including the assigned IP
User sees the IP in their PteroCA client area
Data Flow
PteroCA always displays what Pterodactyl has in its database - it does not modify or override IP addresses.
Understanding Node Allocations
What Are Allocations?
In Pterodactyl, allocations are the network endpoints (IP:Port combinations) that game servers use to accept player connections. Think of them as "parking spaces" for your game servers - each server needs its own unique IP:Port combination.
How to View Allocations
In your Pterodactyl panel:
Log in as administrator
Navigate to Admin → Nodes
Select a node
Click the Allocation tab
Here you'll see all IP addresses and ports configured for this node, along with their assignment status.
Relationship Between Wings and Allocations
Important distinction:
Wings
api.hostsetting - Determines what network interface the Wings daemon listens on (e.g.,0.0.0.0to listen on all interfaces)Node allocations - Define what IP addresses are assigned to game servers
These are NOT the same thing. Wings api.host is for Wings itself, while allocations are for the game servers that Wings manages.
Common IP Scenarios
Why You See 0.0.0.0
The most common support issue is servers showing 0.0.0.0 as their IP address. This happens when:
Allocations inherited from Wings config: If your node's allocations were automatically created based on the Wings configuration where
api.host: 0.0.0.0, these allocations may have0.0.0.0as the IPManual misconfiguration: Someone manually added
0.0.0.0as an allocation IPDefault/placeholder allocation: Initial setup used
0.0.0.0as a placeholder
Why it's a problem:
0.0.0.0is a special address meaning "all interfaces" - valid for server binding but not for client connectionsPlayers cannot connect to
0.0.0.0- they need a specific public IP addressWhile Wings can listen on
0.0.0.0, game servers need real routable IP addresses
Why You See 127.0.0.1 (Localhost)
Seeing 127.0.0.1 means your node's allocations are configured with the localhost address. This happens when:
Testing/development setup was used for production
Node was configured on a local machine
Misconfiguration during initial Pterodactyl setup
The problem: 127.0.0.1 only works on the same machine. Players trying to connect from the internet cannot reach this address.
Why You See Internal Network IPs (192.168.x.x, 10.x.x.x)
Internal/private IP addresses like 192.168.1.100 or 10.0.0.50 indicate your node is configured with LAN addresses. Common causes:
Server behind NAT/router without proper port forwarding setup
Pterodactyl configured with internal IP instead of public IP
Cloud/VPS with separate internal and external IPs, but only internal configured
The problem: These addresses only work within your local network. Internet players cannot connect to private IP ranges.
Configuring Server IPs Correctly
Method 1: Configure Allocations in Pterodactyl Panel (Recommended)
This is the proper way to set up server IP addresses:
Step 1: Access Node Allocations
Log into your Pterodactyl panel as administrator
Go to Admin → Nodes
Select the node you want to configure
Click the Allocation tab
Step 2: Remove Incorrect Allocations
If you see allocations with 0.0.0.0, 127.0.0.1, or internal IPs:
Select each incorrect allocation
Click Delete (or bulk delete if available)
Confirm deletion
Important: Only delete allocations that are not currently assigned to servers, or you'll break existing servers. Check the "Assigned To" column before deleting.
Step 3: Add Correct Public IP
Click Create Allocation button
Enter your public IP address (the IP players will connect to)
For dedicated servers: Your server's public IP
For VPS/cloud: Your instance's public IP
Check with
curl ifconfig.meorip addr showon your server
Enter a port or port range
For Minecraft:
25565-25665(100 ports)For other games: Appropriate port range
Ensure ports are open in your firewall
Click Submit
Step 4: Verify Allocations
After adding, you should see entries like:
New servers created will now receive proper public IP addresses from this pool.
Method 2: Understanding Wings Configuration
While Wings configuration doesn't directly set server IPs, understanding it helps avoid confusion:
Wings Config (/etc/pterodactyl/config.yml):
What this means:
host: 0.0.0.0- Wings daemon listens on all network interfaces (correct!)This does NOT set game server IPs
Game server IPs come from the Pterodactyl panel's allocation system
Best practice:
Leave Wings
api.hostas0.0.0.0(or your server's public IP if you prefer)Configure game server IPs in Pterodactyl panel allocations (as shown in Method 1)
Don't confuse the two - they serve different purposes
Method 3: Bulk Allocation via CLI (Advanced)
For advanced users, Pterodactyl provides CLI commands to manage allocations:
During node creation, you'll be prompted for the allocation IP. Enter your public IP address here.
Troubleshooting
Issue: Server Shows 0.0.0.0
Diagnosis:
Check Pterodactyl Admin → Nodes → [Your Node] → Allocation
Look for allocations with IP
0.0.0.0
Solution:
Follow Method 1 to add proper allocations
For existing servers - reassign allocation in Pterodactyl:
Go to server management in Pterodactyl admin
Network tab → Change primary allocation to one with correct IP
For new servers - they'll automatically use new allocations
Issue: Server Shows Wrong IP (Internal/Local)
Diagnosis:
Verify your server's public IP:
curl ifconfig.meCompare with IP shown in PteroCA
Check Pterodactyl allocations
Solution:
Delete allocations with incorrect IPs
Add allocations with your actual public IP
Ensure firewall/NAT allows traffic to these ports
If behind NAT, configure port forwarding on your router
Issue: Players Cannot Connect
If the IP looks correct but players still can't connect:
Check firewall:
Check if service is listening:
Verify allocation assignment:
In Pterodactyl admin, go to the server
Check Network tab
Ensure primary allocation shows correct public IP:Port
Test connectivity:
Issue: All Allocations Used Up
If you see errors about no available allocations:
Solution:
Go to Admin → Nodes → [Your Node] → Allocation
Add more port allocations:
Use your public IP
Add larger port range (e.g.,
25565-26000)
Or, add additional IP addresses if you have multiple IPs
Best Practices
For Self-Hosted Setups
Use Public IPs in Allocations:
Always configure allocations with your server's public IP
Never use
0.0.0.0,127.0.0.1, or192.168.x.xfor allocations
Plan Port Ranges:
Allocate sufficient ports for expected growth
Example: 100 ports per node (e.g.,
25565-25665)Keep ranges consistent across nodes for easier management
Document Your IPs:
Know your server's public IP(s)
Document which IP is used for which node
Keep track of port range assignments
For Hosting Providers
Pre-configure Correct Allocations:
Set up all nodes with proper public IPs before offering services
Test server creation to verify correct IP assignment
Provide Clear Documentation:
Explain to customers that IPs come from Pterodactyl
Point them to connection information in PteroCA client area
Monitor Allocation Usage:
Track available vs. assigned allocations
Add more allocations before running out
Alert when nodes reach capacity
For All Users
Verify After Setup:
Create a test server
Check that it receives correct public IP
Test actual connectivity from external network
Don't Mix Wings Config with Allocations:
Remember: Wings
api.host≠ server allocationsConfigure them separately
Different purposes, different settings
Keep Pterodactyl Updated:
Updates may include allocation management improvements
Follow official Pterodactyl documentation
Related Documentation
PteroCA Documentation
Pterodactyl Settings - General Pterodactyl configuration
API Configuration - Setting up API connection
Allowed Origins - Wings CORS/WebSocket configuration
Managing Servers (Client) - User view of server allocations
Pterodactyl Official Documentation
Pterodactyl Node Configuration - Official guide for setting up nodes
Wings Configuration - Official Wings installation and configuration
Adding Allocations - Step-by-step allocation setup
Summary
Key Takeaways:
✅ Server IPs come from Pterodactyl - PteroCA only displays what Pterodactyl assigns
✅ Configure allocations in Pterodactyl panel - Admin → Nodes → Allocations
✅ Use your public IP for allocations - Never
0.0.0.0,127.0.0.1, or private IPs✅ Wings config ≠ Server IPs - These are separate configurations with different purposes
✅ Test connectivity - Always verify players can actually connect after setup
If you're seeing wrong IPs in PteroCA, the fix is in Pterodactyl's allocation configuration, not in PteroCA itself.
Need more help?
If you're still experiencing issues with server IP addresses:
Join our Discord community for support
Check Troubleshooting Guide for common errors
Review FAQ for quick answers
Last updated