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:

  1. PteroCA sends a creation request to Pterodactyl via API

  2. Pterodactyl assigns an IP address and port from the node's allocation pool

  3. PteroCA retrieves and displays this information from Pterodactyl

Key Point: PteroCA does not manage or assign IP addresses. All server networking configuration happens in Pterodactyl's node and allocation system.


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:

  1. User purchases a server in PteroCA

  2. PteroCA calls Pterodactyl API to create the server

  3. Pterodactyl selects a node based on configuration (usually defined in your product settings)

  4. Pterodactyl assigns an allocation from that node's available pool

  5. Server is created with the assigned IP:Port combination

  6. PteroCA retrieves server details including the assigned IP

  7. 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:

  1. Log in as administrator

  2. Navigate to AdminNodes

  3. Select a node

  4. 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.host setting - Determines what network interface the Wings daemon listens on (e.g., 0.0.0.0 to 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:

  1. 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 have 0.0.0.0 as the IP

  2. Manual misconfiguration: Someone manually added 0.0.0.0 as an allocation IP

  3. Default/placeholder allocation: Initial setup used 0.0.0.0 as a placeholder

Why it's a problem:

  • 0.0.0.0 is a special address meaning "all interfaces" - valid for server binding but not for client connections

  • Players cannot connect to 0.0.0.0 - they need a specific public IP address

  • While 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

This is the proper way to set up server IP addresses:

Step 1: Access Node Allocations

  1. Log into your Pterodactyl panel as administrator

  2. Go to AdminNodes

  3. Select the node you want to configure

  4. 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:

  1. Select each incorrect allocation

  2. Click Delete (or bulk delete if available)

  3. Confirm deletion

Step 3: Add Correct Public IP

  1. Click Create Allocation button

  2. 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.me or ip addr show on your server

  3. 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

  4. 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:

  1. Leave Wings api.host as 0.0.0.0 (or your server's public IP if you prefer)

  2. Configure game server IPs in Pterodactyl panel allocations (as shown in Method 1)

  3. 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:

  1. Follow Method 1 to add proper allocations

  2. For existing servers - reassign allocation in Pterodactyl:

    • Go to server management in Pterodactyl admin

    • Network tab → Change primary allocation to one with correct IP

  3. 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.me

  • Compare with IP shown in PteroCA

  • Check Pterodactyl allocations

Solution:

  1. Delete allocations with incorrect IPs

  2. Add allocations with your actual public IP

  3. Ensure firewall/NAT allows traffic to these ports

  4. 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:

  1. In Pterodactyl admin, go to the server

  2. Check Network tab

  3. Ensure primary allocation shows correct public IP:Port

Test connectivity:

Issue: All Allocations Used Up

If you see errors about no available allocations:

Solution:

  1. Go to Admin → Nodes → [Your Node] → Allocation

  2. Add more port allocations:

    • Use your public IP

    • Add larger port range (e.g., 25565-26000)

  3. Or, add additional IP addresses if you have multiple IPs


Best Practices

For Self-Hosted Setups

  1. Use Public IPs in Allocations:

    • Always configure allocations with your server's public IP

    • Never use 0.0.0.0, 127.0.0.1, or 192.168.x.x for allocations

  2. 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

  3. 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

  1. Pre-configure Correct Allocations:

    • Set up all nodes with proper public IPs before offering services

    • Test server creation to verify correct IP assignment

  2. Provide Clear Documentation:

    • Explain to customers that IPs come from Pterodactyl

    • Point them to connection information in PteroCA client area

  3. Monitor Allocation Usage:

    • Track available vs. assigned allocations

    • Add more allocations before running out

    • Alert when nodes reach capacity

For All Users

  1. Verify After Setup:

    • Create a test server

    • Check that it receives correct public IP

    • Test actual connectivity from external network

  2. Don't Mix Wings Config with Allocations:

    • Remember: Wings api.host ≠ server allocations

    • Configure them separately

    • Different purposes, different settings

  3. Keep Pterodactyl Updated:

    • Updates may include allocation management improvements

    • Follow official Pterodactyl documentation


PteroCA Documentation

Pterodactyl Official Documentation


Summary

Key Takeaways:

  1. Server IPs come from Pterodactyl - PteroCA only displays what Pterodactyl assigns

  2. Configure allocations in Pterodactyl panel - Admin → Nodes → Allocations

  3. Use your public IP for allocations - Never 0.0.0.0, 127.0.0.1, or private IPs

  4. Wings config ≠ Server IPs - These are separate configurations with different purposes

  5. 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.

Last updated