After being approached by Cloudflare sales representatives early last year, and migrating to Cloudflare last month, I was optimistic of the potential performance improvements promised by the Argo & Spectrum services. Unfortunately, due to a number of un-intuitive caveats, I discovered that these features cannot be used to improve network performance for non-Minecraft game traffic without an Enterprise agreement. I’d like to provide a list of ‘lessons learned’ from the Argo & Spectrum services in the hopes that it is of interest to Cloudflare project managers (to improve their feature roadmap) and/or other small service providers such as myself (so they may avoid similar pitfalls).
Before I continue, I will summarize the service offerings from the perspective of an outside small service provider.
Argo - this service provides dynamic routing for web based traffic (ports 80, 8080, 443, 8443, …). Non web traffic is dropped at the Cloudflare proxy ingress. Consequently Argo, in isolation, cannot be used to improve game traffic latency.
Spectrum - this service expands Argo routing to different protocols and ports.
If you’re interested in routing game traffic (e.g. Minecraft, Ragnarok Online, Everquest, Phantasy Star Online, etc.), you will need both Argo (to provide the route) and Spectrum (to facilitate your protocol and port requirements). On the Pro and Business plan(s), Cloudflare only supports one port protocol and port (TCP 25565 aka Minecraft) for one sub domain. This is in contrast with the Enterprise plan, which (to my knowledge) supports all TCP/UDP ports and has no sub domains limit.
The service I was interested in hosting uses many different ports and I was intending to circumvent this using multiple sub domains and a port mapping to maintain a constant external port. e.g.
- game1.mydomain:25565 --> mydomain:4900
- game2.mydomain:25565 --> mydomain:6900
- game3.mydomain:25565 --> mydomain:10001
This functionality was showcased in the Spectrum blog article demo video (https://blog.cloudflare.com/spectrum/), however I discovered that the the port map feature is also only available on the Enterprise plan and the Pro GUI is quite different (see below). With one sub domain and one port, multi port applications will not be able to leverage Argo/Spectrum without an Enterprise agreement.
Within the aforementioned blog article, it was mentioned that Spectrum may be made available at lower tiers with the purchase of the IPv4 IP - which would be a wonderful inclusion. However, as it is now, this feature is not economically feasible for me.