# Matchmaker requests a GameServer from a 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`.

---

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

---

![Allocated Lifecycle Sequence Diagram](../../../diagrams/gameserver-lifecycle.puml.png)

## Sample `GameServerAllocation`

Since Agones will automatically add the label `agones.dev/fleet` to a `GameServer` of a given `Fleet`, we can use that 
label selector to target a specific `Fleet` by name. In this instance, we are targeting the `Fleet` `xonotic`.

```yaml
apiVersion: "allocation.agones.dev/v1"
kind: GameServerAllocation
spec:
  selectors:
    - matchLabels:
        agones.dev/fleet: xonotic
```

## Next Steps:

- Read the various specification references.
  - Review the [GameServer](/site/docs/reference/gameserver/) spec.
  - Review the [Fleet](/site/docs/reference/fleet/) spec.
  - Review the [GameServerAllocation](/site/docs/reference/gameserverallocation/) spec.
- Review the specifics of [Health Checking](/site/docs/guides/health-checking/).
- See all the commands the [Client SDK](/site/docs/guides/client-sdks/) provides - we only show a few here!
- Check out the [Allocator Service](/site/docs/advanced/allocator-service/) as a richer alternative to `GameServerAllocation`.
- If you aren't familiar with the term [Pod](https://kubernetes.io/docs/concepts/workloads/pods/pod/), this should provide a reference.
