.:Xash3D Engine:.

Custom Gold Source Engine build from a scratch

Unkle Mike (aka G-Cont, aka Дядя Миша) - main developer
HLFX.ru & CS-Mapping.com.ua forum members - help, support, testing

CortexReaver, nemyax - English translation

Xash3D Engine has been tested for compatibility with many of Gold Source games and MODs. At this moment it should provide you an ability to successfully complete almost any existing singleplayer Half-Life mod without compatibility problems. Some mods can be not totally compatible, if they are too hardly modified or using some very specific or unstable features of Gold Source engine. Also multiplayer part of Xash3D engine is not fully completed yet because of lack of some important information and hidden source codes of Gold Source engine. So in most cases multiplayer mods should work good in a local or a LAN game, but some features can not work or work not exactly as under Gold Source engine. Check a detailed list of tested mods and a list of tested maps in "Features" section. A full list of Xash3D Engine features is also there, plus a guide on how to get work Half-Life and its' mods under Xash3D (in English and in Russian).


Since Xash3D is a Half-Life compatible engine, then all the innovations below will be given in comparsion with GoldSrc engine.

Basic limits.

Xash3D limits are not just higher than Half-Life ones, they also can be tuned in gameinfo.txt file.
- MAX_EDICTS is 600 - 4096 (versus 900 in Half-Life).
- MAX_TEMPENTS is 300 - 2048 (vs. 500).
- MAX_PARTICLES is 1024 - 8192 (vs. 4096).
- MAX_BEAMS is 64 - 512 (vs. 64)
Careful limits reduction can save RAM in mods which don't need many edicts. Also MAX_EDICTS parameter is broadcasted from server during a multiplayer session, it adjusts clients to new conditions automatically.

Other limits.

These limits are engine-hardcoded and can not be tuned by user.
- MAX_VISIBLE_PACKET is 512 entities (256 in Half-Life).
- MAX_MODELS is 2048 unique models (including sprites and bmodels)
- MAX_SOUNDS is 2048
- MAX_SENTENCES is 2048 (1534 in Half-Life)
- MAX_USER_MESSAGES is 191 (128 in WON Half-Life)
- MAX_TEXTURES is 4096 (2048 of them can be used for VGUI)
- MAX_MESSAGES is 2048 (1024 in Half-Life) (quantity of messages in titles.txt)
- Maximum size for indexed textures is 4096х4096 (vs. 512х512 in Half-Life)
- Maximum size for true-color textures is 4096x4096.

Limits for bsp-models.

- MAX_MAP_MODELS 1024 (256 in half-life)
- MAX_MAP_LEAFS 32767 (8192 in half-life)
Note: other BSP-model limits are specified by compiler tools and don't depend on the engine.

Realisitic lighting values on server.

Xash3D allows to get more accurate value of current lighting level, because it considers lightstyles and their current values. The player's lighting is taken directly from renderer and considers all lighting types, including entity light and dynamic light.

Improved decal save.

