Desplegar servidores

Crea, lista, redimensiona y elimina servidores.

Crear

POST /v1/servers

json
{ "name": "lobby-smp", "eggId": 3, "instanceId": "0e8f...", // opcional — se elige automáticamente si se omite "region": "USA", // opcional — null = automático "ramMb": 2048, "cpuPercent": 200, "diskMb": 10240, "environment": { "MINECRAFT_VERSION": "1.21" }, // opcional "dockerImage": "ghcr.io/..." // opcional }

Cloud API valida la especificación, comprueba que tengas al menos ~24h de crédito de margen, ejecuta el motor de stock para elegir un nodo, aprovisiona el servidor y lo registra. La respuesta es el servidor creado:

json
{ "id": "f3c1...", "identifier": "a1b2c3d4", "name": "lobby-smp", "region": "USA", "resources": { "ramMb": 2048, "cpuPercent": 200, "diskMb": 10240 }, "priceCentsPerHour": 4, "status": "active", "createdAt": "2026-06-13T12:00:00Z" }

Listar y obtener

bash
GET /v1/servers # tus servidores GET /v1/servers/:id # un servidor (+ estado del panel en vivo)

Redimensionar

PATCH /v1/servers/:id actualiza los límites de recursos y recalcula el precio por hora. El cambio se aplica al panel de inmediato.

ts
await cloud.servers.resize(id, { ramMb: 4096, cpuPercent: 400, diskMb: 20480 });

Eliminar

DELETE /v1/servers/:id elimina el servidor del panel y lo marca como eliminado. La facturación por hora se detiene en el siguiente ciclo.

Variables de entorno

Cada egg declara sus propias variables. Obtenlas antes de desplegar para suministrar valores no predeterminados:

ts
const egg = await cloud.egg(instanceId, eggId); egg.variables.forEach(v => console.log(v.env, v.default, v.editable));

Cualquier variable omitida vuelve al valor predeterminado del egg.

Deploying servers | Enzonic Cloud API