Catalog News Guides Community For contributors
Everything for CS 1.6 / CSS / CS:GO servers - Plugins | Builds | Models | Maps » Counter-Strike » Plugins » Plugins [REAPI] » ReHLDS: documentation for the HLDS server dependency

ReHLDS: documentation for the HLDS server dependency

10.11.2026, 22:11adminViews: 0Comments: 0
ReHLDS: documentation for the HLDS server dependency

About this content

Features

ReHLDS is the result of reverse analysis of the original HLDS builds 6152/6153 using DWARF debug data from the Linux version of engine_i486.so. The project also fixes discovered defects and potential errors. Its goal is a more stable version of the Half-Life dedicated server than the official one, as well as an extended API for mods and plugins. Performance optimization, particularly using SSE for vector calculations, is described in the README as a future goal.

The dependency adds server settings for working with resources, network traffic, and player commands, as well as commands for viewing cached resources and managing the RCON IP address list.

Requirements and compatibility

ReHLDS is compatible with the pre-anniversary version of HLDS downloaded via steamcmd, with an engine version no higher than 8684. Older platforms in the 5xxx branch and below, obtained via hldsupdatetool, are not supported. The SSE, SSE2, and SSE3 instruction sets are required to run the binaries; SSE4.1 and SSE4.2 may improve operation.

ReHLDS is not binary-compatible with the original HLDS because it was built with different compilers. Plugins that analyze machine code, including Orpheu, may not work.

Building from source

On Windows, Visual Studio 2015 with C++14 support or newer is required. On Linux, CMake version 3.10 or newer is required; GCC 4.9.2+, ICC 15.0.1 20141023+, and LLVM (Clang) 6.0+ are listed as optional compilers. These are build requirements, not confirmation that a ready-made plugin or binary file is included in the archive.

Installation

The README recommends downloading a compatible HLDS via steamcmd, then replacing the original swds.dll or engine_i486.so with the corresponding ReHLDS binary. On Windows, you can also copy swds.pdb with debug information.

app_set_config 90 mod cstrike
app_update 90 -beta steam_legacy validate

The README lists release and development builds separately. For Linux releases, it also describes GPG signature verification: import the key with the command gpg --import 63547829004f07716f7be4856c32c4282e60fb67.asc, and after downloading the archive and its .asc file, run gpg --verify some-rehlds.zip.asc some-rehlds.zip.

Configuration

The documentation lists the following settings and initial values:

  • listipcfgfile — persistent IP ban file, default: listip.cfg; syserror_logfile — system error log, default: sys_error.log.
  • sv_auto_precache_sounds_in_models — automatically preload model sounds (0); sv_delayed_spray_upload — load sprays after joining the game (0); sv_echo_unknown_cmd — report an unknown command in the console (0); sv_rcon_condebug — output RCON debug information (1).
  • sv_force_ent_intersection — force collision for SOLID_SLIDEBOX entities for third-party plugins (0); sv_rehlds_force_dlmax — set the client-side cl_dlmax to 1024 (0); sv_rehlds_hull_centering — use the hull center instead of the corner (0).
  • sv_rehlds_movecmdrate_max_avg — average threshold for move commands (400); sv_rehlds_movecmdrate_avg_punish — penalty duration in minutes (5); sv_rehlds_movecmdrate_max_burst — move command burst threshold (2500); sv_rehlds_movecmdrate_burst_punish — penalty duration for a burst (5). A penalty value of 0 means a permanent ban; a negative value means a kick.
  • sv_rehlds_send_mapcycle — send mapcycle.txt in serverinfo (0); sv_rehlds_stringcmdrate_max_avg — average threshold for string commands (80); sv_rehlds_stringcmdrate_avg_punish — penalty for the average threshold (5); sv_rehlds_stringcmdrate_max_burst — burst threshold for string commands (400); sv_rehlds_stringcmdrate_burst_punish — penalty for a burst (5).
  • sv_rehlds_userinfo_transmitted_fields — userinfo keys sent to clients; an empty value means that all fields are sent, except those beginning with an underscore (default value: empty string). Keys are specified with a backslash prefix, for example: namemodel*sid*hltvbottomcolortopcolor.
  • sv_rehlds_attachedentities_playeranimationspeed_fix — fix the gait animation speed of a player with attached entities (0); the documentation warns about possible animation delays at low cl_updaterate. sv_rehlds_maxclients_from_single_ip — limit on simultaneous connections from a single IP address (5); sv_rehlds_local_gametime — local game time to reduce lag on a long-running map (0).
  • sv_rehlds_allow_large_sprays — allow logos larger than 64×64 (1); sv_use_entity_file — maps/[map name].ent entity file mode: 0 uses the original entities, 1 uses an existing .ent file, 2 uses it or creates one if the file does not exist. sv_usercmd_custom_random_seed — additional random server seed, independent of the client (0).
  • sv_net_incoming_decompression — decompress incoming compressed file transfers (1); sv_net_incoming_decompression_max_ratio — maximum ratio of compressed to uncompressed data, range 0–100 (80.0); sv_net_incoming_decompression_max_size — maximum size after decompression, range 16–65536 (65536 bytes).
  • sv_net_incoming_decompression_min_failures — minimum number of errors before marking a connection for possible penalty (4); sv_net_incoming_decompression_max_failures — maximum number of errors in the time window (10); sv_net_incoming_decompression_min_failuretime — minimum tracking interval in seconds (0.1); sv_net_incoming_decompression_punish — penalty for invalid bzip2 fragments, in minutes (-1; a negative value means a kick).
  • sv_tags — optional server tags, comma-separated (empty string); sv_filterban — IP filtering: -1 rejects everyone, 0 disables checks, 1 checks IP bans (default 1).
  • sv_rehlds_movecmd_max_ticks — maximum number of movement commands from a player per frame (24); sv_rehlds_movecmd_max_null_streak — maximum number of consecutive empty commands (0 disables the check); sv_rehlds_movecmd_clamp_interp — block invalid ex_interp (1); sv_rehlds_movecmdtime_samples — number of frames for averaging speed (120).
  • sv_rehlds_movecmdtime_max_error — allowed deviation of the client's internal clock in milliseconds (300); sv_rehlds_movecmdtime_max_scale і sv_rehlds_movecmdtime_min_scale — upper and lower game speed limits (3.0 and 0.5); sv_rehlds_movecmdtime_max_warnings — warning limit before a penalty (-1 disables detection); sv_rehlds_movecmdtime_punish — penalty for speeding up or slowing down (-1, kick).

Commands

  • rescount shows the total number of precached resources.
  • reslist <sound | model | decal | generic | event> lists resources of the selected type; the command helps monitor GoldSrc's precache limits.
  • rcon_adduser <ipaddress/CIDR> adds an IP address or range to the list of RCON users with privileged access to the console.
  • rcon_deluser <ipaddress> {removeAll} removes an address or range; rcon_users shows the list entries.

According to the README, if there are no RCON users, access is allowed to anyone who has the correct password. ReHLDS is distributed under the MIT license; the project was previously under GPLv3, and the transition took place in July 2025.

Downloads

Version: 3.15.0.896.

The ZIP contains source code; compilation may be required before installation. Plugin file: @dependency.

Comments (0)

New content by email

Subscription with email confirmation. No more than one email per day. Unsubscribe via the link in any email.

Join the community

Register · Reset password