Half-Life supports decal save only on world surfaces and very rare on doors, elevators and other moving models. Xash3D saves decals on every brush model. Decal transition between levels is also maintained (implemented in Half-Life, but doesn't really work).

Entity patch technology support.

This technology allows to load entities from external .ent script file. This script can be produced by the external ripent.exe application or by engine's facilities by typing the entpatch command. If the command is entered when a map is loaded, a new entity patch will be created.

Various map formats support.

Xash3D supports following BSP-map formats: Quake 1, Half-Life, Half-Life Blue Shift. Besides, Quake 1 external bmodels are supported (medikit and ammo models). Note: it is recommended to play Quake 1 maps in Deathmatch Classic mod to prevent stuckness of player because of the difference between hull's sizes of Half-Life and Quake.

Hot resource precaching support.

Xash3D allows to precache models "on the fly" that helps to avoid nasty PF_PRECACHE_ERROR. Also Xash3D doesn't crash if a model or sound wasn't found.

Reliable changelevel.

Before switching to a next map Xash3D will analyze its state (without unloading the current map) and decides whether correct changelevel procedure is possible. In case of any error in a next map the engine will signal about it in the developer's console, and the changelevel will be aborted. The error message also contains troubleshoot tips that can make level designer's life easier, because such errors are most difficult to diagnose and fix.

Built-in credits.

To display credits and exit the game after, run the pfnEndSection command with oem_end_credits argument. The credits code is placed in menu.dll and can be changed by user at his discretion.

MOVETYPE_PUSH physics is more stable.

Xash3D entities behave more stable on moving platforms and don't shift away on sharp turns.

New MOVETYPE_COMPOUND physics type.

It allows to tie one entity to another, taking into account movement and rotation of the former entity. You can see an example in SDK - a crossbow bolt that correctly attaches itself to func_pushable, func_rotating, func_tracktrain and other brush models.

Console autocomplete support.

Xash3D has a powerful console autocomplete system that allows not just print command lists, but also describe all of them during the search. For more comfort you can type "makehelp" in the console, and the engine will generate help.txt that contains the list of all commands and variables with short descriptions. Map, movie, background track, cfg script, save, weapon (give command), sound (play command), game directory names input is also assisted by the autocomplete feature.

No parent directory restriction.

Most Quake engines are restricted to the parent directory with specific name, which doesn't matter when you make mod, but very uncomfortable when you make total game conversion and therefore replace the parent directory. Xash3D doesn't restricted to specific folder, and the parent directory is defined by the launcher. This way you can make your own game that doesn't depend on Half-Life.

Dedicated server has the autocomplete feature now, your command history can be saved.

Dedicated server has the autocomplete feature now, your command history can be saved.

Background maps support.

Background map is a map to be displayed as a menu background. You could see them in Half-Life 2. Xash has a simplier background map system - it doesn't depend on unlocked chapters (because original Half-Life has no chapters system) and it chooses the background map from the list. This list file must be named as chapterbackgrounds.txt and placed in scripts directory (if you don't have such directory, then just make it). Every list's entry is separated by new line. You can use any playable map as the background, but better don't use maps where player starts in a moving train, because it won't look good.

Lightstyle interpolation.

Turned off by default. Doesn't work with short sequences like switching on and off the light. It smooths light animation very well on long slow sequences like SlowStrobe or SlowPulse. Note: FPS rate may suffer from this option.

luma glowing textures support (Quake-style).

You can see such textures in original quake maps as glowing fields on a texture. Because this feature is caused by the Quake pallet's special features, the engine enables it for textures that have Quake or Quake2 pallet. This pallet is saved well after the simple conversion of wad2 files to wad3.

Improved model and sprite lighting.

Improved model lighting includes per-bone lighting from static and dynamic light sources, and it also includes correct model lighting on every stage of long sequence execution, when model goes far enough from its real location. The best example is forklift.mdl Sprite lighting is a correct lighting of all sprites that is rendered in additive mode and had "alphtest" during the compilation. For example, blood decals uses the world lighting and doesn't glow in darkness. Both sprites and models don't just use the world lighting, but also consider lighting of the closest brush model if there is one.

Player model display in the menu.

Instead of a usual player image you can see his 3D model in the menu and track all changes right on-the-spot.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Xash3D Engine has been updated to the version 0.99 with new build 3887, and you can grab it here: Moddb.com

This is pre-release version, which brings many changes, so if you interested in development of the engine, please try it now and comment what do you think, because there are more things to do before final release, and you have some time to test everything and help to make Xash3D better. As always, there are compiled binaries for Windows, full source code for the engine and tools, the list of changes and (a bit outdated) documentation about the engine, plus game dll-files with some additional improvements which should go into 'valve' folder to replace old ones.

This build provides many innovations, improvements and bug fixes. Due to numerous and significant changes, it still may contain some minor bugs and incompatibilities with some of previously tested Half-Life mods, so Unkle Mike decided to share this version on public to make sure, that final release will be rid of most of potential issues.

