Star-Edit/ANLEITUNG.md
Claude 694ae03b49
Schritt-fuer-Schritt-Anleitung (ANLEITUNG.md) fuer Einrichtung und Nutzung
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NaZBZofC1on2gkSMb5UWZy
2026-06-22 11:03:15 +00:00

8.3 KiB
Raw Permalink Blame History

Anleitung: StarCraft-Kampagnen-MCP-Server einrichten & benutzen

Diese Anleitung ist für null Programmierkenntnisse gedacht. Du tippst nur die fettgedruckten Befehle ab. Wenn etwas von deinem Setup abhängt, steht ausdrücklich dabei „das musst du anpassen".


0. Was du brauchst (Checkliste)

  • Zugang zu deinem Hetzner-VPS (per SSH also das schwarze Terminal-Fenster, mit dem du dich auf den Server einloggst).
  • Auf dem VPS sind Docker und Caddy installiert und laufen bereits (hast du). Caddy ist dein „Türsteher", der die Webadresse + das Sicherheitsschloss (TLS/https) bereitstellt.
  • Eine Subdomain, z.B. sc-mcp.pixel-by-design.de, deren DNS-Eintrag auf die IP-Adresse deines VPS zeigt. (Einstellung beim Anbieter, wo deine Domain liegt.)
  • Ein Claude-Bezahl-Account (Pro, Max, Team oder Enterprise). Nur diese können eigene „Custom Connectors" hinzufügen im Gratis-Account fehlt die Funktion.
  • Basis-Karten (.scx/.scm) und optionale WAV-Sounddateien, aus denen Claude Missionen bauen soll. Eine Beispiel-Karte liegt schon dabei.

Begriffe in einem Satz: MCP-Server = das Programm, das Karten lesen/schreiben kann. Connector = die Verbindung, über die Claude dieses Programm benutzt. Docker = verpackt das Programm so, dass es überall gleich startet. Caddy = stellt die https-Webadresse bereit.


Teil A — Einmalig einrichten (ca. 15 Minuten)

A1. Auf den Server einloggen

Öffne ein Terminal auf deinem Computer und logge dich auf dem VPS ein (Adresse/Benutzer hast du von Hetzner):

ssh dein-benutzer@deine-server-ip

Alle weiteren Befehle tippst du auf dem Server (im eingeloggten Fenster).

A2. Das Projekt auf den Server holen

git clone https://github.com/Kenearos/Star-Edit.git
cd Star-Edit

Falls du das Projekt schon mal geholt hast, hol nur die neueste Version:

cd Star-Edit
git pull origin main

A3. Das Docker-Netzwerk von Caddy herausfinden — das musst du anpassen

Damit Caddy mit unserem Server reden kann, müssen beide im selben Docker-Netzwerk sein. Zeig dir die vorhandenen Netzwerke an:

docker network ls

Suche den Namen, den dein Caddy benutzt (oft caddy, manchmal web, proxy o.ä.). Trage diesen Namen in die Datei docker-compose.yml ein ganz unten steht:

networks:
  web:
    external: true
    name: caddy      # <-- hier den echten Netzwerknamen eintragen

Bearbeiten kannst du die Datei z.B. mit dem Editor nano:

nano docker-compose.yml

(Ändern, dann mit Strg+O, Enter speichern und Strg+X schließen.)

Wenn du dir unsicher bist, welches Netzwerk Caddy nutzt: docker inspect <caddy-container-name> | grep -i network zeigt es an.

A4. Subdomain auf den Server zeigen lassen (DNS) — das musst du anpassen

Beim Anbieter deiner Domain legst du einen A-Record an:

Typ Name (Host) Wert (Ziel)
A sc-mcp die IP-Adresse deines VPS

Damit wird sc-mcp.pixel-by-design.de auf deinen Server gezeigt. (Kann ein paar Minuten bis Stunden dauern, bis es überall aktiv ist.)

A5. Caddy für die Subdomain konfigurieren

Öffne deine bestehende Caddy-Konfiguration (deine Caddyfile) und füge diesen Block hinzu er steht auch in der mitgelieferten Datei Caddyfile:

sc-mcp.pixel-by-design.de {
	reverse_proxy sc-mcp:8000
}

Das heißt: „Alles, was an sc-mcp.pixel-by-design.de ankommt, leite an unseren Server weiter." Caddy holt das https-Zertifikat automatisch.

Danach Caddy neu laden (je nach deinem Setup einer dieser Befehle):

docker exec -w /etc/caddy <caddy-container-name> caddy reload
# oder, falls Caddy nicht in Docker läuft:
sudo systemctl reload caddy

Falls du die Subdomain im selben Reverse-Proxy noch nicht hattest: <caddy-container-name> findest du mit docker ps (Spalte NAMES).

A6. Den Server starten (der eine Befehl)

./run.sh

