Skip to main content

Agate Multiplayer Headless Server Standardization

Discussion Sources : Agones - Headless Standardization Discussion

Infrastructure Specifications

Fleet Name

  1. <namaproject>-<tipeheadless>-headless-fleet

    example : eizperchain-dungeon-headless-fleet

  2. <namaproject>-<tipeheadless>-headless-fleet-autoscaler

    example : eizperchain-dungeon-headless-fleet-autoscaler

Kubernetes Version : 1.22.12

Agones Version : 1.25.0

Additional Information

  1. agones will have specific namespace specific for it’s infrastructure within a cluster (not to change)
  2. it can’t utilize preemptible VM Instances as it should always be alive
  3. Headless and Server API should be placed in 1 project namespace
  4. standardized service account deployment

Headless Specification

Headless Image Name

  1. [gcr.io/](http://gcr.io/)<namaproject>/<environmentName>/<tipeheadless>-headless

    example : gcr.io/eizperchain/develop/dungeon-headless

Headless Versioning

  1. major.minor.hotfix.buildNumber (build number based on pipeline number)

    example : 0.3.1.5758

Executable Binary Placement within docker image /root/build/linuxBuild.x86_64

Additional Information

  1. Open Port need to be specified (dev / template base)
  2. Open Port Information are injected Through yaml configuration
  3. Open Port need to be configured on firewall as well (Devops)

Headless Required Information

  1. Processor Usage, and Memory Usage
    1. Idle case (no player)
    2. peak case (most player with everyone interacting)
  2. Open Network Port
  3. Ingress and Egress done within the headless
    1. Ingress = Player connected to it
    2. Egress = network request to external service
      1. request to game server
      2. request to photon relay server (if any)
    3. bisa pakai aplikasi sejenis wireshark (network traffic monitor / Network Protocol analyzer)
  4. time needed to startup the game / call agones ready state.