A high-performance, web-based GoldSrc (Half-Life) BSP map viewer built with React 18, Three.js, Vite, and Tailwind CSS.
- 🚀 BSP v30 Parsing: Robust parsing of GoldSrc map files.
- 🖼️ WAD3 Support: Dynamic loading of external textures from multiple
.wadfiles. - 💡 Advanced Lightmapping: High-quality lighting using atlas-based lightmaps with overbrightening and gamma correction.
- 🔍 Entity Inspector: Interactive selection and inspection of entity key-value pairs.
- 🔗 Entity Connections: Visualize
targetandtargetnamerelationships with color-coded lines. - 🏗️ FGD Integration: Support for FGD files to provide meaningful metadata for map entities.
- 🕹️ FPS Controls: Smooth noclip movement with acceleration and friction.
- 🛠️ Customization: Toggleable wireframes, axes, transparency for triggers, and configurable texture filtering.
- Node.js (v18 or newer)
- npm, yarn, or pnpm
-
Clone the repository:
git clone https://github.com/urgorri/geu-web-bspviewer.git cd geu-web-bspviewer -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build for production:
npm run build
- Open the application in your browser.
- Click the File Icon in the top-left menu.
- Important: Select all necessary files at once in the file picker:
- One
.bspfile (Required). - Relevant
.wadfiles for textures (Recommended). - An
.fgdfile for better entity names (Optional).
- One
- Wait for the status bar to indicate "Ready".
| Action | Control |
|---|---|
| Move | W A S D |
| Up / Down | Space / Left Ctrl |
| Sprint | Hold Shift |
| Look Around | Mouse (Click to lock) |
| Select Entity | Left Click (While locked) |
| Unlock Mouse | Esc |
- Framework: React 18
- 3D Engine: Three.js
- Build Tool: Vite
- Styling: Tailwind CSS 4
- Icons: Lucide React
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
Gastón Urgorri
- GitHub: @urgorri
- Email: urgorrigaston@gmail.com
Developed with ❤️ for the GoldSrc modding community.


