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
| Anforderung | Hinweis | |
|---|---|---|
| System | Windows 10 / 11, 64 Bit | Derzeit wird nur Windows unterstützt |
| Spiel | Warcraft 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
-
Code holen
git clone https://github.com/OPENXXAI/OpenWar3AI.gitOder das ZIP-Archiv herunterladen und entpacken. Die Runtime (Injektions-DLL und Starter) liegt dem Repository bei und muss nicht separat heruntergeladen werden.
-
start.batdoppelklickenBeim 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.
-
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>\Mapsstehen zur Auswahl); das Verzeichnis wechselst du später auf der Seite „Einstellungen“. -
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.pyDieser 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
pythonim Befehl ist das inopenwar3.jsoneingetragene Python gemeint; das vonstart.batselbst installierte liegt unterbin\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
| Parameter | Standard | Beschreibung |
|---|---|---|
--bot | Pflicht | Pfad zur Bot-Datei (sie muss eine Unterklasse von Bot enthalten) |
--inst | 9 | Instanznummer. Darf nicht mit einer laufenden Instanz kollidieren (welche Nummern belegt sind, siehst du in Farsight auf der Seite „Instanzen & Start“) |
--race | 1 | Eigenes Volk: 1 Menschen, 2 Orcs, 3 Untote, 4 Nachtelfen |
--enemy-race | 0 | Volk des Gegners |
--difficulty | 2 | Schwierigkeit des Computergegners: 2 Leicht, 3 Normal, 4 Wahnsinnig |
--speed | 100 | Spielgeschwindigkeit (in Prozent, 200 = doppelte Geschwindigkeit) |
--map | default_map aus der Konfiguration | Karte |
--attach | Kein Spiel starten, nur an eine bereits laufende Instanz anhängen | |
--hz | 5 | Wie oft pro Sekunde on_tick aufgerufen wird |
--minutes | 60 | Maximale Laufzeit in Minuten (Echtzeit) |
--fair | Fair-Modus | |
--player | Als 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.