跳到主要内容

设置

ReHLDS 在标准 HLDS 控制台变量(cvar)之外新增了一组服务器变量,主要用于反作弊与防滥用调节、网络处理以及行为修复。可在 server.cfg 或任何随启动执行的配置文件中设置它们。

控制台变量​

CVar默认值说明
sv_auto_precache_sounds_in_models0自动预缓存绑定在模型上的音效。
sv_delayed_spray_upload0在玩家进入游戏后再上传自定义喷漆,而不是在连接时上传。可提高上传速度。
sv_echo_unknown_cmd0当客户端尝试执行未知命令时,在控制台输出提示。
sv_rcon_condebug1在控制台输出 RCON 调试信息。
sv_force_ent_intersection0供第三方插件使用,用于强制 SOLID_SLIDEBOX 实体产生碰撞。
sv_rehlds_force_dlmax0强制把客户端的 cl_dlmax 变量设为 1024,避免数据包过度分片。
sv_rehlds_hull_centering0使用碰撞体的中心而非其角点。
sv_rehlds_movecmdrate_max_avg400触发封禁前允许的「移动」命令平均速率上限。
sv_rehlds_movecmdrate_avg_punish5超出 sv_rehlds_movecmdrate_max_avg 时的封禁时长(分钟)。0 表示永久封禁,负值表示踢出。
sv_rehlds_movecmdrate_max_burst2500触发封禁前允许的「移动」命令峰值速率上限。
sv_rehlds_movecmdrate_burst_punish5超出 sv_rehlds_movecmdrate_max_burst 时的封禁时长(分钟)。0 表示永久封禁,负值表示踢出。
sv_rehlds_send_mapcycle0在服务器信息消息中发送 mapcycle.txt(与原版 HLDS 行为一致;客户端并不使用)。
sv_rehlds_stringcmdrate_max_avg80触发封禁前允许的「字符串」命令平均速率上限。
sv_rehlds_stringcmdrate_avg_punish5超出 sv_rehlds_stringcmdrate_max_avg 时的封禁时长(分钟)。0 表示永久封禁,负值表示踢出。
sv_rehlds_stringcmdrate_max_burst400触发封禁前允许的「字符串」命令峰值速率上限。
sv_rehlds_stringcmdrate_burst_punish5超出 sv_rehlds_stringcmdrate_max_burst 时的封禁时长(分钟)。0 表示永久封禁,负值表示踢出。
sv_rehlds_userinfo_transmitted_fields""只有在此列出的 userinfo 键才会通过网络发送给客户端。留空表示发送全部字段(以 _ 开头的键除外)。每个键前需加反斜杠,例如 \name\model\*sid\*hltv\bottomcolor\topcolor。完整参考见 Userinfo keys。
sv_rehlds_attachedentities_playeranimationspeed_fix0修复玩家身上附着实体(aiments)时出现的步态动画速度错误。当 cl_updaterate 较低时可能导致动画延迟。
sv_rehlds_maxclients_from_single_ip5限制同一 IP 地址的并发连接数(不影响已连接的玩家)。
sv_rehlds_local_gametime0减轻同一张地图长时间运行后玩家感觉到的「延迟」。
sv_rehlds_allow_large_sprays1允许大于 64x64 的自定义喷漆。
sv_use_entity_file0控制是否为地图使用单独的实体文件(maps/[地图名].ent)。0 为原始实体,1 为使用 maps 目录下的 .ent 文件,2 为使用 .ent 文件并在缺失时创建。
sv_usercmd_custom_random_seed0填充一个独立于客户端的额外随机数种子。
sv_net_incoming_decompression1解压传入的、经过压缩的文件传输数据。
sv_net_incoming_decompression_max_ratio80.0文件传输中压缩前后数据量的最大允许比值,范围 0–100。接近 90 的比值意味着数据量大且熵值低。
sv_net_incoming_decompression_max_size65536文件传输中解压后数据的最大允许字节数,范围 16–65536。
sv_net_incoming_decompression_min_failures4连接被标记为可能受罚之前所需的最少解压失败次数,范围 0–10。
sv_net_incoming_decompression_max_failures10在统计窗口内允许的最大解压失败次数,超出后将采取措施,范围 0–10。
sv_net_incoming_decompression_min_failuretime0.1统计解压失败的时间窗口(秒),范围 0.1–10.0。
sv_net_incoming_decompression_punish-1针对畸形或异常 bzip2 分片的封禁时长(分钟)。0 表示永久封禁,负值表示踢出。
sv_tags""服务器「游戏标签」列表,以逗号分隔,用于匹配和服务器浏览器中的筛选。
sv_filterban1IP 过滤模式。-1 表示无条件拒绝所有玩家,0 表示不做检查,1 表示踢出命中 IP 过滤或封禁记录的玩家。
sv_rehlds_movecmd_max_ticks24服务器在单帧内处理同一玩家移动命令的最大数量(按命令计,而非按数据包计)。
sv_rehlds_movecmd_max_null_streak0允许连续出现的零时长移动命令(空命令)的最大数量。0 表示关闭该检查。
sv_rehlds_movecmd_clamp_interp1拦截 ex_interp 取值超出允许范围的移动命令。
sv_rehlds_movecmdtime_samples120用于平均客户端移动速度的帧数。数值越大越准确,但检测越慢。
sv_rehlds_movecmdtime_max_error300在评估速度之前,允许客户端内部游戏时钟与服务器时钟相差的毫秒数。只有同时违反 sv_rehlds_movecmdtime_max_scale / _min_scale 时才会施加惩罚。
sv_rehlds_movecmdtime_max_scale3.0客户端基础游戏速度的上限倍率。超出此值加速的客户端会收到警告。
sv_rehlds_movecmdtime_min_scale0.5客户端基础游戏速度的下限倍率。低于此值减速的客户端会收到警告。
sv_rehlds_movecmdtime_max_warnings-1施加惩罚前允许的加速/减速外挂警告次数。-1 表示关闭检测。
sv_rehlds_movecmdtime_punish-1针对加速或减速作弊的惩罚(-1 表示踢出,0 表示永久封禁,负值表示踢出)。
sv_reconnect_timeout30换图后客户端必须在此秒数内重新发起连接,与网络通道是否活跃无关。这堵住了一个「幽灵槽位」漏洞:外挂拦截 reconnect 命令的同时保持网络通道存活,使 sv_timeout 永不触发。0 表示关闭该检查。
备注

sv_rehlds_userinfo_transmitted_fields 是最常与隐私和反作弊配置搭配使用的设置。每个标准键的取值类型、默认是否发送以及隐私方面的说明,请参见 Userinfo keys 维基页面。

文件​

CVar默认值说明
listipcfgfilelistip.cfg用于存放永久 IP 封禁的文件。
syserror_logfilesys_error.log系统错误日志文件。

控制台命令​

命令说明
rescount在服务器控制台输出已预缓存资源的总数。
reslist <sound | model | decal | generic | event>输出指定类型的已预缓存资源。便于管理资源并核对 GoldSrc 的预缓存上限。
rcon_adduser <ipaddress/CIDR>把某个 IP 地址或 CIDR 网段加入 RCON 用户列表,授予其特权控制台访问。列表为空时,任何知道正确密码的人都能使用 RCON。
rcon_deluser <ipaddress> {removeAll}把某个 IP 地址或 CIDR 网段从 RCON 用户列表中移除。
rcon_users列出 RCON 用户列表中的所有 IP 地址和 CIDR 网段。