feat: add multiplayer capture vertical slice
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# ProjectCapture Blockbench MCP
|
||||
|
||||
Diese Werkzeugkette erzeugt aus dem exakt gepinnten Blockbench-MCP-Upstream
|
||||
einen gehärteten, reproduzierbaren Entwicklungs-Build. Sie installiert nichts
|
||||
automatisch in Blockbench oder Codex und speichert keine Geheimnisse im
|
||||
Repository.
|
||||
|
||||
## Sicherheitsprofil
|
||||
|
||||
- Serverbindung ausschließlich an `127.0.0.1`.
|
||||
- Jede HTTP-, Health- und MCP-Anfrage benötigt einen Bearer-Token aus
|
||||
`PROJECTCAPTURE_BLOCKBENCH_TOKEN` (mindestens 32 Zeichen).
|
||||
- Alle Dateiimporte und -exporte liegen unter dem absoluten Verzeichnis aus
|
||||
`PROJECTCAPTURE_ASSET_ROOT`; absolute Pfade, `..`, falsche Dateiendungen,
|
||||
Symlink-Eltern und Symlink-Ziele werden abgewiesen.
|
||||
- Die Werkzeugregistrierung ist fail-closed. `risky_eval`, frei wählbare
|
||||
Blockbench-Actions, Klicksimulation, URL-Importe, beliebige Exporte und
|
||||
App-Screenshots werden nicht über MCP registriert.
|
||||
- Netzwerkgeladene MCP-Prompts sind im gehärteten Build entfernt.
|
||||
- Codex erhält zusätzlich eine explizite Werkzeug-Allowlist aus
|
||||
`examples/codex-config.toml`.
|
||||
|
||||
## Reproduzierbarer Ablauf
|
||||
|
||||
Voraussetzungen sind `git`, `pnpm` und ein POSIX-Shell-Umfeld. Bun wird über
|
||||
`pnpm dlx bun@1.3.14` exakt gepinnt und nur im Paketmanager-Cache verwendet.
|
||||
|
||||
```sh
|
||||
./scripts/test.sh
|
||||
./scripts/build.sh
|
||||
./scripts/stage-hytale-plugin.sh
|
||||
```
|
||||
|
||||
`test.sh` klont Commit `6b069e3…` in ein temporäres Verzeichnis, prüft den
|
||||
Patch-Hash, wendet den Patch an und führt die automatisierten Tests aus.
|
||||
`build.sh` wiederholt diese Prüfung, baut anschließend das Plugin und legt nur
|
||||
reviewbare Artefakte plus SHA-256-Datei in `dist/` ab.
|
||||
`stage-hytale-plugin.sh` holt ausschließlich den gepinnten offiziellen
|
||||
Hytale-Plugin-Commit und prüft dessen bereits veröffentlichtes Distributionsfile
|
||||
gegen den Lock-Hash.
|
||||
|
||||
## Lokale Laufzeitwerte
|
||||
|
||||
Der gehärtete Build startet absichtlich nicht, solange beide Variablen fehlen:
|
||||
|
||||
```sh
|
||||
export PROJECTCAPTURE_BLOCKBENCH_TOKEN='<zufälliger Token, nicht committen>'
|
||||
export PROJECTCAPTURE_ASSET_ROOT='/absoluter/Pfad/zu/ProjectCapture/devtools/blockbench-assets'
|
||||
```
|
||||
|
||||
Mit `scripts/create-local-env.sh AUSGABEDATEI ASSET_ROOT` kann außerhalb des
|
||||
Repositories eine Datei mit Modus `0600` erzeugt werden. Das Skript verweigert
|
||||
Ausgaben innerhalb dieses Git-Arbeitsbaums. Die Datei wird nicht automatisch
|
||||
geladen und nicht in Codex eingetragen.
|
||||
|
||||
## Review und Installation
|
||||
|
||||
Nach erfolgreichem Review kopiert
|
||||
`scripts/install-reviewed.sh --i-reviewed-gpl ZIELVERZEICHNIS` die beiden
|
||||
geprüften JavaScript-Dateien in ein ausdrücklich angegebenes Verzeichnis. Das
|
||||
Skript verändert keine Codex-Konfiguration. Die Vorlage
|
||||
`examples/codex-config.toml` muss separat und mit
|
||||
`bearer_token_env_var` übernommen werden; ein Tokenwert gehört nie in TOML.
|
||||
|
||||
## Hytale-Werkzeuge
|
||||
|
||||
Der Patch ergänzt sichere Werkzeuge für Capability-Probe, Hytale-Projekterzeugung,
|
||||
Validierung, PNG-Import/-Export, `.bbmodel`, `.blockymodel`, `.blockyanim` und
|
||||
Attachments. Gruppen-Defaults, Texturflags, Datenpunkte von Keyframes,
|
||||
asynchrones Codec-Kompilieren sowie Quad-Normalen/-Flächen und Flat-Shading sind
|
||||
korrigiert.
|
||||
|
||||
Der statische Build und die automatisierten Tests ersetzen nicht das Live-Gate:
|
||||
Nach Installation müssen Blockbench 5.0.7 und Hytale Models 0.9.1 gemeinsam ein
|
||||
neutrales Testwesen öffnen, speichern, neu laden und in alle drei Formate
|
||||
exportieren. Erst danach gilt das Asset-Gate als bestanden.
|
||||
Reference in New Issue
Block a user