# Documentation - PlayFlow Cloud ## Docs - [PlayFlow Documentation](https://docs.playflowcloud.com/index.md): Deploy, manage, and scale multiplayer game servers globally with PlayFlow. - [Introduction](https://docs.playflowcloud.com/introduction.md): The easiest way to host and scale dedicated servers for your multiplayer game. Any engine, any networking library. - [Quick Start - Any Game Engine](https://docs.playflowcloud.com/quickstart/index.md): Choose your networking framework and deploy your first game server on PlayFlow Cloud - [Quick Start - Mirror](https://docs.playflowcloud.com/quickstart/mirror.md): Step-by-step tutorial for getting up and running with Mirror on PlayFlow Cloud - [Quick Start - Mirror WebGL](https://docs.playflowcloud.com/quickstart/mirror-webgl.md): Simple tutorial showing how easy PlayFlow makes it to host a server for your Mirror WebGL game - [Quick Start - Fish-Net](https://docs.playflowcloud.com/quickstart/fishnet.md): Step-by-step tutorial for getting up and running with PlayFlow Cloud - [Quick Start - Fish-Net WebGL](https://docs.playflowcloud.com/quickstart/fishnet-webgl.md): Simple tutorial showing how easy PlayFlow makes it to host a server for your WebGL game - [Quick Start - Godot](https://docs.playflowcloud.com/quickstart/godot.md): Step-by-step tutorial for getting up and running with Godot on PlayFlow Cloud - [Quick Start - Unity Netcode](https://docs.playflowcloud.com/quickstart/netcode.md): Deploy your Unity Netcode for GameObjects server on PlayFlow Cloud - [Installation Guide](https://docs.playflowcloud.com/guides/installation.md): How to install the PlayFlow Unity SDK. - [Overview](https://docs.playflowcloud.com/unity/overview.md): Understand the fundamentals of dedicated game servers and how PlayFlow simplifies hosting and management. - [Server Lifecycle](https://docs.playflowcloud.com/unity/game-servers.md): Understand how your dedicated server works on PlayFlow, from configuration to automatic shutdown. - [Programmatic Access](https://docs.playflowcloud.com/unity/programmatic-access.md): Learn how to start, stop, and manage your game servers programmatically using the PlayFlow API. - [Server Regions](https://docs.playflowcloud.com/fundamentals/regions.md): Deploy your game servers across the globe to ensure the lowest latency for your players. - [REST API Reference](https://docs.playflowcloud.com/fundamentals/api.md): Authenticate, manage game servers, upload builds, and configure projects using the PlayFlow Cloud REST API. - [Lobbies & Matchmaking Overview](https://docs.playflowcloud.com/lobbies/overview.md): Understand how PlayFlow lobbies and matchmaking work, and how to pick the right pattern for your game. - [Lobbies Quickstart](https://docs.playflowcloud.com/lobbies/quickstart.md): Go from zero to a working multiplayer lobby in 5 minutes using nothing but curl. - [Lobby Lifecycle](https://docs.playflowcloud.com/lobbies/lifecycle.md): The complete lifecycle of a PlayFlow lobby — from creation to cleanup. Creating, joining, leaving, host actions, and every edge case. - [Matchmaking](https://docs.playflowcloud.com/lobbies/matchmaking.md): Skill-based matchmaking, asymmetric teams, auto-expanding MMR buckets, queue stats, and region selection — all through one endpoint. - [Backfill](https://docs.playflowcloud.com/lobbies/backfill.md): Route newly-queued players into a running match with open slots instead of always launching a new server — engine-managed, with an authoritative roster your game server polls to admit players. - [Real-time Events](https://docs.playflowcloud.com/lobbies/real-time.md): Subscribe to live lobby updates with Server-Sent Events (SSE). Stop polling. Get instant notifications when players join, matches form, servers launch. - [A Beginner's Guide to Multiplayer Lobbies](https://docs.playflowcloud.com/unity/lobby-overview.md): Learn how to create, manage, and find game lobbies for any engine. - [Lobby Quick Start](https://docs.playflowcloud.com/unity/lobbies.md): A practical guide to creating and managing game lobbies with code examples. - [Lobby Hello World Example](https://docs.playflowcloud.com/unity/lobby-hello-world.md): A guide to using the LobbyHelloWorld.cs example script to quickly test the PlayFlow Lobby SDK. - [Matchmaking Guide](https://docs.playflowcloud.com/unity/matchmaking.md): Integrate traditional and role-based matchmaking with the lobby system. - [Lobby Events](https://docs.playflowcloud.com/unity/lobby-events.md): React to lobby and player state changes by subscribing to events from the PlayFlowLobbyManagerV2. - [Lobby Manager API Reference](https://docs.playflowcloud.com/unity/lobby-manager-api.md): A detailed API reference for the PlayFlowLobbyManagerV2 class in the Unity SDK. - [Docker Image Builds](https://docs.playflowcloud.com/guides/docker-builds.md): Deploy game servers from your own Docker images. - [Quick Start - Godot Multiplayer](https://docs.playflowcloud.com/guides/godot-first-multiplayer-game.md): Step-by-step tutorial for creating your first multiplayer game in Godot with PlayFlow Cloud - [Unity Modules Setup](https://docs.playflowcloud.com/guides/unity-modules.md): Install the required Unity modules to build dedicated servers for PlayFlow. - [WebGL Deployments](https://docs.playflowcloud.com/guides/webgl-deployments.md): Learn how to configure your servers to accept connections from WebGL clients. - [PlayFab Bridge](https://docs.playflowcloud.com/guides/playfab-bridge.md): Keep PlayFab for matchmaking and identity while hosting your dedicated game servers on PlayFlow. - [EOS Lobby Integration](https://docs.playflowcloud.com/guides/eos-lobby-integration.md): Use Epic Online Services (EOS) lobbies for grouping and identity, and launch the match server on PlayFlow when the lobby owner starts the game. - [Deploy from Unity Matchmaker](https://docs.playflowcloud.com/guides/ugs-matchmaker.md): Keep your Unity Game Services (UGS) Matchmaker and deploy the match servers to PlayFlow via a custom allocator. - [What's New in PlayFlow 2](https://docs.playflowcloud.com/guides/whats-new-playflow-2.md): Discover the powerful new features and improvements in PlayFlow 2 that make multiplayer game development easier than ever. - [Migration Guide](https://docs.playflowcloud.com/guides/migration-guide.md): Migrate your existing game servers from PlayFlow 1.0 to PlayFlow Cloud. - [Pricing & Plan Types](https://docs.playflowcloud.com/fundamentals/plan-instance-types.md): Explore PlayFlow Cloud's flexible and transparent pricing for game server instances. - [API Introduction](https://docs.playflowcloud.com/api-reference/introduction.md): Authenticate, explore endpoints, and download the OpenAPI spec for the PlayFlow REST API. - [Get the authoritative match roster](https://docs.playflowcloud.com/api-reference/servers/get-the-authoritative-match-roster.md): Returns the authoritative roster of players admitted to the match backing this server. Game servers call this (with their server API key and their own `INSTANCE_ID`) to know exactly which players to admit — this is the source of truth for admission and fixes reconnect / "denied by proxy" edge cases. - [Override backfill state (server-authoritative)](https://docs.playflowcloud.com/api-reference/servers/override-backfill-state-server-authoritative.md): Lets an advanced game server take control of its match's backfill. Set `accepting` to open or close backfill joiners, and optionally replace the `skillBand` that gates joiners. - [Close backfill (server-authoritative)](https://docs.playflowcloud.com/api-reference/servers/close-backfill-server-authoritative.md): Closes backfill for the match backing this server — no further joiners are admitted. Convenience shorthand for `PATCH /{instance_id}/backfill` with `accepting: false`. - [List servers](https://docs.playflowcloud.com/api-reference/servers/list-servers.md): Returns a paginated list of game servers for your project. By default, only servers in `running` status are returned. Use `include_launching=true` to also see servers that are still starting up, or `include_pool=true` to include pre-provisioned pool machines. - [Start a new server](https://docs.playflowcloud.com/api-reference/servers/start-a-new-server.md): Creates and launches a new game server instance. The server starts in `launching` status and transitions to `running` when the game process opens its configured ports (typically 10–30 seconds, or ~5 seconds if a pool server is available). - [Get server details](https://docs.playflowcloud.com/api-reference/servers/get-server-details.md): Returns the full details of a specific server instance, including its current status, network ports, configuration, and metadata. Use this to poll for status changes (e.g., wait for `launching` → `running`) or to get connection info for game clients. - [Stop a server](https://docs.playflowcloud.com/api-reference/servers/stop-a-server.md): Stops a running server. The status is updated to `stopped` immediately, and infrastructure cleanup happens in the background. - [Update server custom_data](https://docs.playflowcloud.com/api-reference/servers/update-server-custom_data.md): Updates the `custom_data` field on a running server. Use this to store match state, player counts, map info, or any metadata that your game server or matchmaking system needs to expose via the API. The data is immediately visible in list and get responses. - [Restart a server](https://docs.playflowcloud.com/api-reference/servers/restart-a-server.md): Restarts a server with a fresh instance. The old machine is replaced and new network ports are allocated. You can optionally change the build version, compute size, TTL, startup args, and other settings during restart. - [Get server runtime logs](https://docs.playflowcloud.com/api-reference/servers/get-server-runtime-logs.md): Retrieves runtime logs (stdout/stderr) from a game server, including timestamps, log levels, and region info. - [Get server resource metrics](https://docs.playflowcloud.com/api-reference/servers/get-server-resource-metrics.md): Returns CPU, memory, network, load, and connection metrics for a running server over a configurable time window. Each metric is a time series of `{t, v}` data points where `t` is a Unix timestamp and `v` is the metric value. - [Get server log-volume histogram](https://docs.playflowcloud.com/api-reference/servers/get-server-log-volume-histogram.md): Returns a stacked info/warn/error log-volume time-series for a single server over the same window as the logs. Use it to correlate a spike in error volume with a freeze: overlay these buckets on the CPU/memory/network charts on a shared time axis. - [Get project-wide log-volume histogram](https://docs.playflowcloud.com/api-reference/projects/get-project-wide-log-volume-histogram.md): Returns a stacked info/warn/error log-volume time-series across ALL servers in the project over the same window as the project logs. Overlay it on fleet resource charts to spot which time bucket a freeze/error spike falls in. - [Get project-wide server logs](https://docs.playflowcloud.com/api-reference/projects/get-project-wide-server-logs.md): Retrieves aggregated runtime logs from all servers in the project. Each log entry includes the server name, making it easy to filter and search across your entire fleet. - [Get project settings](https://docs.playflowcloud.com/api-reference/projects/get-project-settings.md): Returns the complete project configuration including network ports, player authentication, default environment variables, server pool settings, and lobby/matchmaking rules. - [Update project settings](https://docs.playflowcloud.com/api-reference/projects/update-project-settings.md): Updates project-level configuration. All fields are optional — only include what you want to change. Omitted fields remain unchanged. **Requires a server key (pf_...); client keys (pfclient_*) are rejected with 403.** - [List builds](https://docs.playflowcloud.com/api-reference/builds/list-builds.md): Returns a paginated list of builds for your project, sorted by creation date (newest first). Soft-deleted builds are excluded. Use the `name` filter to list versions of a specific build name. - [Get presigned upload URL](https://docs.playflowcloud.com/api-reference/builds/get-presigned-upload-url.md): Generates a presigned upload URL for uploading your game server as a ZIP file. Upload flow: - [Create build from Docker image](https://docs.playflowcloud.com/api-reference/builds/create-build-from-docker-image.md): Creates a build from an existing Docker image instead of uploading a ZIP. PlayFlow pulls the image and makes it available for deployment. - [Get build details](https://docs.playflowcloud.com/api-reference/builds/get-build-details.md): Returns the full details of a specific build including its status, version, and type. Use this to poll for status changes during processing (`uploading` → `processing` → `ready` or `failed`). - [Delete a build](https://docs.playflowcloud.com/api-reference/builds/delete-a-build.md): Soft-deletes a build and cleans up its stored artifacts. The build status is set to `deleted` and it will no longer appear in list responses or be usable for starting new servers. **Requires a server key (pf_...); client keys (pfclient_*) are rejected with 403.** - [Get build processing logs](https://docs.playflowcloud.com/api-reference/builds/get-build-processing-logs.md): Returns paginated build processing logs in chronological order. Each log entry includes a phase (e.g., download, extract, compress, upload), a message, and a severity level. - [Browse lobbies](https://docs.playflowcloud.com/api-reference/lobbies/browse-lobbies.md): Returns a paginated list of public lobbies for the given config. Private (invite-only) lobbies are excluded. - [Create a lobby](https://docs.playflowcloud.com/api-reference/lobbies/create-a-lobby.md): Creates a new lobby and makes the caller the host. The caller is identified by the `x-player-id` header. - [Join a lobby](https://docs.playflowcloud.com/api-reference/lobbies/join-a-lobby.md): Joins an existing lobby by its ID or invite code. The caller is identified by `x-player-id`. - [Get my lobby](https://docs.playflowcloud.com/api-reference/lobbies/get-my-lobby.md): Returns the full state of the lobby the caller is currently in. The caller is identified by `x-player-id`. - [Leave a lobby](https://docs.playflowcloud.com/api-reference/lobbies/leave-a-lobby.md): Removes the caller from their current lobby. If the caller is the host, host duty is transferred to the next player. If the caller is the last player, the lobby is deleted. - [Update my player state](https://docs.playflowcloud.com/api-reference/lobbies/update-my-player-state.md): Updates the caller's player state within the lobby. State is merged with existing state (existing keys are preserved unless explicitly overwritten). - [Update lobby settings](https://docs.playflowcloud.com/api-reference/lobbies/update-lobby-settings.md): **Host only.** Updates the lobby's shared settings (name, max players, region, game settings, etc.). - [Kick a player](https://docs.playflowcloud.com/api-reference/lobbies/kick-a-player.md): **Host only.** Removes a player from the lobby by their player ID. - [Start the game](https://docs.playflowcloud.com/api-reference/lobbies/start-the-game.md): **Host only.** Starts the game for the lobby. This triggers a three-step process: - [Start matchmaking](https://docs.playflowcloud.com/api-reference/lobbies/start-matchmaking.md): **Host only.** Enters the lobby into the matchmaking queue for the specified mode. - [Cancel matchmaking](https://docs.playflowcloud.com/api-reference/lobbies/cancel-matchmaking.md): **Host only.** Removes the lobby from the matchmaking queue and returns to `waiting` status. - [End the current match](https://docs.playflowcloud.com/api-reference/lobbies/end-the-current-match.md): **Host only.** Ends the current in-game match and returns the lobby to `waiting` status so the same players can start another round (or queue again). - [Confirm a found match](https://docs.playflowcloud.com/api-reference/lobbies/confirm-a-found-match.md): Accepts a match while the lobby is in `match_found` state (CS2-style 'Accept Match' flow). - [Decline a found match](https://docs.playflowcloud.com/api-reference/lobbies/decline-a-found-match.md): Declines a match. **Cancels the match for every participating lobby** — all of them return to `waiting`. Players explicitly re-queue when ready. - [Send a player heartbeat](https://docs.playflowcloud.com/api-reference/lobbies/send-a-player-heartbeat.md): Updates the caller's `lastHeartbeat` timestamp. Only needed if the lobby config has `heartbeat: true` enabled — in that case, players whose heartbeat is older than `heartbeatTimeout` seconds are evicted by the `lobby-sweep` cron. - [Subscribe to lobby events (SSE)](https://docs.playflowcloud.com/api-reference/lobbies/subscribe-to-lobby-events-sse.md): Opens a Server-Sent Events (SSE) stream for real-time lobby updates. The caller is identified by `x-player-id`. - [Get lobby by ID](https://docs.playflowcloud.com/api-reference/lobbies/get-lobby-by-id.md): Returns the full state of a specific lobby by its ID. No `x-player-id` required. **Requires a server key (pf_...); client keys (pfclient_*) are rejected with 403.** - [Delete a lobby by ID (admin)](https://docs.playflowcloud.com/api-reference/lobbies/delete-a-lobby-by-id-admin.md): Force-deletes a lobby by ID. Removes all players and cancels any active matchmaking. Unlike `DELETE /{config}/me` (which makes the caller leave), this bypasses ownership checks — use from server-side admin tools only. **Requires a server key (pf_...); client keys (pfclient_*) are rejected with 403.*… - [CLAUDE](https://docs.playflowcloud.com/CLAUDE.md) - [Player Authentication](https://docs.playflowcloud.com/guides/player-authentication.md): Configure player identity verification for lobbies and matchmaking. - [Pool Servers](https://docs.playflowcloud.com/guides/pool-servers.md): Pre-warmed game servers to reduce launch latency (upcoming feature). - [Unity SDK Overview](https://docs.playflowcloud.com/unity/index.md): Integrate PlayFlow multiplayer services directly into your Unity projects with our native SDK. ## OpenAPI Specs - [doc](https://api.computeflow.cloud/api/doc) ## Optional - [Community](https://discord.gg/P5w45Vx5Q8) - [Blog](https://playflowcloud.com/)