GoldSrc
(source code & bug reports)
GoldSrc (also known as GoldSource, and formerly just the Half-Life Engine) is a 3D video game engine created by Valve in 1996. It was the driving force behind many famous games of the late 90s and early 00s, such as Half-Life, Team Fortress Classic, Counter-Strike, and Day of Defeat. GoldSrc is a heavily modified version of the Quake engine and runs on C++ (with some "C" code). GoldSrc and its level editor, Valve Hammer Editor, were released by Valve for public use, making it the source of countless community-made modifications.
GoldSrc was replaced by its successor, Source, in 2004, which currently holds first place as the choice engine for Valve modders. Though GoldSrc is past its prime, many gamers and some third-party developers still seek to use it for mods and level design.
The engine is actively being updated and maintained by Valve as of 2023, recently with the Half-Life's 25th-anniversary updates which increased the engine limits and fixed many bugs.










Features
- AI flocking - NPCs can group together, seen with Houndeyes
- Skeletal animation - allowing for more stable animation of models, compared to the vertex animation in Quake
- Higher poly counts - GoldSrc allows for far more detailed models than Quake
- HD models
- Scripted sequences - Used extensively to tell Half-Life's story
- Player Bots (only in
),
- A3D/EAX hardware accelerated audio - improves DSP sound effects (such as removing echo's buzzing noises), and add surround sounds support (Removed since 2013 SteamPipe update).
Since 2003 Steam update
- VGUI2 - Valve's custom GUI interface mimics most of the Windows controls.
- In-game advertisements (
Counter-Strike, removed since SteamPipe) - Introduced in 2007.
Since 2013 SteamPipe Update
Since 25th Anniversary
- Increased engine limits - Valve has increased engine limitations, allowing for more entities and detailed maps.
- func_vehicle entity support from
Counter-Strike
- Native
Steam Deck support
- Steam Input support - Steam Input support was added, which allows the game to support more controllers and buttons.
Renderer
GoldSrc has two in-game renderers Software Renderer and OpenGL (previously three as Direct3D 7 support was removed in the 2013 SteamPipe Update) both renderers have differences.
- Colored lighting - Quake simply had monotone lighting
- Transparent textures - Glass can now be used in maps
- Transparent Water
- Water ripple - Quake simply Water ripple
- Water waves
- Dynamic iris simulation - similar to HDR Rendering (only in
)
- Detailed textures (only in
)

- Texture Filtering - Quake (GLQuake) simply Texture Filtering
- HD models
Since 2013 SteamPipe Update
- FBO renderer - A new method of rendering the game, which allows MSAA to work with GoldSrc engine. This also allows the game to run on fullscreen in a borderless window, and aspect ratio that are different from your monitors, for example, 4:3 on 16:9, will not be stretched to fill the black bars.

- MSAA anti-aliasing - GoldSrc now natively support anti-aliasing, specifically, MSAA 4X, which is enabled by default on most modern hardwares. This will reduce the amount of jagged edges/staircases effect on the geometry.
Since 25th Anniversary
- Stencil Shadows


- Software Renderer support on Linux
Versions and forks

For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
Year | Version / Game | Company | Features | Base | Notes |
---|---|---|---|---|---|
1998 - 1999 | v1.0.x.x/SDK v1 Old WON |
![]() |
Per-texture palettes Colored lighting Skeletal Models Support for HW accelerated audio (EAX/A3D) |
Quake (id Tech 2) | v30 .bsp, v10 .mdl |
2000 - 2001 | v1.1.0.x/SDK v2.0 New WON Counter-Strike 1.0 - 1.3 |
![]() |
VGUI Prediction-based Networking Miles Sound System (since 2001) |
Old WON | v30 .bsp, v10 .mdl VGUI was introduced with May 25, 2000 update (1.1.0.0), used for new Scoreboard (replacing old Opposing Force/text-based scoreboard), and the console & chat font was also changed to be slightly bigger (plus removing the orange gradient on the font). The netcode (originally from QuakeWorld), has been replaced or significantly updated in 2001, adding prediction-based networking. |
2002 | v1.1.0.9-v1.1.1.0/SDK v2.0 v1.0.1.4 (Steam Beta) New WON & Steam Beta Counter-Strike 1.4 & 1.5 Day of Defeat Beta 1.3 |
![]() |
VGUI2 (since 2002) Steam Beta/Tracker (optional, since 2002) VAC 1.0 |
New WON | v30 .bsp, v10 .mdl In 2002, the late WON build around 1.1.0.9 was the first version to support Steam Beta (and Tracker). Most users at the time did not use Steam Beta and install Steam Tracker so players will see "Tracker Error: TrackerUI.dll invalid, not loading", however user was able to open Half-Life Desktop overlay by pressing F1, providing limited functionality (Resume and Quit game option only) for those who did not have Steam Beta installed. VGUI2 was also introduced at the same time with Steam Beta, and used for Tracker feature aswell. |
2001 (leak)[Clarify] | Dreamcast | Captivation Digital Laboratories![]() |
Compressed model textures | v1.0.1.3/SDK v1 | v30 .bsp, v11 .mdl |
2001 | PlayStation 2 | ![]() |
LOD models | Dreamcast[citation needed] | v40 .bs2, v10 .dol |
2002 | 007: Nightfire | ![]() |
Direct3D 8 renderer MSAA support |
v1.1.0.x/SDK v2.0 (New WON)[citation needed] (For PC) | v42 .bsp, v14 .mdl Console version uses custom in-house engine while PC version uses heavily modified GoldSrc. |
2003 | Xbox | ![]() ![]() |
Improved lighting Dynamic iris simulation (HDR-like brightness adjust) |
Counter-Strike: Condition Zero engine branch earlier version[citation needed] | v30 .bsp, v11 .mdl, .sxwad format instead of wad |
2003 | Counter-Strike Neo engine branch | Namco | Heavily modified OpenGL Renderer Native linux support |
v1.1.x.x/SDK v2.0![]() Counter-Strike: Condition Zero engine branch (ver.2)[citation needed] |
v30 .bsp, v10 .mdl [confirm] |
2003 | Day of Defeat | ![]() |
Widescreen resolution support | v1.1.x.x/SDK v2.0 | v30 .bsp, v10 .mdl |
2003 | Steam | ![]() ![]() ![]() ![]() |
Detail textures (since 2004) Steamworks (replaces WON) Steam Friends VGUI on Main menu & Console VAC 2.0 (since 2005) |
v1.1.x.x/SDK v2.0[confirm] | v30 .bsp, v10 .mdl [confirm] Starting with this version, game files are no longer packaged inside .pak files, and instead either stored directly on filesystem, or stored in .gcf files prior to SteamPipe. This version is compatible with most games/mods built on WON/Retail version (many speedrunners often use 2001 WON client/server.dll on 2005 version of Half-Life). ![]() The first version of Friends no longer works as the old Steam server for this version was offline, while Friends v2 still partially works with latest Steam client, but buggy (message will only shown on Steam client and will not appear in-game). |
2013 | 2013 SteamPipe (SDK 2.4) | ![]() |
Linux and Mac support FBO renderer MSAA (4X) support Removed support for EAX/A3D surround sound and Direct3D 6 renderer Removed support for Quake MDLs (2019). |
Steam | v30 .bsp, v10 .mdl GCF has been removed and game files are now placed directly on the filesystem after SteamPipe. |
2013 | ![]() |
Team Psykskallar | Improved Paranoia's OpenGL Renderer | Steam/![]() |
v30 .bsp, v10 .mdl [confirm] Heavily modified, and based on pre-SteamPipe version. |
2016 | ![]() |
Sven Co-op Team | AngelScript FMOD audio (restores EAX/surround sound features) Extended engine limits |
2013 SteamPipe | v30 .bsp, v10 .mdl Significantly modified with extended engine limits and scripting using AngelScript. |
2023 | 25th anniversary, aka HL25 (SDK 2.5) | ![]() |
Increased engine limit Steam Input Shaders Steam Networking High-DPI support for VGUI Widescreen (Hor+) FOV WebM |
2013 SteamPipe | v30 .bsp, v10 .mdl Introduced with Half-Life 25th Anniversary Update, fixing various bugs and increased engine limit. The HLSDK was later updated with code introduced with said update. |
Half-Life SDK
As of August 2013, it is available on Steam under the "Tools" section. With it comes
Hammer 3.4, the 3ds Max sources for many cut and retail NPCs as well as player and weapon models, tools for packing textures into WADs, and detailed documentation on implementing baseline features such as voice chat into a mod.
The full source code for the latest version of the SDK can be found on Valve's Github Page.



Products using GoldSrc 



WARNING: Due to the template include size limitations, you need to add one of these sub-templates instead:
- {{Goldsrc games/Licensed}} - Officially licensed products
- {{Goldsrc games/Mods}} - Third-party modifications
- See GoldSrc games category for more games, and for articles about the game which uses the GoldSrc engine.
Specifications
Limits | GoldSrc Pre-25th | GoldSrc Post-25th | ![]() |
![]() |
---|---|---|---|---|
Maximum number of dynamic sound channels | 8 | 32 | 64 | N/A |
Default max number of server entities (MAX_EDICTS) | 900 | 1200 | 600 - 8192 | 8192 |
Absolute max number of server entities (via liblist.gam edits) | 2048 | 2048 | 8192 | N/A |
Maximum number of temporary entities (MAX_TEMPENTS) | 500 | N/A | 300 - 2048 | N/A |
Maximum number of particles (MAX_PARTICLES) | 4096 | N/A | 1024 - 131072 | N/A |
Maximum number of beams (MAX_BEAMS) | 64 | N/A | 64 - 512 | 256 |
Maximum number of visible entities in the package (MAX_VISIBLE_PACKET) | 256 | 1024 | 2048 | N/A |
Maximum number of pre-cacheable models and sprites (MAX_MODELS) | 512 | N/A | 1024 (4096 in FWGS) | 8192 |
Maximum number of pre-cached sounds (MAX_SOUNDS) | 512 | N/A | 2048 | 4096 |
Maximum number of entries to read sentences made up of sentences (MAX_SENTENCES) | 1536 | 2048 | 4096 | N/A |
Maximum number of user messages (MAX_USER_MESSAGES) | 128 | N/A | 191 | N/A |
Max number of loaded textures (MAX_TEXTURES) | 2048 | N/A | 4096 (8192 in FWGS) | N/A |
Max number of GL textures (MAX_GLTEXTURES) | 4800 | 10000 | 4096 (8192 in FWGS) | N/A |
Number of messages titles.txt (MAX_MESSAGES) | 1024 | N/A | 2048 | N/A |
Maximum size of indexed textures | 512х512 | 512x512 | 8192х8192 | N/A |
Maximum size of full color textures | 512х512 | 512x512 | 8192х8192 | N/A |
Maximum number of models on the map (MAX_MAP_MODELS) | 256 | N/A | 768 (1024 in FWGS) | 4096 |
Maximum number of map leafs (MAX_MAP_LEAFS) | 8192 | N/A | 32767 | 65536 |
Maximum number of entities per packet (MAX_PACKET_ENTITIES) | 256 | 1024 | 256 | 512 |
Maximum number of spans (software renderer geometry limit) | 3000 | 6000 | N/A | Removed |
Maximum number of surfaces (software renderer geometry limit) | 2000 | 4000 | N/A | Removed |
Maximum number of edges (software renderer geometry limit) | 7200 | 14400 | N/A | Removed |
Bugs and Limitations

Use GitHub in order to prevent duplicate or outdated bug reports at the wiki.


Other games like








This make the color less saturated and lighting much less brighter, as well as introduce chromatic aberration on brightly lit lightmaps.
The issue was fixed in the 25th anniversary update, which deprecated the gl_overbright 1 in favor of gl_use_shaders 1. However, there are more issues that was yet to be fixed with the new overbright lighting.
This issue can be also found on GLQuake, but for different reasons.







- Set the game (
hl.exe
) to "High Priority" in Task Manager. Disable multitexturing.










Trivia
- The term "GoldSrc" comes from development of the Source engine. A few months before the release of Half-Life, the Half-Life engine's source code was split into two branches: Src and GoldSrc. The GoldSrc branch was the gold master version of the codebase, and would be used for the proper release of the game. The Src branch, comparatively, would be continually iterated upon, adding and changing features for use in the sequel, with the term "Source Engine" eventually being picked up by marketing.[1]
See also
- For information about converting GoldSrc content to the Source engine, see Porting GoldSrc content (maps, models, etc.) to Source
- GoldSrc on Wikipedia
- GoldSrc SDK (Half-Life SDK) Documentation
- GoldSrc SteamPipe Directories
External links
- Source code + GitHub Issues - bug reports and the GoldSrc source code can be found here.
References
- User talk:Erik Johnson (Revision as of 12:53, 1 September 2005)
- Half-Life 25th Anniversary Update
- Relation between Paranoia & COF