There are some of most noticeable changes:

  • Better predicting system and different improvenents for multiplayer / network. Please take a notice, that networking protocol has been updated too, so this build will NOT be compatible in multiplayer with servers / clients runned on previous builds.
  • Numerous changes in the engine and rendering system to make different things (like lighting, models, beams, sprites, decals, fog, particles, rendermodes etc.) look as possibly close as they look in GoldSrc (or even better).
  • Compatibility changes for Intel iGPUs (fixing of issues like 'red walls' and such).
  • Implementation of some additional features from Quake and DarkPlaces engines (aguirRe's TxQBSP 'broken' clipnodes, BSP2 format, alias models, external colored lighting, WAD2 format etc.). Some of changes were made for new Unkle Mike's project QWrap (it's a wrapper, which allows to play Quake and its mods directly via Xash3D Engine, without porting of any game content).
  • Implementation of boneweighting on studiomodels (which is intended to be in future a working feature in Paranoia 2: Savior or games / mods based on its code).
  • New mpeglib version to prevent some issues with MP3s.
  • Additional GoldSrc-like changes: software-only gamma, brightness (still called 'Glare reduction' in menu, but now works properly), 'MP3Volume' (instead of 'musicvolume') etc.
  • Different fixes/improvements everywhere (engine, file system, sound system, input, rendering, network, server, client, console, game menu).
  • Fixed compatibility or added a possible solution for previous issues in such Half-Life mods as Azure Sheep, Black Guard, Black Ops, Chemical Existence, Cthulhu, Friendship 2.0, Gunman Chronicles, Heart of Evil, PARANOIA, Poke646, Poke646: Vendetta, Stargate SG-1 Missions, Sweet Half-Life, They Hunger, Visitors etc.

Due to some of compatibility reasons Unkle Mike decided to remove the support of HD textures ('materials') from the engine. If you have some suggestions about that, please comment too.

If you have any troubles with using of Xash3D, please check this manual: Moddb.com

For questions about compatibility with singleplayer Half-Life mods / maps refer there (though the information may be outdated a bit): Moddb.com & Moddb.com

Pay attention, that Xash3D-based mods (such as XashXT, Paranoia 2: Savior, Quake Remake) are not compatible with build 3887 yet, because their game code is closely associated with old features of Xash3D Engine. So please wait until they are properly updated too.

List of singleplayer Half-Life mods tested under Xash3D

List of singleplayer Half-Life mods tested under Xash3D

Feature 26 comments

The list has been updated on December 22nd, 2014. Xash3D Engine was tested for compatibility with most of singleplayer Half-Life mods and maps, and for...

Running Half-Life under Xash3D: user's manual (English)

Running Half-Life under Xash3D: user's manual (English)

Feature 82 comments

Hello, if you are new with how to use Xash3D Engine to run Half-Life and its' mods, this manual is for you. Just follow the instruction and have fun!

Xash3D Engine v0.95 Features

Xash3D Engine v0.95 Features

Feature 22 comments

It's just a copy of information from Xash3D Readme (xash-en.chm, with minor editing). In a most part, the information is up to build 1905.

About Diffusion

About Diffusion


Talking about the mod. Story of developing, what it has right now etc.

Add game Games


First Person Shooter

You, James Smith (served in SWAT for a decade with no failed operations and now working as a detective), on vacation going to visit your family. Driving...



First Person Shooter

You will know a chilling story about misterious incident, which was happened in the middle Russia in 1994. Closed city Sverdlovsk-900 was abandoned and...



First Person Shooter

The game is a 3d shooter with the elements of the quest

Paranoia 2: Savior

Paranoia 2: Savior

First Person Shooter

Paranoia 2 Savior — first-person shooter in the style of survival horror, which is unfolding in a secret underground laboratory facility somewhere in...

Secret Operation®: Guardians

Secret Operation®: Guardians

First Person Shooter

The development of an entirely new Secret Operation. With the new engine, and a new approach. This project is a large scale, compared with the previous...

No Name

No Name

Third Person Shooter

This game is in early development and it is a common clone of GTA. If you would like to help, please contact me -kyp1998.




Добрый-Бобрый, лол. С вами балабер, а это КОТРА: Зубодробительный экшн где вы играете...

BOOM: Anatoly in Time

BOOM: Anatoly in Time

First Person Shooter

BOOM is returned :) Play this game and you узнаете, what is the PAIN! You play the BOOM when Boom plays YOU!

Comments  (0 - 10 of 702)

Anyone know a good pack of HD textures and models for Half-Life, Opposing Force and Blue Shift that support Xash3D?

Reply Good karma Bad karma+1 vote

Im thanking you devs for making this gold scource for android i wish there is halflife enchanced edition for android lol op

Reply Good karma Bad karma+2 votes

This comment is currently awaiting admin approval, join now to view.


Hi, I want to make a complaint about xash3d on android, the developers are lazy and do not want to remove an error that is making cs 1.6 and half life close all the time. Only live mods launchers from half life to android, last update you had on xash3d from Android was on April 1st and never had any more updates. Please remove this bug.

Reply Good karma Bad karma+3 votes

Issue tracker here:

Also, release on 1st April is a tradition.

Reply Good karma Bad karma+1 vote

Theres a Problem That Xash Engine Cannot Use Amx Mod X Mods For Xash Please Port It.

Reply Good karma Bad karma+1 vote

Yes Port It

Reply Good karma Bad karma+1 vote

things i found:

-when the crowbar swings at nothing it plays 2 animations. i tried it in my half-life install and it doesn't happen there, and when i use the same dlls on xash it does happen.
furthermore i compiled the hl source code and replaced the dlls and the same happens, in hl no bug, but in xash it still happens, what leads me to believe is a bug on xash

-there's sound stuttering. its more noticeable when when the tentacles hit the ground on blast pit, and when there's a lot of explosions happening (like during the resonance cascade)
also, sometimes when too many explosions happens at once some don't play sound (don't know if is because of stuttering)

