Epic Fun Knife is a Knife Arena mod for Counter-Strike 1.6 where every knife has unique abilities and a distinct playstyle, now featuring a team deathmatch mode. Enhanced by supportive items, the mod transforms knife fights into fast-paced, unpredictable battles that reward creativity, teamwork, and quick thinking.
TODO: demo video
- MOUSE2 (attack2) – Activate primary ability
- E (use) – Activate secondary ability
- R (reload) – Activate third ability
- F (impulse 100) – Activate fourth ability
- T (impulse 201) – Toggle activation of the knife's primary ability on MOUSE2
- M (chooseteam) – Open main menu
- Z (radio1) – Open knife selection menu
- X (radio2) or N (nightvision) – Open item shop menu
- G (drop) – Open inventory menu
- C (radio3) – Quick camera change
The mod uses a modular architecture. You can disable unnecessary plugins in addons/amxmodx/configs/plugins-efk.ini, except for efk_core.amxx, which is required. Below is a brief description of each plugin.
Click to expand
| Plugin | Description |
|---|---|
| efk_core.amxx | Core module containing the main game logic |
| efk_unprecacher.amxx | Removes unused vanilla resources to avoid hitting precache limits |
| efk_knife_*.amxx | Knife plugin |
| efk_item_*.amxx | Item plugin |
| efk_statsx_sql.amxx | Manages and stores player stats in a database |
| efk_statsx_aes.amxx | Implements stats commands like /top15, /rankstats, etc. |
| efk_balancer.amxx | Automatically balances teams by number and skill level |
| efk_deathmatch.amxx | Dynamic game mode with respawns and a damage zone. The team with the most kills at round end becomes immune to the zone; the losing team loses respawn ability |
| efk_hats.amxx | Enables hat customization |
| efk_presents.amxx | Random chance to drop a gift with a random item after killing an enemy |
| efk_dominations.amxx | Domination system inspired by Team Fortress 2 |
| efk_duels.amxx | Duel system inspired by Team Fortress 2 |
| efk_sayme.amxx | Adds chat commands /me and /hp |
| efk_damage_table.amxx | Displays top players by damage dealt at the end of the round |
| efk_radioblock.amxx | Blocks "fire in the hole" radio commands |
| efk_nextclient_features.amxx | Adds special visual effects for NextClient users |
| addon_floating_damage.amxx | Damager |
| next21_save_spec_money.amxx | Preserves player money when switching to spectator team |
The mod uses a modified version of CSStatsX SQL for managing player statistics, implemented in efk_statsx_sql.amxx and efk_statsx_aes.amxx. Use the following cvars to configure it:
Click to expand
| CVar | Default | Description |
|---|---|---|
| efk_statsx_host | localhost | MySQL host address |
| efk_statsx_user | root | MySQL username |
| efk_statsx_pass | MySQL password | |
| efk_statsx_db | amxx | Database name (MySQL or SQLite) |
| efk_statsx_table | efkstats | Table name in the database |
| efk_statsx_type | mysql | Database type (mysql or sqlite) |
| efk_statsx_create_db | 1 | Create table if it doesn't exist |
| efk_statsx_rankbots | 0 | Record stats for bots |
| efk_statsx_update | -1 | How to update player stats in the database-2 at death and disconnect-1 at the round end and disconnect0 at disconnect> 0 at the specified number of seconds and disconnect |
| efk_statsx_rankformula | 4 | Formula for rank calculation0 kills - deaths1 kills2 skill3 online time4 kills + assists / 35 assists |
| efk_statsx_knives | 1 | Enable knives stats |
| efk_statsx_autoclear | 0 | Automatically remove inactive players from database |
| efk_statsx_cachetime | -1 | Use the cache for get_stats-1 update at the end of the round or at the time of csstats_sql_update0 disable cache |
| efk_statsx_autoclear_day | 0 | Automatically clear all stats on a specific day |
| efk_aes_top | *abcsfiel | Columns shown in /top columns |
| efk_aes_online | *anl | Columns shown in /online columns |
| efk_aes_assistans | *asdl | Columns shown in /assist columns |
| efk_aes_level | *al | Columns shown in /level columns |
| efk_aes_rank | bcs | Columns shown in /rankstats columns |
Columns tags:
* - Rank
a - Name (only in /top15)
b - Kills
c - Deaths
d - Heal
e - Skill
f - Favorite Knife
h - Effectiveness
l - Level
k - K:D ratio
n - Online Time
s - Assists
Note: The MOTD supports up to 1534 characters, and chat messages are limited to 192 characters. If output is cut off, reduce the number of displayed columns or players (e.g., limit
/topto 10 entries).
Hat configurations are stored in addons/amxmodx/configs/efk_hats.json (create the file if it does not exist). The syntax is similar to the Hats plugin, but includes a level field to restrict access by player level.
Config example:
{
"EFK March 2025": {
"model": "march2025_rc01.mdl",
"tag": "b",
"level": 4
},
"Santa": {
"model": "santa_hat_v3.mdl",
"tag": "s",
"level": 0,
"items": [
"Red Santa",
"Blue Santa",
"Magenta Santa",
"Cyan Santa",
"Green Santa",
"Yellow Santa"
]
},
"Zed": {
"model": "zed_v02.mdl",
"tag": "n",
"level": 21
}
}- Clone repository with submodules:
git clone --recurse-submodules https://github.com/Next21Team/EpicFunKnife.git- Install dependencies and download latest assets:
npm i
Use .amxxpack.json configuration file
npm run build
Assets for the mod: https://www.dropbox.com/scl/fi/4s941jrbeenkau96inph8/efk_assets.zip?rlkey=dth0ou65a4537jec7anubmolh&dl=1