# ReHLDS reference (/docs/rehlds)

<Callout>
An unofficial reference maintained by Hostsrc. Built from the ReHLDS source and README at commit `550f2d6`; descriptions adapted from the README (MIT, the ReHLDS Contributors, see [Credits](/docs/rehlds/credits)). The official project is [ReHLDS on GitHub](https://github.com/rehlds/ReHLDS).
</Callout>

ReHLDS is a Half-Life dedicated server engine rebuilt by reverse engineering the original HLDS (build 6152/6153), with many defects and potential bugs found and fixed on the way. It also gives mods and plugins an extended API, which ReAPI, ReGameDLL_CS and Metamod-R build on. It is made by the ReHLDS Contributors and released under the MIT licence.

## Install [#install]

ReHLDS works with the official pre-anniversary HLDS (engine version 8684 or lower) that steamcmd downloads. It does not work with the old 5xxx builds from hldsupdatetool.

1. Download HLDS with steamcmd, from the `steam_legacy` branch:

   ```text
   app_set_config 90 mod cstrike
   app_update 90 -beta steam_legacy validate
   ```

2. Download a ReHLDS release from [ReHLDS releases](https://github.com/rehlds/ReHLDS/releases). Linux releases are signed with GPG; the ReHLDS README has the key and how to check a download.
3. Replace the original `engine_i486.so` (Linux) or `swds.dll` (Windows) with the ReHLDS one. On Windows you can also copy `swds.pdb`, the debug information.

The binaries need a CPU with SSE, SSE2 and SSE3, and use SSE4.1 and SSE4.2 when they are there.

## Compatibility [#compatibility]

ReHLDS is not binary compatible with the original HLDS: it is built with other compilers. Plugins that analyse the engine's machine code, such as Orpheu, probably won't work with it.

## In this reference [#in-this-reference]

- [Settings](/docs/rehlds/settings): every cvar ReHLDS adds, with its default, values and the first ReHLDS release that has it.
- [Commands](/docs/rehlds/commands): the console commands ReHLDS adds.
- [xHLDS](/docs/xhlds), our fork of ReHLDS, keeps all of these and adds its own.
