Skip to main content
Network allocations define the IP addresses and ports your server can use. Each server has a primary allocation and can have additional allocations for plugins, query ports, or other services.

Understanding Allocations

An allocation is an IP:Port combination assigned to your server:
Allocation Object
{
  "object": "allocation",
  "attributes": {
    "id": 5,
    "ip": "192.168.1.100",
    "ip_alias": "node01.example.com",
    "port": 25565,
    "notes": "Primary Minecraft port",
    "is_default": true
  }
}

Allocation Properties

  • ip - The actual IP address
  • ip_alias - Friendly hostname (if configured)
  • port - The port number
  • notes - User-defined description
  • is_default - Whether this is the primary allocation

Listing Allocations

View all allocations for your server:
List Allocations
GET /api/client/servers/{server}/network/allocations
Response
{
  "object": "list",
  "data": [
    {
      "object": "allocation",
      "attributes": {
        "id": 5,
        "ip": "192.168.1.100",
        "ip_alias": "node01.example.com",
        "port": 25565,
        "notes": "Primary game port",
        "is_default": true
      }
    },
    {
      "object": "allocation",
      "attributes": {
        "id": 6,
        "ip": "192.168.1.100",
        "ip_alias": "node01.example.com",
        "port": 25575,
        "notes": "RCON port",
        "is_default": false
      }
    }
  ]
}

Primary Allocation

The primary allocation is used by default when starting your server. It’s passed to the startup command as the SERVER_PORT variable.

Setting Primary Allocation

Change which allocation is primary:
Set Primary
POST /api/client/servers/{server}/network/allocations/{allocation}/primary
Response
{
  "object": "allocation",
  "attributes": {
    "id": 6,
    "ip": "192.168.1.100",
    "port": 25575,
    "is_default": true
  }
}
Changing the primary allocation typically requires restarting your server for the change to take effect.

Creating Additional Allocations

If your server has allocation limit, you can create more:
Create Allocation
POST /api/client/servers/{server}/network/allocations
Response
{
  "object": "allocation",
  "attributes": {
    "id": 7,
    "ip": "192.168.1.100",
    "port": 25566,
    "notes": null,
    "is_default": false
  }
}
The system automatically finds an available port on the node and assigns it to your server.
Requires an allocation limit to be set on your server. If limit is reached, you’ll receive an error.

Allocation Limit

Check your allocation limit:
GET /api/client/servers/{server}
{
  "attributes": {
    "feature_limits": {
      "allocations": 5
    }
  }
}
If you try to create more allocations than allowed:
Error Response
HTTP/1.1 400 Bad Request

{
  "errors": [
    {
      "code": "DisplayException",
      "detail": "Cannot assign additional allocations to this server: limit has been reached."
    }
  ]
}

Updating Allocation Notes

Add descriptions to allocations:
Update Notes
POST /api/client/servers/{server}/network/allocations/{allocation}
Content-Type: application/json

{
  "notes": "RCON port for remote administration"
}
Response
{
  "object": "allocation",
  "attributes": {
    "id": 6,
    "ip": "192.168.1.100",
    "port": 25575,
    "notes": "RCON port for remote administration",
    "is_default": false
  }
}
Use notes to document what each port is used for:
  • “Primary game port”
  • “RCON/Admin port”
  • “Query port”
  • “Web interface”
  • “Voice server”

Deleting Allocations

Remove allocations you no longer need:
Delete Allocation
DELETE /api/client/servers/{server}/network/allocations/{allocation}
Success
HTTP/1.1 204 No Content
You cannot delete the primary allocation. Set a different allocation as primary first.
Restrictions:
  • Cannot delete primary allocation
  • Requires allocation limit to be set
  • Port is returned to available pool

Common Use Cases

Minecraft servers often need multiple ports:Primary Allocation (25565):
  • Game port for player connections
  • Set in server.properties: server-port=25565
Secondary Allocation (25575):
  • RCON port for remote commands
  • Set in server.properties: rcon.port=25575
Optional Query Port (25565):
  • Usually same as game port
  • For server list pings
Source games (CS:GO, TF2, etc.) use multiple ports:Primary Allocation (27015):
  • Game port
  • Set in startup: +port 27015
Secondary Allocation (27015 UDP):
  • Source TV port: +tv_port 27020
Client Port (27005):
  • Used for client communication
Run multiple instances of the same game:
  • Allocation 1: 25565 (Survival server)
  • Allocation 2: 25566 (Creative server)
  • Allocation 3: 25567 (Minigames server)
Switch primary allocation based on which instance you want to run.
Games with web interfaces need HTTP ports:Primary Allocation (7777):
  • Game port
Secondary Allocation (8080):
  • Web admin interface
  • Configure in game settings

Using Allocations in Startup

Allocations are available as environment variables:

Primary Allocation

SERVER_PORT=25565      # Primary port
SERVER_IP=0.0.0.0      # Bind to all interfaces

All Allocations

All allocations are formatted as JSON:
ALLOCATIONS='{"192.168.1.100":[25565,25575]}'
Example startup command:
java -Xms2G -Xmx2G -jar server.jar --port {{SERVER_PORT}} --host {{SERVER_IP}}
The {{SERVER_PORT}} variable is replaced with your primary allocation’s port.

IP Aliases

IP aliases provide friendly hostnames instead of raw IPs:
{
  "ip": "192.168.1.100",
  "ip_alias": "node01.example.com",
  "port": 25565
}
Players can connect using:
  • node01.example.com:25565
  • 192.168.1.100:25565
Both point to the same server.
IP aliases are configured by administrators at the node level. Users cannot set custom aliases.

Firewall Considerations

Ensure ports are accessible:
1

Node Firewall

Administrator must open ports on the node’s firewall:
# UFW example
ufw allow 25565/tcp
ufw allow 25575/tcp
2

Network Firewall

Check router/cloud provider firewall rules allow traffic to the ports.
3

Game Configuration

Configure your game to listen on the allocated port:
server-port=25565
4

Test Connectivity

Use a port checker tool to verify the port is reachable from outside.

Activity Logging

Allocation changes are logged:
Example Logs
{
  "event": "server:allocation.create",
  "properties": {
    "allocation": "192.168.1.100:25566"
  }
}

{
  "event": "server:allocation.primary",
  "properties": {
    "allocation": "192.168.1.100:25565"
  }
}

{
  "event": "server:allocation.notes",
  "properties": {
    "allocation": "192.168.1.100:25575",
    "old": null,
    "new": "RCON port"
  }
}

Best Practices

Always add notes to allocations explaining their purpose. This helps when troubleshooting or sharing server access.
When possible, use default ports for your game:
  • Minecraft: 25565
  • CS:GO: 27015
  • ARK: 7777
This makes it easier for players to connect.
Remove allocations you’re not using to free them for other servers on the node.
Always test connectivity after changing primary allocation or creating new ports.

Troubleshooting

  • Verify server is running
  • Check primary allocation port matches server config
  • Test port with telnet: telnet node01.example.com 25565
  • Verify firewall allows the port
  • Check Wings is binding to correct IP
If Wings reports port conflict:
  • Another server may be using the port
  • System service might be on that port
  • Contact administrator to reassign port
  • Check allocation limit on your server
  • Delete unused allocations
  • Request limit increase from admin
  • Verify node has available ports

Build docs developers (and LLMs) love