Agones + Quilkin: Kubernetes Game Server Orchestration and UDP Service Mesh


Authors:   Mark Mandel


The presentation discusses the implementation of UDP proxies in the gaming industry and the potential for open source standard tooling for this kind of work.
  • UDP proxies can make game servers harder to take down and provide more redundancy
  • Open source standard tooling can be established for this kind of work
  • The iguana's XDS provider can manipulate all the rest of the proxies
  • Active communities exist for game servers, game server orchestration, and extending Kubernetes in weird and wonderful ways
The presenter mentions the potential for honey pots and proxies to redirect bad traffic, showcasing the flexibility of the implementation.


Dedicated game servers for multiplayer games tend to be built as one monolith, and exposed at an address for clients to connect to. This has the issues of being a single point of failure, an easy target for attack, and the game server having to handle all the aspects of game communication, including authentication, security, telemetry and more. Communication proxies are a pattern for alleviating some of these issues, by pulling aspects of security, authentication and telemetry and turning them into commodity services that can be run independently of the applications that run behind them. Previously we’ve looked at Agones, a platform for orchestrating game servers on Kubernetes, but in this talk we’ll introduce Quilkin, an open source proxy specifically built by Embark Studios and Google Cloud to work with multiplayer communications, to provide solutions for the problems outlined above as well as managing the non-standard nature of these UDP communications. We’ll also look at how we implemented an xDS compliant API for Quilkin, and simplified the integration between Agones and Quilkin so that end users don’t have to implement their own xDS management server, resulting in a service mesh for UDP communication for multiplayer games that can scale with its game server workload.


Post a comment