-in xash singleplayer player model defaults to gordon.mdl, no player.mdl and if i change it to player it uses the helmet variant, no gordon face

-"disable dsp effects" is not remembered, it resets when launching the game

-the scientist that sends you to xen dialogue cuts randomly, files are ok, may be related to sound bug above, it's the only npc i saw with this problem

-fade in doesn't work propertly, they happen too fast and then show the normal screen again before the load, happens when you're captured in the sp and also when falling to your dead on xen

-often the console doesn't recognize commands, for example map gives me the error unknown command map. sometimes it works the second time and sometimes i have to close and reopen the console.
i didn't wrote the command with errors, because i just press backspace until all is gone and write again and still happens

tfc 1.5:

-sniper rifle charging doesn't work propertly; holding mouse1 doesn't make the charging anim work propertly and there's no sound when firing

-the engineer build menu doesn't work, trying to build gives you the error "build is read only", you have to use cmd build in the console for it to work.

Reply Good karma Bad karma+2 votes

Hi, I want to run CS 1.6 using Xash on my Windows PC because it felt so smooth playing it on my phone. I downloaded the latest zip, extracted both zips inside the zip to D:\Counter Strike Xash\ (just a name I came up witb) and moved the cstrike folder from my steam library. In powershell, I ran ./hl.exe -game cstrike and got a client.dll error which I don't get when I run HL. Is there anything I can do? Thanks

Reply Good karma Bad karma+1 vote

cs 1.6 doesn't work on pc because client.dll is encrypted (valve did it to prevent cheaters), last version that works is 1.3

Reply Good karma Bad karma+2 votes

wait a minute... how does the FWGS version run it then? i'm willing to run the android app with bluestacks,a but I really want to know.

Reply Good karma Bad karma+1 vote

someone made a cs 1.6 client for fwgs, but it doesn't work on pc, and from what i've read they don't want to port it because that may put them in problems with valve

Reply Good karma Bad karma+1 vote

r.i.p. does anyone play 1.3?

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Xash XT Group
Send Message
Release date
Engine watch
Community Rating



115 votes submitted.

You Say


Ratings closed.

Highest Rated (5 agree) 10/10

Just awesome. What you did creating this engine cannot be described with any words.

Jan 28 2012 by ADTeam™

Embed Buttons
Link to Xash3D Engine by selecting a button and using the embed code provided more...
Xash3D Engine
4 of 789
Last Update
337 members
You may also like
Eclipse Origins
Eclipse Origins Commercial
RPG in a Box
RPG in a Box Commercial
Multimedia Fusion
Multimedia Fusion Commercial
Construct 2
Construct 2 Commercial
jMonkeyEngine BSD