Introducing Quilkin: Open-source UDP Proxies Built For Game Server Communication
Greater reliability Proxies can be used as redundant points for communication entry. UDP packets can also be sent to proxies, and routed to the dedicated server. While a dedicated game servers will still be the point of failure in most cases, proxies provide redundancy and possible failover at this layer.
Greater security The IP address and port of the dedicated server are now private. Game clients may have access to a limited number of proxy pools, which limits the attack surface.
Greater scalability. We can now move elements of the communication protocol, metrics and access control to the proxy. This allows us to separate the single process. This removes the non-game specific computation out of your game server's processing loop.
As a result, the whole system is more resilient since proxies can be scaled independently. This is not only for performance reasons, but also to distribute loads in the event that malicious actors are involved.
Introducing Quilkin: The UDP proxy for Game Servers
Embark Studios and Google Cloud came together and built Quilkin, to provide a standard, open source solution. Embark Studios is a relatively new studio based out Stockholm. GAMING It is made up industry veterans. Their experience in large-scale multiplayer games made them the ideal partner for Quilkin.
Quilkin, an open-source, transparent UDP proxy, is specifically designed to be used with large-scale multiplayer dedicated server deployments. It ensures security, access control and metrics.
Quilkin is designed to be used behind game clients as well as in front of dedicated game servers, and offers the following major benefits:
Obfuscation. Non-transparent proxying UDP information makes the internal state of your game structure less visible to bad players.
Metrics that are out of the box. For UDP packet traffic and communication.
Visibility. A set of processing filters that can be used for routing, access control, rate limitation, and other purposes.
Flexibility. Flexibility.
Compatibility. Can be integrated with existing C/C++ code bases via Rust FFI, if required.
Onboarding. Multiple integration patterns, allowing you to choose the level of integration that makes sense for your architecture and existing platform.
These capabilities were previously only available to large studios that had the resources to develop their own technology.
We think leveling the playing field for everyone in the games industry is an important and worthy endeavor. This is why we teamed up with Google Cloud and started this project together.
Embark believes that open source is the future in the games industry. This is why we encourage cross-company collaboration so that all companies, regardless of their size, are able achieve the same technical capabilities. -Luna Duclos, Tech Lead, Embark Studios
Google Cloud is excited to announce Quilkin as the latest entry in our portfolio of open-source solutions for gaming. Quilkin complements our existing OSS solutions including Agones for game servers, Open Match for matchmaking, and Open Saves for persistence. These are all designed to work together as an integrated, open gaming ecosystem. We are proud to include Embark Studios, Ubisoft, Unity and 2K Games as our latest open-source collaborators for gaming. Google Cloud will continue working closely with industry and community partners to provide planet-scale solutions to power some of the most popular games in the world. -Rob Martin (Chief Architect, Google Cloud Games)
Quilkin: How to get started
Quilkin can be used in more advanced deployments, such as the ones described above. However, Quilkin is easiest to use as a sidecar to an existing dedicated server. This may initially limit some of the benefits, but it's an easy path to getting metrics and telemetry data about your UDP communication, with a very low barrier to entry and the ability to expand over time.