Create the network's Velocity proxy
const url = 'https://example.com/api/v1/network/proxy';const options = { method: 'POST', headers: { cookie: '__Host-shardkeep_session=<__Host-shardkeep_session>', 'Content-Type': 'application/json' }, body: '{"nodeId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","version":"example","resources":{"cpuMillis":1,"memoryBytes":1}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/network/proxy \ --header 'Content-Type: application/json' \ --cookie __Host-shardkeep_session=<__Host-shardkeep_session> \ --data '{ "nodeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "version": "example", "resources": { "cpuMillis": 1, "memoryBytes": 1 } }'Global administrators only. The proxy is a server of kind VELOCITY_PROXY, placed like any server (on nodeId
when given) and published on the network’s port. Shardkeep writes its whole configuration. One per network
(proxy_exists).
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
The Node to run it on; omit to let placement choose.
A Velocity version; the newest when omitted.
A reservation, held even while the server is idle.
object
CPU in thousandths of a core.
Examplegenerated
{ "nodeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "version": "example", "resources": { "cpuMillis": 1, "memoryBytes": 1 }}Responses
Section titled “Responses”The proxy, being provisioned.
object
VELOCITY_PROXY is the network’s proxy, created with POST /network/proxy.
A network member, which players reach through the proxy (Paper, Purpur and Folia only).
Increases with every change to the desired spec.
The workflow the Controller is running.
What the server runs. A Shardkeep template, never a container image.
object
A reservation, held even while the server is idle.
object
CPU in thousandths of a core.
object
object
Zero disables automatic restarts.
Observed state, written only from Agent reports.
object
Absent until the Agent first reports.
object
CPU in thousandths of a core.
Why observed state differs from desired state, or why a Node is under pressure.
object
Machine-readable cause, such as DISK_PRESSURE. New reasons may appear; treat unknown ones as unrecognised conditions.
How observed state relates to desired state. UNKNOWN while the Node is unreachable.
Example
{ "kind": "MINECRAFT_SERVER", "desiredState": "RUNNING", "phase": "PROVISIONING", "software": { "template": "paper", "version": "1.21.4" }, "ports": [ { "name": "game", "protocol": "TCP" } ], "status": { "runtimeState": "STOPPED", "conditions": [ { "source": "AGENT" } ] }, "convergence": "CONVERGED"}The request is invalid.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Not signed in, or the credentials are invalid.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Signed in, but not allowed.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Not found, or not visible to you.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Clashes with existing data or state.
An RFC 9457 problem with a machine-readable code.
object
Stable machine-readable error code.
Example
{ "type": "about:blank", "title": "Conflict", "status": 409, "code": "conflict"}Shardkeep is free software under the AGPL-3.0. Minecraft is a trademark of Mojang AB; Shardkeep is not affiliated with or endorsed by Mojang or Microsoft.