Zum Inhalt springen
Herunterladen

Ein ganzes Azeroth in Rust


Der Client ist erst der Anfang. Als Nächstes entsteht der Server neu: AzerothCore vollständig in Rust, kompatibel zu jedem 3.3.5a-Client. Danach bauen wir beides gemeinsam neu – mit einem geteilten Kern und QUIC im Netz.

Vision – noch nicht umgesetzt

Weg

Drei Phasen

  1. Der Client

    erreicht

    wotlkrs ersetzt den Spiel-Client vollständig – offline geprüft, gegen AzerothCore angeschlossen.

    • Alle Spielsysteme, Oberfläche, Ton
    • Licht 2.0, Raytracing, DLSS
    • Windows und macOS
  2. Der Server

    Vision

    AzerothCore vollständig neu in Rust: Authentifizierung, Welt, Karten, Kreaturen, Zauber, Quests, Instanzen, Schlachtfelder.

    • Protokoll 3.3.5a: jeder Client spielt mit
    • Datenbank von AzerothCore weiter nutzbar
    • Getestet wie der Client: offline, mit Quellen
  3. Die neue Architektur

    Vision

    Sind beide Seiten in Rust, bauen wir sie gemeinsam neu: ein geteilter Kern, ein modernes Netz, Platz für sehr viele Spieler.

    • Gemeinsamer Simulationskern mit ECS
    • QUIC statt TCP für wotlkrs
    • Karten parallel, Welten mit 20.000 Spielern

Architektur

Ein Kern für Server und Client

Schon heute spielt der Offline-Treiber im Client einen Server nach. In Phase 3 wird daraus ein gemeinsamer Kern: dieselben Regeln, Daten und Systeme laufen auf dem Server als Wahrheit und im Client als Vorhersage.

Gemeinsamer Kern

eine Rust-Bibliothek · deterministisch · getestet ohne Netz

  • ECS: Entities, Components, Systeme
  • Spielregeln: Kampf, Zauber, Bewegung
  • Daten aus DBC und Datenbank
  • Änderungsstrom

Server

autoritativ · Karten parallel · Persistenz

  • Kartenthreads
  • Sichtbereiche im Grid
  • Datenbank

Client

Vorhersage · Darstellung · Eingabe

  • Vorhersage mit demselben Code
  • Render-Welt
  • Oberfläche

Netz

QUIC statt TCP

Zwischen wotlkrs und dem neuen Server spricht QUIC: verschlüsselt, mit vielen Strömen in einer Verbindung und Datagrammen für Bewegung. Originale 3.3.5a-Clients verbinden sich weiter über das alte TCP-Protokoll.

ThemaHeute: TCP 3.3.5aVision: QUIC
SicherheitSRP6-Anmeldung, RC4 nur für KopfzeilenTLS 1.3 für alles, Anmeldung bleibt kompatibel
Strömeein Strom: ein verlorenes Paket hält alles aufeigene Ströme für Chat, Welt, Handel – kein Rückstau
Bewegungzuverlässig und in ReihenfolgeDatagramme: das Neueste zählt, Altes darf fehlen
Verbindungswechselneue Verbindung, neue AnmeldungVerbindung wandert mit, etwa von WLAN zu Mobilfunk

Ziele

Woran wir uns messen

20.000 Spieler je Welt

500 sichtbare Spieler in Dalaran

120 fps auch im Gedränge

100 % Protokoll 3.3.5a

Offen und prüfbar

Quelltext offen, jede Regel mit Test und Quelle – wie beim Client.

Kompatibel zuerst

Bestehende Datenbanken, Skripte und Clients funktionieren weiter; Neues kommt als Option.

Erweiterbar

Inhalte und Regeln als klar getrennte Module, damit Server eigene Welten bauen können.