Artikel

Gaming on Linux – Die Zukunft von Riot Games

Vor etwas mehr als zwei Monaten kam der Post „\dev\null: Anti-Cheat Kernel Driver“ online. Dies führt jedoch nicht nur zu Fortschritten gegenüber Cheatern, sondern wirft auch zwei Probleme auf:

  • Die mögliche Überwachung und
  • die Unspielbarkeit auf Systemen außer normalem Windows.

Übersicht

  • League of Legends (und andere Titel von Riot Games) hat – wie jedes andere Onlinespiel auch – Cheater.
  • Das aktuelle Anti-Cheat-System benötigt APIs2 des Betriebssystems, um Cheats erkennen zu können.
  • Die Cheatentwickler können jedoch diese APIs so modifizieren, dass die Ergebnisse der API legitim aussehen, obwohl ein Cheat vorhanden ist.
  • Um dies zu umgehen, plant Riot Games nun die Einführung eines Anti-Cheat-Systems, welches nicht auf jene APIs angewiesen und somit schwerer auszutricksen ist.

Das Problem

Cheater gibt es in jedem Online-Spiel.

Cheater gibt es in jedem Online-Spiel. Die meisten haben ihre Tools aber nicht selbst geschrieben, sondern laden die von anderen aus dem Internet runter. Von Aimbots und Hyperflick über Map- /Wallhacks bis zu Fly und Killaura gibt es alles, was das Herz begehrt.
Leider tragen Cheater nur seltenst zu der Spielerfahrung bei. Deswegen versuchen viele Entwickler, ihr Spiel davor zu schützen.

Der Ansatz

Eine kurze Zusammenfassung des Artikels. Wer ihn gelesen hat kann den Abschnitt gerne skippen.

  • Jedes Betriebssystem hat verschiedene Berechtigungslevel. Level 0 ist der Kernel, der alle Rechte hat. Level 1 und 2 sind Anwendungen und Level 3 ist der „user-mode“.
  • Level 0 hat Zugriff auf alles
  • in Programm auf Level 3 kann nur seinen eigenen Prozess sehen. Um Speicher außerhalb lesen/schreiben zu können, benötigt es APIs des Betriebssystems.

Das Anti-Cheat Programm von League of Legends läuft zur Zeit auf Level 3, d.h. es benötigt APIs, um Cheats zu finden. Cheat-Entwickler können diese APIs aber genauso modifizieren, sodass die Ergebnisse legitim erscheinen und LoL den Cheat nicht/nur schwer entdecken kann. Wird das Anti-Cheat Programm jedoch auf Kernel-Level ausgeführt, benötigt es die Hilfe von APIs nicht mehr und kann somit deutlich effizienter Cheats entdecken.

Deswegen werden einige von Riot Games’ zukünftigen Titeln von einem Kernel-Treiber geschützt.
Vom Prinzip her ist die Idee gut. Durch einen Kernel-Treiber können deutlich mehr Cheats erkannt werden, als dies aktuell möglich ist. Aber…

Was Riot Games machen kann

Natürlich sagt niemand, dass Riot Games das machen wird. Aber sie könnten, und das ohne zu fragen

„Ein Kernel [. . . ] ist der zentrale Bestandteil des Betriebssystems. In ihm ist die Prozess- und Datenorganisation festgelegt, auf der alle weiteren Softwarebestandteile des Betriebssystems aufbauen. Er bildet die unterste Softwareschicht des Systems und hat direkten Zugriff auf die Hardware.“ ∼Wikipedia
Umgangssprachlich: Ein Kernel-Treiber gibt dem Entwickler Zugriff auf so ziemlich alles.

Beispiele gefällig?

  • Riot Games kann:
  • das CD-Laufwerk öffnen.
  • einen USB-Stick auswerfen.
  • Programme installieren.
  • die Webcam einschalten.
  • die Festplatte formatieren.
  • alle Daten kopieren.

Natürlich sagt niemand, dass Riot Games das machen wird. Aber sie könnten, und das ohne zu fragen.

Riot Games auf Linux

Ob auch League of Legends betroffen sein wird, kann ich nicht mit Sicherheit sagen.

