Was ist das BSP-Dateiformat?
Eine .bsp-Datei ist ein kompiliertes binäres 3D-Spielelevel, benannt nach dem Binary Space Partitioning-Algorithmus, der verwendet wird, um den 3D-Raum für effizientes Echtzeit-Rendering rekursiv zu unterteilen. Das Format wurde 1996 mit id Softwares Quake eingeführt und hat sich seitdem in mehrere eng verwandte, aber gegenseitig inkompatible Varianten verzweigt, die von verschiedenen Spiele-Engines verwendet werden.
Die Datei verwendet einen Lump-basierten Binärcontainer: Ein fester Header speichert eine Magic Number, einen Versions-Integer und ein Verzeichnis nummerierter Lumps. Jeder Lump ist ein zusammenhängender Datenblock, der eine bestimmte Datenkategorie enthält - BSP-Baumknoten, Vertices, Faces, Edges, Lightmaps, Sichtbarkeitsdaten (PVS), Entity-Spawnpoint-Definitionen sowie Textur- oder Materialreferenzen. Entity-Daten wie Startpunkte, Trigger und Item-Pickups werden als einfache ASCII-Key-Value-Paare in einem dedizierten Lump gespeichert.
Wichtige inkompatible Varianten sind:
- Quake 1 (BSP29): Version int = 29; id Software, 1996.
- GoldSrc / Half-Life 1 (BSP30): Version int = 30; Valve, 1998.
- Quake 2 / Quake 3 (IBSP v38/v46): ASCII-Magic
IBSP, gefolgt vom Versions-Integer. - Source Engine (VBSP): ASCII-Magic
VBSP, Versionen 17-21 je nach Spiel (CS:GO, TF2, L4D2). - Source 2 (VBSP2):
VBSP-Magic, Version 29; verwendet in CS2 und Half-Life: Alyx.
.bsp-Dateien sind kompilierte Ausgaben, keine Quelldateien. Leveldesigner arbeiten in .vmf (Valve Map Format) oder .map-Dateien und kompilieren diese zu .bsp mittels vbsp.exe (Source Engine) oder q3map2 (Quake-Familie).
Sicherheit
RISIKO: MEDIUMBSP-Dateien selbst sind statische Daten und können keinen Code ausführen. Das Laden einer bösartig manipulierten BSP in einer anfälligen Spiele-Engine könnte jedoch Pufferüberläufe oder Heap-Corruption-Fehler auslösen (historische CVEs existieren für Quake-Engine-Spiele). Das Risiko ist primär relevant beim Herunterladen benutzerdefinierter Karten aus nicht vertrauenswürdigen Quellen für Multiplayer-Spiele; offizielle Steam Workshop-Karten sind im Allgemeinen sicherer.
Formatdetails
kurz gefasst- Quake 1 BSP (BSP29) - Ursprüngliches id Software-Format von 1996, kein ASCII-Magic, Versionsnummer 29 bei Offset 0.
- Quake 3 / Quake Live BSP (IBSP v46) - Verwendet «IBSP»-Magic wie Quake 2, aber Version 46; wird von Open-Source-Engines verwendet (ioquake3, OpenArena).
Programme zum Öffnen von BSP-Dateien
Technische Details
technische Spezifikation| Container | Benutzerdefiniertes Lump-basiertes Binärformat; inkompatible Varianten existieren pro Spiele-Engine |
| Kodierung | Binär |
| Byte-Reihenfolge | Little-endian |
| Magic Bytes | Engine-abhängig: IBSP (Quake 2/3), VBSP (Source/Source 2), roher int 29 oder 30 (Quake 1/GoldSrc) |
| Versionsfeld | Integer im Header: 29=Quake 1, 30=GoldSrc/HL1, 38=Quake 2, 46=Quake 3, 17-21=Source Engine-Titel, 29=Source 2 |
| Lump-Typen | BSP-Baumknoten/Blätter/Ebenen, Vertices, Faces, Edges, Lightmaps, PVS-Sichtbarkeit, Entity-Definitionen, Materialreferenzen |
| Entity-Daten | Gespeichert als einfache ASCII-Key-Value-Paare im Entities-Lump (Spawn-Punkte, Trigger, Pickups, etc.) |
| Lightmap-Format | 24-Bit RGB pro Luxel (Source Engine); 8-Bit Monochrom pro Luxel (Quake 1) |
| Koordinatenbereich | ±32.768 Einheiten (Quake 1); ±16.384 nutzbar für Geometrie (Source Engine) |
| Kompression | Keine auf Dateiebene; Source 2 unterstützt optionale LZ4-Kompression pro Lump |
| Typische Größe | 2 MB - 200 MB (Quake-Karten 1-20 MB; Source-Karten 5-100 MB; CS2-Karten 50-200 MB) |
| Kompilierte Ausgabe | BSP ist die Compiler-Ausgabe; Quelle ist .vmf (Source) oder .map (Quake), kompiliert mit vbsp.exe oder q3map2 |
| Engine-übergreifende Kompatibilität | Keine - jede Engine-Variante ist mit anderen inkompatibel |
| Zugehörige OS | Windows, Linux, macOS |
| Veröffentlicht | 1996 (Quake 1.0, id Software) |
| Neueste Version | Source 2 VBSP2 (2020+, used in CS2 / Half-Life: Alyx); multiple incompatible lineages |
| Spezifikation | developer.valvesoftware.com |
BSP-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu BSP-Dateien.