Yesterday I saw this tweet of Chris Campbell passing by in my timeline:
Quake Live as you know it - the free, browser-based version of Quake - isn't going anywhere. But it is getting two layers of premium features, for anyone willing to pay an annual fee. Challenge ProMode Arena Challenge ProMode Arena (more commonly referred to as CPMA) is a modifiction for Quake 3 Arena that focused on competitive gameplay. Choose between a wide variety of game modes including Duel, Capture the Flag, Team Deathmatch, Clan Arena, Not Team Fortress and Freeze Tag. Check out the downloads page to get the latest. Snapchat from browser. Quake Zero was announced at QuakeCon on August 3, 2007 and was an updated version of Quake 3 Arena, distributed by free download, run in a browser window and supported by built-in advertising content. Quake Zero was launched as Quake Live, released in 2010. At least the engines and the shareware pak files are free, and this will allow anyone to play Quake, either multiplayer or single player. Once your Quake starts, you can play a multiplayer game at the following shareware compatible servers.
Friday afternoon team project running @quake on @kubernetesio turned into Saturday morning getting it running with @Linkerd . Thanks @CapitalOneTech for https://t.co/YP0jRynOi1pic.twitter.com/juxIEsuH7R
— Chris Campbell (@ChrsCmpbl) November 21, 2020Aah, the memories. Quake III Arena, one of my favourite first-person shooter games.
Years ago, I spent (and lost) so much time playing this fast-paced game with friends and foes, and now it is brought into the world of containers and Kubernetes with QuakeKube by Capital One Tech.
QuakeKube is a Kubernetes-ified version ofQuakeJSthat runs a dedicatedQuake 3server in a Kubernetes Deployment, and then allow clients to connect via QuakeJS in the browser.
What does the history feature in a web browser do. Of course, I couldn't wait to give it a try, especially after reading the documentation, saying:
Container images are being cross-compiled withDocker Buildxso it can run on hardware with different architectures and operating systems. Currently, it is building for linux/amd64
and linux/arm64
.
ARM64 support! Great, it means I can run it on one of my Raspberry Pis!
Let's get fragging!
Most of the work is already done by others, so with the proper tools and projects, it will take you only a few minutes to get everything up and running.
Prerequisites
- a Raspberry Pi with Ubuntu 20.04, which supports arm64
k3sup
, a light-weight utility to get from zero to KUBECONFIG with k3s on any local or remote VM.arkade
, a simple Golang CLI with strongly-typed flags to install charts and apps to your cluster in one command.kubectl
- a DigitalOcean account and an API Token
Installation
First, install k3s
on your Raspberry Pi running a arm64 OS like Ubuntu 20.04
After the installation of k3s on the Raspberry Pi, k3sup also downloads the required kubeconfig file in your current working directory.
Make sure to configure kubectl
to use this config file:
Next, install the inlets-operator with arkade
:
The inlets-operator will create an inlets exit-node on DigitalOcean, giving the LoadBalancer services in the private k3s cluster a public IP address.
As clients connect to the server via QuakeJS in the browser with websockets, the OSS version of inlets will do just fine. If you want to have better support for TLS etc, I can highly recommend having a look at inlets PRO version.
Finally, take the example yaml file from the QuakeKube GitHub repository and make the appropriate changes. The service should be updated to a LoadBalancer instead of type NodePort, and of course you can change the configuration to tweak the game preferences to your own needs.
Example of a QuakeKube yaml file:
Apply the yaml manifest to your k3s cluster:
Wait until all pods are running, and until the inlets-operator created the exit-node:
Google drive for windows 8 tablet. And that's it! Open up your favourite browser, load the application and start fraggin'!
Fun with @nosceon and @alistair_hey on my 'WAN party' over @inletsdevpic.twitter.com/nxhiAz0VIZ
See also:
Quake Live Browser
- Argo CD for your private Raspberry Pi k3s cluster
- Provision a Multi-Region k3s cluster on Google Cloud with Terraform
References:
Quake Arena Browser
See also:
Quake Live Browser
- Argo CD for your private Raspberry Pi k3s cluster
- Provision a Multi-Region k3s cluster on Google Cloud with Terraform
References:
Quake Arena Browser
Free Quake Arena
- https://github.com/criticalstack/quake-kube
- https://github.com/inlets/inlets-operator
- https://github.com/alexellis/k3sup
- https://github.com/alexellis/arkade