> For the complete documentation index, see [llms.txt](https://docs.i3d.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.i3d.net/game-hosting/game-integration/game-server-run-status.md).

# Game server run status

Many game servers have an initialization process to go through when starting up. This has the effect that the game server will not actually be usable during this initialization period. Our platform should know about this, otherwise it will assume the game server is ready to accept clients immediately after starting. For this to be possible, your game server can let our back end know when it is ready to accept players. We refer to this as a "game server run-status update" and can be performed by having the game server make an API call either towards our public API, or locally on the host towards our Host Agent.

You do not have to worry about this if your game server start (nearly) instantly. We will by default set a game server's run-status to "RUNNING" after starting it.

Please refer to the [ApplicationInstance status](/game-hosting/elements/application/applicationinstance.md#application-instance-status) chapter for more information about all possible status values.

## Public API example

The following example illustrates how to change the run-status of a game server via the public API.

{% hint style="info" %}
If you let your game server do this call, remember that it will need to be given an API key from your i3D.net account. You can pass an API key through the [startup parameters of an ApplicationBuild](/game-hosting/elements/application/applicationbuild.md#element-structure).
{% endhint %}

#### HTTP request

[`PUT /applicationInstance/{applicationInstanceId}/status/{status}`](/api/api_one.md#v3-applicationinstance-status)

#### Request body

\<NOT NEEDED>

#### Response body

```
[
  {
    "id": "string",
    "fleetId": "string",
    "hostId": 0,
    "isVirtual": 0,
    "applicationId": "string",
    "applicationType": 0,
    "applicationBuildId": "string",
    "installId": 0,
    "dcLocationId": 0,
    "regionId": "string",
    "status": 0,
    "createdAt": 0,
    "startedAt": 0,
    "stoppedAt": 0,
    "pid": 0,
    "pidChangedAt": 0,
    "properties": [
      {
        "id": "string",
        "propertyType": 0,
        "propertyKey": "string",
        "propertyValue": "string"
      }
    ],
    "ipAddress": [
      {
        "ipAddress": "string",
        "ipVersion": 0,
        "private": 0
      }
    ],
    "labelReadOnly": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "labelPublic": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "metadata": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "updatedAt": 0,
    "numPlayersMax": 0,
    "numPlayers": 0,
    "liveHostName": "string",
    "liveMap": "string",
    "liveGameVersion": "string",
    "liveRules": "string",
    "manuallyDeployed": 0
  }
]
```

## Local Host Agent API example

TBD


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.i3d.net/game-hosting/game-integration/game-server-run-status.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
