Allocating based on GameServer Player Capacity
GameServer
that has room for a specific number of players.Warning
The Player Tracking and Allocation Player Filter features are currently Alpha, not enabled by default, and may change in the future.
Use the FeatureGates PlayerTracking
, and PlayerAllocationFilter
to enable and test these features.
See the Feature Gate documentation for details on how to enable features.
Using this approach, we are able to be able to make a request that is akin to: “Find me a GameServer
that is already
allocated, with room for n number of players, and if one is not available, allocate me a Ready
GameServer
”.
Common applications of this type of allocation are Lobby servers where players await matchmaking, or a persistent world server where players connect and disconnect from a large map.
Example GameServerAllocation
The below allocation will attempt to find an already Allocated GameServer
from the Fleet
“lobby” with room for 10
to 15 players, and if it cannot find one, will allocate a Ready one from the same Fleet
.
apiVersion: "allocation.agones.dev/v1"
kind: GameServerAllocation
spec:
selectors:
- matchLabels:
agones.dev/fleet: lobby
gameServerState: Allocated
players:
minAvailable: 10
maxAvailable: 15
- matchLabels:
agones.dev/fleet: lobby
Note
We recommend doing an extra check when players connect to aGameServer
that there is the expected player capacity
on the GameServer
as there can be a small delay between a player connecting and it being reported
to Code Blind.Next Steps
- Have a look at all commands the Client SDK provides.
- Check all the options available on
GameServerAllocation
. - If you aren’t familiar with the term Pod, this should provide a reference.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Last modified February 28, 2024: initial publish (7818be8)