1. Overview
Source Engine Resources Viewer, or SERV, is a Windows tool suite for inspecting files used by Source Engine games and mods. SERV is organized around a central Hub and many smaller tools. Each tool focuses on one format or one workflow.
Beta 2 is the native C++/Qt recode of the project. Most of the Python-era tools have been replaced with C++ tools and custom DLL backends. The goal is better performance, cleaner deployment, and easier future updates.
2. Install / Portable Setup
Installer
The installer is recommended for normal users. It installs SERV, the Hub, tools, DLLs, and legal files in a normal Windows software layout.
Download SERV Beta 2 Installer
Portable
The portable build is a 7z archive. Extract it anywhere, then run SERV Hub.exe.
Required runtime files
Every Qt-based tool needs Qt runtime DLLs next to the EXE or in a folder discoverable by the EXE. The most common files are:
Qt6Core.dll Qt6Gui.dll Qt6Widgets.dll platforms/qwindows.dll
OpenGL tools may also need Qt6OpenGL.dll and Qt6OpenGLWidgets.dll.
3. SERV Hub
The Hub is the central launcher. It scans the Tools folder, reads metadata, checks dependencies, and lets users launch each tool.
Main Hub features
- Tool list with categories.
- Details pane for selected tools.
- Dependency checking through
requires. - Open tool folder and launch selected tool.
- Support for hidden/internal tools.
- Supports future tool additions without rewriting the Hub.
Folder scanning
The Hub expects each tool folder to include a metadata file called tool.servtool.json. Tools without metadata may not appear.
4. Tool Metadata
Every tool should include tool.servtool.json. This file tells the Hub how to list and launch the tool.
{
"id": "VTFViewer",
"name": "VTF Viewer",
"version": "0.1.0",
"category": "Viewers",
"type": "viewer",
"executable": "VTFViewer.exe",
"description": "Open, inspect, preview, and export Valve Texture Format files.",
"working_dir": ".",
"args": [],
"hidden": false,
"requires": ["VALVETEXManagement.dll"],
"supported_files": [".vtf"],
"developer": "sonic Fan Tech"
}| Field | Meaning |
|---|---|
| id | Stable internal ID. |
| name | User-facing name shown in the Hub. |
| category | Usually Viewers, Inspectors, Other, BIK, or SBSPE. |
| executable | EXE launched by the Hub. |
| requires | DLLs/files the Hub should check before launch. |
| supported_files | File extensions the tool can open. |
5. VPK Browser
VPK Browser opens Valve package archives and displays their folder/file structure. It can extract individual files or visible selections.
Uses
- Browse Portal 2, Half-Life 2, TF2, and other Source archives.
- Find materials, models, sounds, scripts, maps, or scenes.
- Extract assets needed by the VTF/VMT/MDL tools.
DLL
VALVE-PK_Management.dll
6. VTF Viewer
VTF Viewer opens Valve Texture Format files and shows a preview, header info, dimensions, format, mipmap count, frame count, and export options.
Common workflow
- Extract a
.vtffrom a VPK. - Open it in VTF Viewer.
- Check format, size, mipmaps, and preview.
- Export to PNG if needed.
DLL: VALVE-TEX_Management.dll
7. VMT Viewer
VMT Viewer opens material script files and parses common keys such as $basetexture, $bumpmap, $surfaceprop, $translucent, and $alphatest.
It is useful for figuring out which VTF texture a material uses. DLL: VALVE-MAT_Management.dll.
8. Source BSP Explorer
Source BSP Explorer handles Source BSP map viewing, inspection, and PlayTest workflows. In Beta 2, it can be added to the Hub as a tool folder with its own tool.servtool.json.
Supported file type
.bsp
Notes
BSP rendering and asset resolving can depend on game content folders and VPKs. If textures or models are missing, extract/mount the game content first.
9. MDL Viewer / Inspector
MDL Viewer / Inspector opens Source model files and detects companion files like .vvd, .dx90.vtx, .dx80.vtx, .sw.vtx, and .phy.
Current Beta 2 capabilities
- Reads MDL header information.
- Detects companion files.
- Shows model counts and model info.
- Includes OpenGL preview.
- Attempts real mesh rendering.
- Includes material/texture browser windows.
DLL split
VALVE-MDL_Core.dll VALVE-MDL_Mesh.dll VALVE-MDL_RenderSupport.dll VALVE-MDL_Material.dll VALVE-MDL_Texture.dll VALVE-MDL_VVD.dll VALVE-MDL_VTX.dll VALVE-MDL_PHY.dll
10. VMF Viewer / Inspector
VMF Viewer opens Hammer VMF map source files. It shows raw text, a parsed tree, selected node properties, material references, entity classes, and counts for solids, sides, cameras, visgroups, and cordons.
DLL: VALVE-VMF_Management.dll.
11. NUT Viewer / Inspector
NUT Viewer opens Squirrel script files, shows script text, extracts functions, classes, include-like references, and TODO/FIXME/HACK notes. It also includes a symbol table and search.
DLL: VALVE-NUT_Management.dll.
12. VCD Viewer / Inspector
VCD Viewer opens Source choreography scene files. It extracts actors, channels, events, event timing, sound references, and text/caption-like strings when possible.
DLL: VALVE-VCD_Management.dll.
13. PCF Inspector
PCF Inspector opens particle system files and performs useful binary/string inspection. It can detect possible particle system names, operators, renderers, and material/texture strings.
DLL: VALVE-PCF_Management.dll.
14. SND Inspector
SND Inspector opens Source sound script files and some audio files. It can parse sound entries, channel, soundlevel, volume, pitch, wave references, and basic WAV/MP3 metadata.
DLL: VALVE-SND_Management.dll.
15. RES Inspector
RES Inspector opens Source resource list files, extracts quoted key/value pairs, and guesses reference types such as material, texture, model, sound, scene, particle, script, and UI resource.
DLL: VALVE-RES_Management.dll.
16. SAV Inspector
SAV Inspector opens .sav, .dat, .bin, and unknown binary files. It shows metadata, extracts readable strings, guesses embedded paths, and provides a hex preview.
DLL: VALVE-SAV_Management.dll.
17. Launch Options Builder
Launch Options Builder helps create Source/Steam launch strings. It supports common flags, display settings, debug/dev options, custom arguments, and command-line preview/copy/export.
DLL: VALVE-LAUNCH_Management.dll.
Example launch string
-console -novid -windowed -w 1280 -h 720 -game "portal2"
18. DEMO Player / Inspector
DEMO Player / Inspector opens Source .dem files, reads header information, extracts strings/references, lists maps/sounds/models/materials/commands, and can launch a Source game with +playdemo.
Playback
Playback does not emulate the Source engine. It launches the selected Source game EXE with the selected demo. Some games require the demo to be copied into the game/mod folder and launched by basename.
Playlist
Playlist support lets you add multiple demo files, save/load playlists, inspect selected demos, and play selected/next demos.
DLL: VALVE-DEMO_Management.dll.
19. Remaining Tools
Two old tools are not remade in C++ yet:
| Tool | Status | Notes |
|---|---|---|
| SWATCH Inspector | Planned | Will likely inspect swatch/palette-style files with strings/hex/preview if possible. |
| EXE/DLL Inspector | Planned | Will inspect Windows binaries/resources. Resource Hacker may still be included as an optional external tool. |
20. Common Workflows
Find and preview a texture from a game
- Open the game's VPK in VPK Browser.
- Search for
materials/or a known texture name. - Extract the
.vmtand.vtf. - Open the VMT in VMT Viewer to see
$basetexture. - Open the VTF in VTF Viewer to preview/export it.
Inspect a model
- Extract
.mdl,.vvd,.dx90.vtx, and.phyif available. - Extract matching materials/textures when needed.
- Open the
.mdlin MDL Viewer. - Check companion file status, model counts, material table, and texture browser.
Play a demo
- Open the
.demin DEMO Player / Inspector. - Open Playback window.
- Select the correct game EXE and working directory.
- Use copy-to-game-folder/basename playback if needed.
- Click Play Selected Demo.
21. Troubleshooting
Tool does not appear in the Hub
- Make sure
tool.servtool.jsonexists in the tool folder. - Make sure the JSON is valid. No trailing commas.
- Make sure
categoryis set correctly. - Click Refresh in the Hub.
Tool shows missing dependency
- Check every file listed in
requires. - Make sure DLL names match exactly.
- Make sure Qt DLLs and
platforms/qwindows.dllare present.
Qt error: qwindows.dll missing
Copy platforms/qwindows.dll from your Qt runtime folder or run windeployqt on the EXE.
MDL has no texture
Extract the matching VMT and VTF files into a nearby materials/ folder. Check the MDL texture table and VMT $basetexture.
DEMO does not play
Use the correct game EXE, working directory, and game/mod folder. Some Source games do not like absolute demo paths, so copy the demo into the game folder and launch with the demo basename.
22. Legal
SERV is fan-made and not affiliated with Valve. Source Engine, Valve, Portal, Half-Life, Team Fortress, Counter-Strike, and related names belong to their respective owners.
Resource Hacker is an optional third-party component. If included, its original license and author credit should remain with the distribution.