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
bashGET /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.
tsawait 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:
tsconst 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.