Das zweite Problem, welches entsteht, ist, dass alle betroffenen Spiele nicht auf Linux laufen können werden (zumindest nicht, solange Wine das Mittel der Wahl ist).
Das Problem ist, dass Wine kein vollwertiges Windows ist, sondern vielmehr vorgibt, ein Windows OS zu sein. Ein Kernel-Treiber, der die Systemintegrität überprüft, ist grundsätzlich unkompatibel mit Wine.
Das zeigt sich auch an den anderen Programmen. Riot Games sind nämlich nicht die ersten damit, sondern nennen auch andere Anti-Cheat Tools wie Battleye, EasyAntiCheat (EAC) und Xigncode3.

Sucht man sich nun die betroffenen Spiele raus, findet man auch vollwertige AAA-Titel. Schaut man nun im Internet, ob diese Spiele auch auf Linux laufen, findet man u.a. diese

Ergebnisse:

  • Apex Legends – Unspielbar
  • ARK: Survival Evolved – Native
  • Arma 2 – Nur BattlEye-freie Server
  • Arma 3 – Native
  • Conan Exiles – Nur BattlEye-freie Server
  • DayZ – Unspielbar
  • Dead by Daylight – Unspielbar
  • For Honor – Unspielbar
  • Fortnite Battle Royale – Unspielbar
  • Gears 5 – Unspielbar
  • Hunt: Showdown – Unspielbar
  • Insurgency Sandstorm – Nur EAC-freie Server
  • Paladins – Kein Online-Spiel möglich
  • Rust – Nur EAC-freie Server
  • Tom Clancy’s GhostRecon Wildlands – Nur Singleplayer
  • Tom Clancy’s Rainbow Six Siege – Unspielbar

Ich denke, das Muster ist klar: Entweder gibt es eine Version für Linux oder es läuft nicht/nur auf Servern ohne Anti-Cheat.
Solange es weder eigene Linux-Versionen der Spiele geben wird noch die Entwickler des FOSS14-SpieleManagers Lutris oder Wine oder anderen, ähnlichen Programmen einen Weg finden werden, Spiele trotz Kernel-basiertem Anti-Cheat zum Laufen zu bekommen, werden alle Spiele mit EAC, BattlEye und dem neuen Anti-Cheat von Riot Games auf Linux unspielbar bleiben. Der Disclaimer am Anfang des Artikels lässt darauf schließen, dass eine Nutzung für League of Legends auf jeden Fall geplant ist, andere Spiele (wie z.B. Project A) aber Vorrang haben.

Fazit

Mit dem noblen Ansatz, es Cheatern schwer zu machen, schafft sich Riot Games sowohl eine Möglichkeit zur Überwachung der Spieler als auch das Problem, dass alle betroffenen Spiele vorerst (und wahrscheinlich für längere Zeit) nicht auf Linux spielbar sein werden. Ich gehe nicht davon aus, dass eine Version eigens für Linux erscheinen wird, da die Spielerbasis trotz allem immer noch sehr klein ist.

Statistiken sind schwer zu finden, aber hier sind zwei:
Laut Steams „Hardware & Software Survey“ lagen die Steam-Nutzer bei 96.86% Windows, 2.47% Mac OS und nur 0.67% Linux.
Laut netmarketshare.com liegt der Marktanteil (bezogen auf Desktop-PCs) von Linux bei 1.85%. Zum Vergleich: Windows liegt bei 88.14%, Mac OS bei 9.42% und nur Windows XP bei 1.8%. (Stand16.04.2020)

Gamertoc

Mein Name ist Oliver Theobald, aka Gamertoc, und ich bin 18 Jahre alt. Seit 2019 studiere ich Informatik an der Goethe-Uni und bin seitdem auch Mitglied im 1. ECF. Spieletechnisch verbringe ich wohl mit Overwatch, Dark Souls III, Skyrim und der Assassin's Creed-Reihe, bin aber immer offen für neues. Außerhalb des Studiums verbringe ich wohl am meisten Zeit damit, meine Spiele und Programme auf Linux zum Laufen zu bekommen (und auch am Laufen zu halten). Abgesehen davon habe ich eine Leidenschaft fürs Streamen und fürs Kochen entwickelt.

Alle Artikel von Gamertoc

Willst Du bei uns mitmachen?
Gerne! Dann werde Mitglied in unserem Verein!