Docs Start

Schnellstart

Doppelklick auf start.bat installiert alles automatisch; in Farsight das Spielverzeichnis festlegen, eine Partie starten und zusehen, wie der Beispiel-Bot übernimmt. Etwa 15 Minuten.

Was du brauchst

AnforderungHinweis
SystemWindows 10 / 11, 64 BitDerzeit wird nur Windows unterstützt
SpielWarcraft III 1.27a (The Frozen Throne, Game.dll 1.27.0.52240)Ein Client, den du rechtmäßig besitzt; keine Spieldatei auf der Festplatte wird verändert

Sonst musst du nichts vorab installieren. start.bat lädt nur eine Sache herunter: Python 3.13 (offizielles portables Paket, ca. 14 MB), das ins bin\env\-Verzeichnis im Repository kommt – ohne Administratorrechte und ohne Änderung am System-PATH; in Netzen in China wird automatisch auf Mirror-Server umgeschaltet. Ist auf dem Rechner schon eine brauchbare Python-Version vorhanden, wird sie direkt verwendet. PowerShell nutzt die in Windows enthaltene Version; die Weboberfläche von Farsight liegt dem Repository bereits fertig gebaut bei, Node.js wird nicht benötigt.

Installation

  1. Code holen

    git clone https://github.com/OPENXXAI/OpenWar3AI.git

    Oder das ZIP-Archiv herunterladen und entpacken. Die Runtime (Injektions-DLL und Starter) liegt dem Repository bei und muss nicht separat heruntergeladen werden.

  2. start.bat doppelklicken

    Beim ersten Mal erledigt es selbst:

    • Python 3.13 herunterladen;
    • Python-Pakete installieren, die Runtime-Dateien prüfen und einrichten;
    • AMAI herunterladen und daraus die Strategiedaten für das Referenz-Brain erzeugen (AMAI steht unter einer eigenen Lizenz, die erzeugten Dateien landen nicht in git; ein Fehlschlag betrifft nur das Referenz-Brain);
    • die Startseite von Farsight öffnen, das „Kontrollzentrum“: http://127.0.0.1:8866.

    Jeder Schritt gibt sein Ergebnis aus; bei einem fehlgeschlagenen Schritt erfährst du, wie du ihn nachholst. Danach prüft jeder Doppelklick nur ein, zwei Sekunden lang und öffnet dann Farsight.

    Das schwarze Fenster schließt sich nach ein paar Sekunden von selbst: Farsight läuft im Hintergrund weiter und stoppt auch nicht, wenn du den Browser schließt.

  3. Im Kontrollzentrum das Spielverzeichnis festlegen

    Ganz oben im Kontrollzentrum kannst du „Automatisch suchen“ oder über „Durchsuchen …“ das Verzeichnis von Warcraft III selbst auswählen. Farsight prüft die Spielversion und extrahiert Daten aus deinem eigenen Spiel (Einheitentabelle, Fähigkeiten, Gegenstände, Kontertabelle … die Dateien von Blizzard werden nicht mit dem Code verteilt).

    Ist die Version nicht 1.27a, bekommst du einen Hinweis. Karten und die Einstellungen für die nächste Partie beziehen sich auf dieses Verzeichnis (Karten aus allen Ordnern unter <Spielverzeichnis>\Maps stehen zur Auswahl); das Verzeichnis wechselst du später auf der Seite „Einstellungen“.

  4. Partie starten und den Beispiel-Bot übernehmen lassen

    Am einfachsten geht es in Farsight auf der Seite „Instanzen & Start“: eine Instanznummer ankreuzen, ein KI-Schema wählen und auf „Test starten“ klicken. Oder über die Kommandozeile:

    python tools/play.py --bot brains/examples/hello_bot.py

    Dieser Befehl startet eine Spielinstanz, injiziert die Runtime, beginnt automatisch eine Partie und startet dann den Bot. Wenn die Bauern Gold sammeln gehen und das Hauptgebäude Bauern trainiert, hat alles geklappt.

    Mit python im Befehl ist das in openwar3.json eingetragene Python gemeint; das von start.bat selbst installierte liegt unter bin\env\python\python.exe.

