Make sure metamod and sourcemod are installed correctly on your server, by writing sm version and meta version to the server's console, or while you are connected to the server. If you didn't get any errors, shutdown the server.
Download the ckSurf package and extract it
Upload the contents of the csgo folder, which you got from the ckSurf package, to your server's csgo folder (same folder where mapcycle.txt is).
On your server, go edit the databases.cfg file at csgo/addons/sourcemod/configs/. Add in a setting called "cksurf" with your databases settings.
Read more information about the database settings here.
Here is a basic example with sqlite, which should work on most servers, but if you are going to get a huge database with a lot of player information, sqlite might cause issues later.
Add all your surf map names to csgo/mapcycle.txt. This is required for the point system to work correctly. Remember to keep this up to date with the maps you are running on your server!
Launch your server on a surf_ map, and see if ckSurf is running by writing sm plugins list to the server console (by default the plugin won't launch on cs_ or de_ maps).
If ckSurf isn't running, check your csgo/addons/sourcemod/logs for errors_xxxxxx.log files. Try to find the newest file and search for lines that mention ckSurf. Read the error carefully to see if you can fix it yourself, otherwise search this thread with your error for a fix.
Connect to your server with an account that has the z admin-flag and write !insertmapzones to the chat, then click yes and wait untill all the zones are added. After that write !insertmaptiers and click yes again.
You have now succesfully installed ckSurf.
Optional things:
Install Stripper:Source with ckSurf's configs to fix broken maps that crash your server, broken anti-gravities, jail timers etc.
Download and install the latest Stripper:Source from the Snapshots link.
Start your server and make sure Stripper:Source is running correctly by writing meta list to your server's console.
On the ckSurf package, go to Optional Files > Stripper Configurations and upload the contents of that folder to your server's csgo/addons/stripper folder.
sm_usp - spawns a usp silencer
sm_avg - prints in chat the average time of the current map
sm_accept - allows you to accept a challenge request
sm_hidechat - hides your ingame chat
sm_hideweapon - hides your weapon model
sm_disarm - hides your weapon model
sm_goto - teleports you to a selected player
sm_sound - on/off quake sounds
sm_surrender - surrender your current challenge
sm_bhop - on/off autobhop
sm_help2 - Explanation of the ckSurf ranking system
sm_flashlight - on/off flashlight
sm_maptop - displays local map top for a given map
sm_hidespecs - hides spectators from menu/panel
sm_compare - compare your challenge results
sm_wr - prints records in chat
sm_abort - abort your current challenge
sm_spec - chooses a player who you want to spectate and switch you to spectators
sm_watch - chooses a player who you want to spectate and switch you to spectators
sm_spectate - chooses a player who you want to spectate and switch you to spectators
sm_challenge - allows you to start a race against others
sm_helpmenu - help menu which displays all ckSurf commands
sm_help - help menu which displays all ckSurf commands
sm_profile - opens a player profile
sm_rank - opens a player profile
sm_options - opens options menu
sm_top - displays top rankings (Top 100 Players, Top 50 overall)
sm_topSurfers - displays top rankings (Top 100 Players, Top 50 overall)
sm_bonustop - displays top rankings of the bonus
sm_btop - displays top rankings of the bonus
sm_stop - stops your timer
sm_ranks - prints in chat the available player ranks
sm_pause - on/off pause (timer on hold and movement frozen)
sm_showsettings - shows ckSurf server settings
sm_latest - shows latest map records
sm_showtime - on/off - timer text in panel/menu
sm_hide - on/off - hides other players
sm_togglecheckpoints - on/off - Enable player checkpoints
+noclip - Player noclip on
-noclip - Player noclip off
sm_nc - Player noclip on/off
// Teleportation commands
sm_stages - Opens up the stage selector
sm_r - Teleports player back to the start
sm_restart - Teleports player back to the start
sm_start - Teleports player back to the start
sm_b - Teleports player back to the start
sm_bonus - Teleports player back to the start
sm_bonuses - Displays a list of bonuses in current map
sm_s - Teleports player to the selected stage
sm_stage - Teleports player to the selected stage
sm_end - Teleports player to the end zone
// VIP
sm_vip - VIP's commands and effects.
sm_effects - VIP's commands and effects.
sm_effect - VIP's commands and effects.
// MISC
sm_tier - Prints information on the current map
sm_maptier - Prints information on the current map
sm_mapinfo - Prints information on the current map
sm_mi - Prints information on the current map
sm_m - Prints information on the current map
sm_difficulty - Prints information on the current map
sm_btier - Prints tier information on current map's bonuses
sm_bonusinfo - Prints tier information on current map's bonuses
sm_bi - Prints tier information on current map's bonuses
sm_howto - Displays a youtube video on how to surf
sm_ve - Vote to extend the map
sm_vmute - Mute a player
// Teleport to the start of the stage
sm_stuck - Teleports player back to the start of the stage
sm_back - Teleports player back to the start of the stage
sm_rs - Teleports player back to the start of the stage
sm_play - Teleports player back to the start
sm_spawn - Teleports player back to the start
// Player Checkpoints
sm_teleport - Teleports player to his last checkpoint
sm_tele - Teleports player to his last checkpoint
sm_prac - Teleports player to his last checkpoint
sm_practice - Teleports player to his last checkpoint
sm_cp - Creates a checkpoint, where the player can teleport back to
sm_checkpoint - Creates a eckpoint, where the player can teleport back to
sm_undo - Undoes the players lchast checkpoint.
sm_normal - Switches player back to normal mode.
sm_n - Switches player back to normal mode.
Admin Commands:
Spoiler
sm_ckadmin - Displays the ckSurf menu panel
sm_refreshprofile - Recalculates player profile for given steam id
sm_resetchallenges - Resets all player challenges (drops table challenges) - requires z flag
sm_resettimes - Resets all player times (drops table playertimes) - requires z flag
sm_resetranks - Resets the all player points (drops table playerrank - requires z flag)
sm_resetmaptimes - Resets player times for given map - requires z flag
sm_resetplayerchallenges - Resets (won) challenges for given steamid - requires z flag
sm_resetplayertimes - Resets pro map times (+extrapoints) for given steamid with or without given map - requires z flag
sm_resetplayermaptime - Resets pro map time for given steamid and map - requires z flag
sm_deleteproreplay - Deletes pro replay for a given map - requires z flag
sm_resetextrapoints - Resets given extra points for all players with or without given steamid
sm_deletecheckpoints - Reset checkpoints on the current map
sm_insertmaptiers - Insert premade maptier information into the database (ONLY RUN THIS ONCE)
sm_insertmapzones - Insert premade map zones into the database (ONLY RUN THIS ONCE)
sm_zones - Opens up the zone creation menu.
sm_admintitles - Gives a player a title
sm_admintitle - Gives a player a title
sm_givetitle - Gives a player a title
sm_removetitles - Removes player's all titles
sm_removetitle - Removes specific title from a player
sm_addmaptier - Changes maps tier
sm_amt - Changes maps tier
sm_addspawn - Changes the position !r takes players to
sm_delspawn - Removes custom !r position
sm_clearassists - Clears assist points (map progress) from all players
CVars:
Spoiler
// This file was auto-generated by SourceMod (v1.7.3-dev+5292)
// ConVars for plugin "ckSurf.smx"
// Admin flag required to open the !ckadmin menu. Invalid or not set, requires flag b. Requires a server restart.
// -
// Default: "b"
ck_adminmenu_flag "b"
// on/off - max 40 shots; +5 new/extra shots per minute; 1 he/flash counts like 9 shots
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_attack_spam_protection "1"
// 0: Announce all times to chat, 1: Only announce PB's to chat, 2: Only announce SR's to chat
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "2.000000"
ck_chat_record_type "0"
// The frequency in seconds that players are allowed to send chat messages. 0.0 = No chat cap.
// -
// Default: "1.0"
// Minimum: "0.000000"
ck_chat_spamprotection_time "1.0"
// on/off - Removes all weapons on the ground
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_clean_weapons "1"
// on/off Colors players names based on their rank in chat.
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_colored_chatnames "0"
// on/off - Enables a player connect message with country
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_connect_msg "1"
// on/off - Country clan tag
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_country_tag "1"
// on/off - Allows ckSurf to change the models of players and bots
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_custom_models "1"
// on/off - Enables a player disconnect message in chat
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_disconnect_msg "1"
// (1 / 0) Requires 2 successive !r commands to restart the player to prevent accidental usage.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_double_restart_command "1"
// on/off - Sets a suitable timelimit by calculating the average run time (This method requires ck_map_end 1, greater than 5 map times and a default timelimit in your server config for maps with less than 5 times
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_dynamic_timelimit "0"
// (0 / 1) Enables the !vip command. Requires a server restart.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_enable_vip "1"
// on/off - Allows players to use the !end command
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_end "1"
// Forces all players to join the CT team.
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_force_players_ct "0"
// on/off - Allows players to use the !goto command
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_goto "1"
// on/off - provides information about nextmap and timeleft in his player name
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_info_bot "0"
// on/off - Allows map changes after the timelimit has run out (mp_timelimit must be greater than 0)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_map_end "1"
// The max number of VIP vote extends
// -
// Default: "3"
// Minimum: "0.000000"
ck_max_vote_extends "3"
// Higher ranks than this won't be announced to the everyone on the server. 0 = Announce all records.
// -
// Default: "0"
// Minimum: "0.000000"
ck_min_rank_announce "0"
// 0 = Use mapcycle.txt to load servers maps, 1 = use configs/ckSurf/multi_server_mapcycle.txt to load maps
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_multi_server_mapcycle "0"
// on/off - Player no blocking
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_noblock "1"
// on/off - Allows players to use the !pause command
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_pause "1"
// Player arm skin
// -
// Default: "models/weapons/ct_arms_sas.mdl"
ck_player_arm_skin "models/weapons/ct_arms_sas.mdl"
// Player skin
// -
// Default: "models/player/ctm_sas_varianta.mdl"
ck_player_skin "models/player/ctm_sas_varianta.mdl"
// on/off - Player point system
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_point_system "1"
// The maximum prespeed for bonus start zones. 0.0 = No cap
// -
// Default: "320.0"
// Minimum: "0.000000"
// Maximum: "3500.000000"
ck_pre_bonus_speed "320.0"
// The maximum prespeed for speed start zones. 0.0 = No cap
// -
// Default: "3000.0"
// Minimum: "0.000000"
// Maximum: "3500.000000"
ck_pre_speed_speed "3000.0"
// The maximum prespeed for start zones. 0.0 = No cap
// -
// Default: "320.0"
// Minimum: "0.000000"
// Maximum: "3500.000000"
ck_pre_start_speed "320.0"
// Gives players x extra points for finishing a map for the first time.
// -
// Default: "50.0"
// Minimum: "0.000000"
// Maximum: "100.000000"
ck_ranking_extra_points_firsttime "50.0"
// Gives players x extra points for improving their time.
// -
// Default: "15.0"
// Minimum: "0.000000"
// Maximum: "100.000000"
ck_ranking_extra_points_improvements "15.0"
// (1 / 0) Enables a trail on the record bot.
// -
// Default: "1"
ck_record_bot_trail "1"
// (1 / 0) Back up replay files, when they are being replaced
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_replay_backup "1"
// on/off - Bots mimic the local map record
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_replay_bot "1"
// Replay pro bot arm skin
// -
// Default: "models/weapons/t_arms_professional.mdl"
ck_replay_bot_arm_skin "models/weapons/t_arms_professional.mdl"
// The default replay bot color - Format: "red green blue" from 0 - 255.
// -
// Default: "52 91 248"
ck_replay_bot_color "52 91 248"
// The trail color for the replay bot - Format: "red green blue" from 0 - 255.
// -
// Default: "52 91 248"
ck_replay_bot_trail_color "52 91 248"
// (1 / 0) Replace record bots if a players time is faster than the bot, even if the time is not a server record.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_replay_replace_faster "1"
// on/off - Restoring of time and last position after reconnect
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_restore "1"
// on/off - Allows to end the current round
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_round_end "0"
// 1 = Automatically spawn to the start zone when the client joins the team.
// -
// Default: "1.0"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_spawn_to_start_zone "1.0"
// Enable the sound after leaving the start zone.
// -
// Default: "1.0"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_startzone_sound_enabled "1.0"
// The path to the sound file that plays after the client leaves the start zone..
// -
// Default: "buttons\button3.wav"
ck_startzone_sound_path "buttons\button3.wav"
// (1 / 0) Teleport players automatically back to the start zone, when their settings have been loaded.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
ck_teleportclientstostart "1"
// The time in minutes that is added to the remaining map time if a vote extend is successful.
// -
// Default: "10.0"
// Minimum: "0.000000"
ck_vote_extend_time "10.0"
// Welcome message (supported color tags: {default}, {darkred}, {green}, {lightgreen}, {blue} {olive}, {lime}, {red}, {purple}, {grey}, {yellow}, {lightblue}, {steelblue}, {darkblue}, {pink}, {lightred})
// -
// Default: " {yellow}>>{default} {grey}Welcome! This server is using {lime}ckSurf"
ck_welcome_msg " {yellow}>>{default} {grey}Welcome! This server is using {lime}ckSurf"
// The color of BONUS END zones "red green blue" from 0 - 255
// -
// Default: "255 000 255"
ck_zone_bonusendcolor "255 000 255"
// The color of BONUS START zones "red green blue" from 0 - 255
// -
// Default: "000 255 255"
ck_zone_bonusstartcolor "000 255 255"
// The duration in seconds when the beams around zones are refreshed.
// -
// Default: "5.0"
ck_zone_checker "5.0"
// The color of CHECKER zones "red green blue" from 0 - 255
// -
// Default: "255 255 000"
ck_zone_checkercolor "255 255 000"
// The color of CHECKPOINT zones "red green blue" from 0 - 255
// -
// Default: "000 000 255"
ck_zone_checkpointcolor "000 000 255"
// 0 = Do not display zones, 1 = display the lower edges of zones, 2 = display whole zones
// -
// Default: "1"
ck_zone_drawstyle "1"
// Which zones are visible for players. 1 = draw start & end zones, 2 = draw start, end, stage and bonus zones, 3 = draw all zones.
// -
// Default: "1"
ck_zone_drawzones "1"
// The color of END zones "red green blue" from 0 - 255
// -
// Default: "255 000 000"
ck_zone_endcolor "255 000 000"
// The color of SPEED zones "red green blue" from 0 - 255
// -
// Default: "255 000 000"
ck_zone_speedcolor "255 000 000"
// The color of STAGE zones "red green blue" from 0 - 255
// -
// Default: "000 000 255"
ck_zone_stagecolor "000 000 255"
// The color of START zones "red green blue" from 0 - 255
// -
// Default: "000 255 000"
ck_zone_startcolor "000 255 000"
// The color of CHECKER zones "red green blue" from 0 - 255
// -
// Default: "000 000 000"
ck_zone_stopcolor "000 000 000"
// The color of TELETOSTART zones "red green blue" from 0 - 255
// -
// Default: "255 255 000"
ck_zone_teletostartcolor "255 255 000"
// The color of VALIDATOR zones "red green blue" from 0 - 255
// -
// Default: "255 255 255"
ck_zone_validatorcolor "255 255 255"
// Admin flag required to open the !zones menu. Invalid or not set, requires flag z. Requires a server restart.
// -
// Default: "z"
ck_zonemenu_flag "z"
Last edited by jonitaikaponi; 04-12-2016 at 08:48.
Reason: New installation instructions
What? The timer starts when a player leaves the start zone. If the timer isn't starting, are you sure you installed the zones?
Yeah, sorry it's working fine now.
Although I'm wondering if there's a way to set a specific spawn point for when a player types !r, so like for example on surf_leet_xl_beta7z have them spawn right next to the stair case to go to the boost but have the start zone cover the entire area, basically changing it from the center of a zone to a specific point that an admin creates.
Also, I was wondering if it would be possible to implement into the checkpoint/stages that compares your current time with the (world) map record time every time you enter a checkpoint / stage.
I'd be willing to pay/donate for such features.
Thank you again for the hard work on this timer, it's exactly what I was looking for. ^^