Das baut beim ersten Mal das Programm (dauert 12 Minuten) und startet es. Fertig sieht so aus, dass kein Fehler erscheint und der Server läuft.

Prüfen, ob er läuft:

./run.sh logs

(Mit Strg+C schließt du die Log-Ansicht wieder der Server läuft weiter.)

Schnelltest, ob alles greift (baut testweise eine Mini-Mission):

./run.sh selftest

Wenn am Ende „SELBSTTEST BESTANDEN" steht, ist das Fundament in Ordnung.

A7. In Claude als Connector eintragen

  1. Claude öffnen (Web oder App) → EinstellungenConnectors (bzw. „Connectors verwalten").

  2. Custom Connector hinzufügen wählen.

  3. Als Adresse/URL eintragen:

    https://sc-mcp.pixel-by-design.de/mcp
    

    (Wichtig: das /mcp am Ende gehört dazu.)

  4. Speichern. Ab jetzt darf Claude im Chat die sc_-Werkzeuge benutzen.


Teil B — Eine Mission bauen (so läuft es im Alltag)

B1. Karten & Sounds bereitstellen

Lege deine Dateien auf dem Server in den Ordner Star-Edit/data/maps/:

  • Basis-Karten: .scx oder .scm
  • Sounds/Voiceover: .wav

Hochladen z.B. vom eigenen Rechner aus (in einem neuen Terminal, nicht eingeloggt auf dem Server):

scp meine-karte.scx funk1.wav dein-benutzer@deine-server-ip:~/Star-Edit/data/maps/

Eine Beispiel-Karte (base-map.scx) liegt bereits drin du kannst sofort loslegen.

B2. Mit Claude im Chat arbeiten

Schreib Claude einfach, was du willst auf Deutsch. Claude ruft dann selbst die Werkzeuge auf. Beispiele:

„Zeig mir die vorhandenen Karten." → Claude nutzt sc_list_maps.

„Beschreib mir die Karte base-map.scx." → Claude nutzt sc_describe_map (Größe, Spieler, Locations, Trigger).

„Erstelle auf base-map.scx bei Spielstart eine Texteinblendung Mission 1 Start' und spawne 4 Marines für Spieler 1 an einer neuen Location Basis' in der Kartenmitte. Speichere das Ergebnis als mission1.scx." → Claude legt die Location an (sc_create_location), baut den Trigger (sc_add_trigger) und speichert (sc_save_map).

Für Voiceover/Funksprüche:

„Bette funk1.wav ein und spiel es bei Sekunde 30 zusammen mit dem Text Achtung, Feindkontakt!' ab." → Claude nutzt sc_embed_wav + sc_add_trigger (play_wav + display_text).

B3. Ergebnis abholen

Die fertige Mission liegt danach in Star-Edit/data/maps/ (z.B. mission1.scx). Auf den eigenen Rechner herunterladen:

scp dein-benutzer@deine-server-ip:~/Star-Edit/data/maps/mission1.scx .

Diese Datei kannst du in StarCraft laden und spielen.


Teil C — Befehls-Spickzettel (auf dem Server, im Ordner Star-Edit)

Was du willst Befehl
Server starten / neu starten ./run.sh
Logs ansehen (beenden mit Strg+C) ./run.sh logs
Selbsttest laufen lassen ./run.sh selftest
Server stoppen ./run.sh stop
Neueste Programmversion holen git pull origin main danach ./run.sh

Teil D — Wenn etwas klemmt

  • Claude sagt, der Connector ist nicht erreichbar.

    1. Läuft der Server? ./run.sh logs ansehen.
    2. Zeigt die Subdomain schon auf den Server? Im Browser https://sc-mcp.pixel-by-design.de/mcp öffnen kommt irgendeine Antwort (kein „Server nicht gefunden"), passt das Grundsätzliche.
    3. Sind Caddy und der sc-mcp-Container im selben Docker-Netzwerk (Schritt A3)?
  • „network caddy not found" o.ä. beim Start. Der Netzwerkname in docker-compose.yml stimmt nicht mit deinem Caddy-Netzwerk überein → Schritt A3 wiederholen (docker network ls).

  • Claude findet eine Location/Einheit nicht. Die Fehlermeldung listet die verfügbaren Namen auf einfach einen davon nehmen oder die Location vorher anlegen lassen.

  • Ich will den Server ohne Caddy nur kurz lokal testen. In docker-compose.yml die zwei ports:-Zeilen einkommentieren (# ports: und # - "8000:8000"), dann ./run.sh. Endpunkt: http://deine-server-ip:8000/mcp.


Sicherheitshinweis

Der Server hat kein Passwort: Wer die URL https://sc-mcp.pixel-by-design.de/mcp kennt, kann ihn benutzen. Für ein privates Werkzeug ist das meist okay halte die URL aber für dich. Wenn du später einen Zugriffsschutz möchtest, sag Bescheid, dann bauen wir einen (z.B. ein Token in Caddy) ein.