About This File
Compressor – Model Replacement Framework for CS 1.6 & HL
Compressor is a powerful model replacement framework designed for AMX Mod X servers. It allows server operators to compress multiple model entries into a single file, overcoming the 510 model resource limit while maintaining full functionality.
With Compressor, you no longer need to unprecache shields or weapons—servers can now maintain full model functionality while saving precached slots.
Key Features
-
Optimized Model Replacement: Automatically replaces models based on a configuration file.
-
Preserves Functionality: Correctly sets body groups, skin groups, and colormaps.
-
Automatic Precaching Management: Prevents original models from being precached.
-
Game Agnostic: Works with any AMX Mod X-supported game if compressed models and configs are provided.
-
Huge Slot Savings: Dramatically increases free precached model slots with minimal setup.
How it works:
When a configured model is requested:
-
Original model is prevented from precaching
-
Replacement entry is loaded from the config file
-
Body group, skin group, and colormap values are set automatically
Compatible Games
-
Half-Life
-
Counter-Strike 1.6
Additional games are supported if modders provide the compressed model files and corresponding configuration entries.
Configuration
1. Entities Configuration
The compressor_entities_[game].cfg file lists all weapon entities to monitor for p_ model replacements.
Example for CS 1.6 (compressor_entities_cstrike.cfg😞
weapon_mp5navy weapon_tmp weapon_p90 weapon_mac10 weapon_ak47 weapon_sg552 weapon_m4a1 ; ... additional weapons
Adding non-weapon entities may cause server crashes.
Replacements Configuration
The compressor_replacements_[game].cfg file maps original models to compressed replacements.
Example for CS 1.6 (compressor_replacements_cstrike.cfg😞
"models/shield/p_shield_deagle.mdl" "models/cstrike_compressed_models.mdl" 75 0 0 "models/shield/p_shield_fiveseven.mdl" "models/cstrike_compressed_models.mdl" 77 0 0 "models/p_ak47.mdl" "models/cstrike_compressed_models.mdl" 1 0 0 "models/p_awp.mdl" "models/cstrike_compressed_models.mdl" 3 0 0 ; ... additional entries
Format:
-
Original model – Path to the model being replaced
-
Replacement model – Path to the compressed model containing multiple submodels
-
Submodel – Body group index in the compressed model
-
Skingroup – Skin variation
-
Colormap – Color mapping
Muzzleflash Configuration (Optional)
Some games like CS 1.6 define muzzleflash attachments in p_ models rather than player models. This config maps weapons to muzzleflash models.
Example (compressor_muzzleflashes_cstrike.cfg😞
"models/p_ak47.mdl" "models/muzzle_long.mdl" "models/p_aug.mdl" "models/muzzle_short.mdl" "models/p_awp.mdl" "models/muzzle_long.mdl" "models/p_m249.mdl" "models/muzzle_heavy.mdl"
Compiler Options
The plugin includes compiler directives:
// Enable case-insensitive model name processing // Improves compatibility but increases overhead #define CASE_INSENSITIVE true
API Reference
Forward Callbacks
forward Compressor_ModelChanged(const iEntity, const szModel[] = "") forward Compressor_ModelChanged_P(const iEntity, const szModel[] = "")
-
Triggered when Compressor replaces a model or a
p_model
Native Functions
native Compressor_SetModel(const iEntity, const szModel[] = "")
-
Changes an entity’s model while maintaining Compressor optimization
-
Must be used for model changes to maintain compatibility
Incompatibilities
-
BackWeapon Plugins (any version) & SideWeapons by SoulWeaver16
-
Compressor takes priority and hides back weapons
-
-
Any plugin changing an entity’s model must use
Compressor_SetModel()-
Simple line replacement usually solves conflicts
-
Example:
#if defined _compressor_included Compressor_SetModel(iFlyingCrowbar, szModel); #else engfunc(EngFunc_SetModel, iFlyingCrowbar, szModel); #endif
Compressor is a release candidate. Tested in isolated environments, but not fully stress-tested in populated servers.
Requirements
-
AMX Mod X 1.9+
-
Compressed model files and configuration entries
What's New in Version 12/14/2025 08:43 AM See changelog
Released
No changelog available for this version.