start.bat und stop.bat

start.bat              # Installation prüfen + Farsight öffnen
start.bat setup        # vollständige Prüfung: Python-Pakete neu installieren, AMAI erneut versuchen
start.bat restart      # nur das Farsight-Backend neu starten (Spiele und Dienste laufen weiter)
start.bat node         # installiert nebenbei eine Kopie von Node.js (nur nötig, um die Website in der Vorschau zu bauen – sonst nicht gebraucht)
start.bat 5 6          # startet zusätzlich Tests auf Instanz 5 und 6 (Spiel + Referenz-Brain)
stop.bat               # alles vollständig stoppen; stop.bat --keep-llm lässt das lokale Modell im VRAM

Gateway, Sprechblasen und lokales LLM startest und stoppst du ebenfalls im „Kontrollzentrum“ von Farsight, ohne nach weiteren Skripten suchen zu müssen. Alles vollständig stoppen: stop.bat doppelklicken oder im Kontrollzentrum oben rechts auf „Alle stoppen“ klicken – Spielinstanzen, KI, Gateway, Sprechblasen, das von diesem System genutzte lokale Modell und das Farsight-Backend werden der Reihe nach beendet. MCP-Server werden von Clients wie Claude verwaltet und nicht gestoppt.

Konfigurationsdatei

openwar3.json wird von start.bat und Farsight automatisch geschrieben, enthält nur lokale Pfade und landet nicht in git. Willst du Ports, Adresse oder Modellnamen des lokalen LLM ändern, trag nach dem Muster von openwar3.example.json nur die Einträge ein, die davon abweichen.

Parameter von play.py

python tools/play.py --bot my_bot.py --inst 9 --race 2 --enemy-race 1 --difficulty 3 --speed 200
python tools/play.py --bot my_bot.py --inst 9 --attach      # Spiel läuft schon, nur den Bot anhängen
python tools/play.py --bot my_bot.py --fair                 # Fair-Modus: nur sehen, was in Sichtweite ist
ParameterStandardBeschreibung
--botPflichtPfad zur Bot-Datei (sie muss eine Unterklasse von Bot enthalten)
--inst9Instanznummer. Darf nicht mit einer laufenden Instanz kollidieren (welche Nummern belegt sind, siehst du in Farsight auf der Seite „Instanzen & Start“)
--race1Eigenes Volk: 1 Menschen, 2 Orcs, 3 Untote, 4 Nachtelfen
--enemy-race0Volk des Gegners
--difficulty2Schwierigkeit des Computergegners: 2 Leicht, 3 Normal, 4 Wahnsinnig
--speed100Spielgeschwindigkeit (in Prozent, 200 = doppelte Geschwindigkeit)
--mapdefault_map aus der KonfigurationKarte
--attachKein Spiel starten, nur an eine bereits laufende Instanz anhängen
--hz5Wie oft pro Sekunde on_tick aufgerufen wird
--minutes60Maximale Laufzeit in Minuten (Echtzeit)
--fairFair-Modus
--playerAls welcher Spieler befehligt wird (für KI gegen KI)

Starte das Spiel nicht mit --minimize: Ist das Fenster minimiert, steht die Spielsimulation still (die Uhr läuft nicht), und der Bot wartet endlos auf den Partiebeginn.

Du kannst play.py auch umgehen und dich direkt über die Kommandozeile des SDK an eine laufende Instanz anhängen:

python -m openwar3 run brains/examples/hello_bot.py --inst 5     # Bot ausführen
python -m openwar3 status --inst 5                              # verbinden, Status von Snapshot / Schnellspur ausgeben
python -m openwar3 catalog                                      # API-Katalog ausgeben

Wenn alles läuft

Selbsttest

python tools/run_tests.py          # SDK / Referenz-Brain / Reflexschicht / Konsole / Sprechblasen / Beispiele, jede Suite in einem eigenen Unterprozess

Für die Offline-Tests muss das Spiel nicht laufen. Auch im „Kontrollzentrum“ von Farsight gibt es eine Umgebungsprüfung, die zeigt, ob alle Teile installiert sind.