Bei Oracle gibt es umsonst** (**Man muss nur seine Kreditkartendaten hinterlegen) sogenannte „Cloud-Compute-Instanzen“. Neben ziemlich lahmen 1-Kern-AMD64 VMs gibt es auch relativ schnelle 4-Kern ARM (Ampere) Instanzen mit 24 GB RAM.
Was kann man damit machen? Zum Beispiel einen Quake 3 Dedicated Server betreiben. Oder gleich mehrere.
Auf meiner VM laufen aktuell 4 FFA-Server mit jeweils 31 Bots, die sich bis in alle Ewigkeit immer wieder in die ewigen Jagdgründe befördern:
Anleitung
Zunächst besorgt man sich Oracle Cloud Free Tier, startet eine Ampere (ARM)-Instanz und installiert Ubuntu Server drauf. Anleitungen gibt’s im Netz zuhauf.
Als nächstes muss man die Quake3-Executable für die ARM/AARCH64-Architektur kompilieren.
Das folgende Script benutzt dafür den source code von quake3e:
sudo apt update && sudo apt upgrade # Install dependencies sudo apt install libsdl2-dev make gcc libcurl4-openssl-dev mesa-common-dev sudo apt install libxxf86dga-dev libxrandr-dev libxxf86vm-dev libasound-dev cd mkdir q3 cd q3 mkdir baseq3 cd baseq3 # Download pk0 - pk8.pk3 from public website wget http://quake3.bomping.se/baseq3/pak0.pk3 --continue wget http://quake3.bomping.se/baseq3/pak1.pk3 --continue wget http://quake3.bomping.se/baseq3/pak2.pk3 --continue wget http://quake3.bomping.se/baseq3/pak3.pk3 --continue wget http://quake3.bomping.se/baseq3/pak4.pk3 --continue wget http://quake3.bomping.se/baseq3/pak5.pk3 --continue wget http://quake3.bomping.se/baseq3/pak6.pk3 --continue wget http://quake3.bomping.se/baseq3/pak7.pk3 --continue wget http://quake3.bomping.se/baseq3/pak8.pk3 --continue cd # get Quake3e source code and compile git clone https://github.com/ec-/Quake3e cd Quake3e make USE_RENDERER_DLOPEN=0 RENDERER_DEFAULT=vulkan make install DESTDIR=../q3 USE_RENDERER_DLOPEN=0 RENDERER_DEFAULT=vulkan
Nun muss man noch die Ports freischalten – Sowohl im Webinterface von Oracle Cloud als auch in der Firewall der Ubuntu-VM. Standardmäßig benutzt Quake 3 die Ports 27960 aufwärts, ich habe also 27960 – 27965 freigegeben – Diese Anleitung kann als Grundlage benutzt werden. Siehe Punkt 3 (create an ingress rule) sowie 4.8 (update firewall settings). Man muss die ports sowohl als TCP als auch als UPD freigeben.
Zuletzt startet man den Server – am besten mit einem Bash-Script, wie hier beschrieben.
Raspberry Pi 4 – Quake 3 mit Vulkan Renderer
Mit demselben Script erhält man auf einer Raspberry Pi4 übrigens einen Quake 3 Client mit Vulkan-Renderer! Dazu müssen noch die Vulkan-Treiber installiert werden:
sudo apt install mesa-vulkan-drivers
Quake 3 startet man dann wie folgt
q3/quake3e.arm +set r_ignorehwgamma 1
Die Console öffnet man mit SHIFT + ESC