Accelerating Game Performance With source-proxy
When faced with the challenge to improve the gaming community, the Path team set out with one goal in mind: optimizing the performance of the most popular game servers, namely, the ones powered with Valve's Source engine. The results? Reduced latency, more resilience against DDoS attacks, and happier players!
Overview
At the core of this operation, Path's global coverage and ever-increasing number of Points of Presence (PoPs) are leveraged in order to optimize routing through the use of Anycast. Essentially, each PoP advertises the same IP address, and the user's requests will be automatically routed to the nearest Path PoP. This greatly reduces latency, thus improving response times.
Residing at the edge of our PoPs is the Valve Source Server query proxy (source-proxy), a high-performance application which can respond to queries on behalf of the server. In turn, a lot of load can be taken off of the server, and these queries can be replied to more quickly.
How does it work?
Path's Valve Source Server query proxy is the result of a lot of research and development by our team. When our clients reached out to us in search of ways to improve their Rust game servers, we quickly worked out a solution and deployed it to our network. As traffic arrives to Path's network, an eBPF program is used to accurately identify and redirect Valve Source packets. These packets get rerouted to the transparent proxy, which does additional sanity checks to make sure the data conforms to the standards of a Valve Source packet.
Depending on the type of query sent by the client, our Valve Source Server query proxy can directly respond to the client. In other cases, it caches replies sent from the server and uses them to reply at the edge, periodically updating these entries. Even by caching a server response for just a few seconds, this can greatly benefit the host during peak usage, whether this be legitimate traffic or a DDoS attack.
While the main focus involves helping Rust servers get their name out there better through taking advantage of how the servers are sorted by latency, among the many other benefits to this solution, source-proxy can be used on any game that uses Valve Source engine.
Empowering the gaming community
The gaming community is very distinct in that the sole purpose for the most part is to relax, have fun, and enjoy video games. These games can be used as an escape from reality where players have a chance to forget about real-world issues. Neither players nor server administrators should have to worry about being the target of DDoS attacks and other mechanisms that attackers use in order to disrupt the gaming experience of individuals.
The problem is that competing DDoS mitigation solutions, such as Cloudflare and other comapnies, will cost you an arm and a leg just to stay online! As of the publication date of this blog, Cloudflare Spectrum charges Minecraft server owners $1/GB after the first 5 GB.. An average server could run up several thousands of dollars just in usage fees! On the other hand, products that share the same functionality as source-proxy may cost you more than your annual mortgage.
Currently, any client through Path is able to unlock the power of source-proxy for no additional cost. With the click of a button, we are able to deploy the Valve Source Server query proxy without breaking the bank, meaning you can simply sit back and relax as your game server benefits from an unlimited amount of DDoS protection.
Extending the focus
With the deployment of source-proxy, we realized that proxying Valve queries is not the only way we can address our clients that are part of the Rust community. Adding to our arsenal of application filters, Path's engineers are in the process of testing a filter for Rust. For Rust servers, this filter can either be used beside or in place of the Valve Source query proxy. Combining the two will offer the most comprehensive solution to more reliability, higher stability, and better performance. rust-filter makes sure that non-Rust traffic gets blocked before it reaches the destination server. As a result, an arbitrary number of DDoS attacks become completely ineffective. Stay tuned for updates on rust-filter!