# Common Integration Patterns

> Common patterns and integrations of external systems, such as matchmakers, with `GameServer` starting, allocating  and shutdown.

---

LLMS index: [llms.txt](/site/llms.txt)

---

<div class="alert alert-info" role="alert"><div class="h4 alert-heading" role="heading">Note</div>


These examples will use the `GameServerAllocation` resource for convenience, but these same patterns can be applied 
when using the [Allocation Service](/site/docs/advanced/allocator-service/) instead.
</div>

---

Section pages:

- [Matchmaker requests a GameServer from a Fleet](/site/docs/integration-patterns/allocation-from-fleet/): This is the preferred workflow for a GameServer, in which an external matchmaker requests an allocation from one or  more `Fleets` using a `GameServerAllocation`.
- [Matchmaker requires game server process registration](/site/docs/integration-patterns/matchmaker-registration/): A scenario in which a Matchmaker requires a game server process to register themselves with the matchmaker, and the matchmaker decides which `GameServer` players are sent to.
- [Canary Testing a new Fleet](/site/docs/integration-patterns/canary-testing/): Run a small Fleet for the new version of your `GameServer` to ensure it works correctly, before rolling it out to all your players.
- [Reusing Allocated GameServers for more than one game session](/site/docs/integration-patterns/reusing-gameservers/): After a `GameServer` has completed a player session, return it back to the pool of Ready `GameServers` for reuse.
- [High Density GameServers](/site/docs/integration-patterns/high-density-gameservers/): How to run multiple concurrent game sessions in a single GameServer process.
- [Allocating based on GameServer Player Capacity](/site/docs/integration-patterns/player-capacity/): Find a `GameServer` that has room for a specific number of players.
