SERV Beta 2 - Full Documentation

Detailed guide for the Hub, all C++ tools, folder layout, metadata, downloads, troubleshooting, and beta notes.

Back to SERV Website Download Installer

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.

SERV is fan-made and not affiliated with Valve. It is meant for inspection, modding research, and helper workflows.

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.

Download SERV Beta 2 Portable

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"
}
FieldMeaning
idStable internal ID.
nameUser-facing name shown in the Hub.
categoryUsually Viewers, Inspectors, Other, BIK, or SBSPE.
executableEXE launched by the Hub.
requiresDLLs/files the Hub should check before launch.
supported_filesFile 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

  1. Extract a .vtf from a VPK.
  2. Open it in VTF Viewer.
  3. Check format, size, mipmaps, and preview.
  4. 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.
MDL mesh rendering and texture resolving are experimental. Some models may display incomplete geometry or fallback textures.

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.

Full binary DMX/PCF schema parsing is planned for later. Beta 2 focuses on useful inspection and reference extraction.

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.

DEMO playback is experimental and game-dependent. If a demo does not load, confirm the correct game EXE, working directory, game/mod folder, and map/game version.

DLL: VALVE-DEMO_Management.dll.

19. Remaining Tools

Two old tools are not remade in C++ yet:

ToolStatusNotes
SWATCH InspectorPlannedWill likely inspect swatch/palette-style files with strings/hex/preview if possible.
EXE/DLL InspectorPlannedWill 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

  1. Open the game's VPK in VPK Browser.
  2. Search for materials/ or a known texture name.
  3. Extract the .vmt and .vtf.
  4. Open the VMT in VMT Viewer to see $basetexture.
  5. Open the VTF in VTF Viewer to preview/export it.

Inspect a model

  1. Extract .mdl, .vvd, .dx90.vtx, and .phy if available.
  2. Extract matching materials/textures when needed.
  3. Open the .mdl in MDL Viewer.
  4. Check companion file status, model counts, material table, and texture browser.

Play a demo

  1. Open the .dem in DEMO Player / Inspector.
  2. Open Playback window.
  3. Select the correct game EXE and working directory.
  4. Use copy-to-game-folder/basename playback if needed.
  5. Click Play Selected Demo.

21. Troubleshooting

Tool does not appear in the Hub

  • Make sure tool.servtool.json exists in the tool folder.
  • Make sure the JSON is valid. No trailing commas.
  • Make sure category is 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.dll are 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.