- Auto-installed Bhop server plugins (Metamod, Sourcemod, Shavit Timer, etc.)
- Docker containerization for easy setup and portability
- 100-tickrate enforced for smooth bunnyhopping
- Works locally or for remote server deployment
- Includes a few starter maps — add your own, use !zones to configure
- Pre-made zones/tiers for 10000 maps
- Docker (https://docs.docker.com/get-started/get-docker/) + WSL (Take Ubuntu)
- Git (optional)
Clone the repository:
git clone https://github.com/iErcann/Docker-Bhop-CSS
or download zip and extract it to a folder
Edit the server configuration file to personalize your setup:
File Path: cssserver.cfg
Example configuration:
hostname "Bhop Server" # Server name
rcon_password "" # Secure RCON password or disable
sv_setsteamaccount "your_token_here" # Steam Game Server Login Token, only needed if you want to be in the server browser
// Force 100 ticks
sv_mincmdrate 100
sv_maxcmdrate 101
sv_minrate 100000
sv_maxrate 0
sv_minupdaterate 100
sv_maxupdaterate 101
Tip: Generate a Steam Game Server Login Token (GSLT) at Steam Game Server Account Management.
Launch the Docker container to initialize your Counter-Strike: Source server:
docker compose up
Wait for all services to start. The server will run in the foreground.
Could take some time if running first time.
To run it in the background, use
docker compose up -d
Check the server's current status and details:
docker exec -it --user linuxgsm css-server ./cssserver details
Set up the server with essential plugins like Metamod, Sourcemod, and a Bhop Timer:
docker exec -it --user linuxgsm css-server bash /init.sh
This script will install the required plugins for a Bhop server:
- MetaMod:Source
- SourceMod
- Shavit's Bhop Timer
- bhop-get-stats
- Tickrate Enabler
- RNG Fixer
- 260 Velocity Fix for Weapons (so we don't need to drop them)
- Bash2 AntiCheat
- Show Clips
- Show Triggers
- LandFix with Hud and Cookies
- Gap
- Event Queue Fixer
- PushFix DE (booster fix, broken in new CSS update february 2025)
Access the game server console:
docker exec -it --user linuxgsm css-server ./cssserver console
Run the following command to confirm Metamod and Sourcemod are loaded:
meta list
sm plugins list
To connect to your server, you'll need its IP address. This is especially important if you're running Docker locally, as the server IP will typically be something like 172.17.x.x
(not 127.0.0.1
).
-
Check your network interfaces
Run the following command to list your network interfaces and their IP addresses:ifconfig
Look for the
inet
address under thedocker0
interface (for Docker containers) or your main network interface (commonlyeth0
). -
Examples:
Tip: Use the
inet
address (e.g.,172.17.0.1
) to connect to your server from your local machine or LAN.
For remote access, ensure your firewall and port forwarding settings allow external connections.
Use this pre-made command to edit the file directly using vi
:
docker exec -it --user linuxgsm css-server \
vi /app/serverfiles/cstrike/addons/sourcemod/configs/admins_simple.ini
Add your Steam ID in this format (replace with your actual Steam ID):
"STEAM_0:0:12345678" "z"
STEAM_0:0:12345678
: Your Steam ID (find yours here)z
: Full admin privileges flag
After saving the file:
- Restart your server, OR
- Run this in-game command:
docker exec -it --user linuxgsm css-server ./cssserver console
sm_reloadadmins
Use
"a"
instead of"z"
for basic admin rights To give only !zones to someone, give him only the"m"
. Disable RCON.
On all maps, you must create start and end zones for the bhop timer to work. To do this, type the commands in the chat:
!zones
- This will enable zone editing mode. (https://github.com/shavitush/bhoptimer/#shavit-zones-required)
!noclip
- This will allow you to fly and move through walls to go to the end.
Player commands:
!set, !setstart, !ss, !sp, !startpoint - Set your current position as the teleport location on restart.
!deletestart, !deletesetstart, !delss, !delsp - Delete your spawn point.
!drawallzones, !drawzones - Draws all zones (if the server has the cvar for this enabled).
Admin commands: (RCON flag)
!zones, !mapzones, !addzone - Opens the mapzones menu.
!deletezone, !delzone - Delete a mapzone.
!deleteallzones - Delete all mapzones.
!modifier - Changes the axis modifier for the zone editor. Usage: !modifier <number>
!addspawn - Adds a custom spawn location.
!delspawn - Deletes a custom spawn location.
!zoneedit, !editzone, !modifyzone - Modify an existing zone.
!setstart, !spawnpoint, !ss, !sp - Set your restart position & angles in a start zone.
!tptozone - Teleport to a zone.
Admin commands: (ROOT flag)
!reloadzonesettings - Reloads the zone settings.
- LinuxGSM Sourcemod Guide
- Bhop Stats
- Bhop Timer
- RNGFixer
- Bash2 AntiCheat (this one has .smx, but always require SteamWorks to work)
- Tickrate Enabler (fork, because broken)
- LandFix
- Show Clips
- Show Triggers
- Weapon PreSpeeds velfix
- Gap
- Line
- Requires : https://github.com/rtldg/sm_closestpos
- Event Queue Fixer
- PushFixDE
- Tracks player activity: who joined or left
- Alerts on map changes
- Supports multiple game servers using GameDig
- Built with TypeScript & Bun
- Dockerized
For more details, see /monitor/README.md
.