CS 1.6 Surf — The Physics-Exploit Movement Discipline
How Counter-Strike 1.6 Surf works — the ramp physics, sv_airaccelerate, combat surf vs skill surf, top maps and where surf competitively lives today.
Updated: 2026-07-30
Surf is a movement mode born from a Counter-Strike 1.6 physics quirk that turned into a competitive discipline. Hold a strafe key against a steep ramp and GoldSrc's air-strafe physics flings you across the level at speeds far above the normal 250 units/second cap.
Surf started as a novelty around 2003-2004, spawned its own map format, and eventually became one of the game's most-exported skills — CS: Source, CS:GO and CS2 all have surf communities that trace directly back to CS 1.6.
The physics behind it
GoldSrc's movement code allows air acceleration — when airborne, if your view angle differs from your velocity direction, the engine adds a small velocity component toward where you're looking. Normally that value is capped low. On a surf server:
sv_airaccelerate 100 // default 10 — surf servers uncap this
sv_maxvelocity 3500 // default 3500, sometimes higher on hardcore surf
With high sv_airaccelerate, sliding along a 30°-60° ramp with a strafe key produces continuous acceleration. Skilled surfers hit 3000-4000 units/second on hard maps. The normal running speed is 250.
Two disciplines
Combat Surf
- Surf + shoot other players
- Weapons drop on ramps, players surf between them
- Popular maps:
surf_ski,surf_greatriver,surf_ski_2,surf_ski_new - Same server browser categorisation as any deathmatch mode
Skill Surf
- Pure movement discipline — get from map start to end as fast as possible
- Server tracks completion time; leaderboards published
- Difficulty tiers: Tier 1 (easy) through Tier 6 (nightmare)
- No combat, no other players interfere with the run
Key techniques
- Ramp entry — hit the ramp with A or D pressed before touching it, so momentum carries in
- Angle matching — turn your view slightly toward the ramp direction to maximise acceleration
- Airtime chaining — leave one ramp and land exactly on the next without touching flat ground
- Boost surfing — some maps have booster triggers that add flat velocity
- Perfs — perfect edge boosts, adding significant speed at the top of a ramp
Popular maps
- surf_ski_new — the beginner map — one long ramp with a curved end
- surf_utopia_v3 — legendary tier 3 skill map with iconic music
- surf_kitsune_v2 — anime-themed tier 4 with multi-stage bonuses
- surf_greatriver — combat surf classic with pistol-only rounds
- surf_shrekfrogs — meme map, tier 2
- surf_lithium — Xtreme-Jumps community record map, tier 5
The map format uses .bsp files like any CS map; nothing special is needed to install them beyond dropping the file in cstrike/maps/.
Community and records
- Xtreme-Jumps — xtreme-jumps.eu — long-running EU-based record aggregator for Surf, KZ, Bhop and Trikz. Since ~2004.
- AlliedModders forums — server plugins for time tracking, checkpoint saves and record replay: forums.alliedmods.net
- GameBanana Surf category — thousands of community maps, gamebanana.com/games/2
Server plugins that make surf servers work
- Surf timer — tracks time, splits, WR (world record) attempts
- Checkpoint plugin — save/load position, useful for practice mode
- Autobhop — allows hold-space bhop on beginner maps (banned on records servers)
- Save/Load velocity — pauses your speed, useful for setup practice
Migration to Source engine
Surf peaked on CS 1.6 in the mid-2000s, then the discipline mostly migrated to CS: Source (better physics predictability) and eventually CS:GO. But small dedicated CS 1.6 surf servers still exist, particularly in the CIS region.
The core techniques translate across engines with tuning:
- CS 1.6:
sv_airaccelerate 100 - CS:S / CS:GO:
sv_airaccelerate 150or2000depending on server
What next?
- KZ and Bhop — sibling movement disciplines
- Console Commands — sv_ commands and mouse tuning for surf
- CS 1.6 vs CS2 — how the movement engine differs across CS versions