Creating custom game type/mode in CS:GO

Post Reply
finn
A regular
A regular
Posts: 59
https://www.youtube.com/channel/UC40BgXanDqOYoVCYFDSTfHA
Joined: Sat Aug 25, 2012 3:48 pm

Creating custom game type/mode in CS:GO

Post by finn »

Has anyone had any success in creating their own custom game mode/type in the gamemodes_server.txt file?

The objective is I am trying to create a seperate game mode for fun type maps rather than to use an existing game mode/type ie. Classic Cassual to set the custom cvars and map rotation. (see gamemodes_server.txt file below)

I then created a cfg that would change the server to that new gamemode and change the map. (see funmap.cfg below)

So the game mode and type do change, and the map changes and the rotation is correct. The problem is whenever a player is connected, the server just goes into an endless mapchange loop. You can stay connected and join a team, but it is as if there is no roundtime and the scoreboard comes up and says the map is changing. Making the server unplayable.

Anyone have any ideas?

Code: Select all

// To use this file, rename it to GameModes_Server.txt
//
// Values here override the default gamemodes.txt 

"GameModes_Server.txt"
{
	"gameTypes"
	{
		"fun"
		{
			"value"				"2"

			"gameModes"
			{
				"fun"
				{
					"value"			 	"0"
					"matchmakingvalue"	"casual"
					"uid"				"31"
					"maxplayers"			"16"

					// These are the descriptive ui elements to display in the information box on.
					// These key/values should be pairs of strings.  The "key" will appear in the left
					// column, the "value" will appear in the right column.
					"ui"
					{
						"0"		{ "label" "#SFUI_CashColon"				"value" "$400" }
						"1"		{ "label" "#SFUI_WinMatchColon"			"value" "30 #SFUI_Minutes" }
						"2"		{ "label" "#SFUI_TimePerRoundColon"		"value" "3 #SFUI_Minutes" }
						"3"		{ "label" "#SFUI_BuyTimeColon"			"value" "45 #SFUI_Seconds" }
						"4"		{ "label" "#SFUI_SpectateColon"			"value" "#SFUI_SpectateAnyone" }
						"5"		{ "label" "#SFUI_BotsColon"				"value" "#SFUI_BotDifficulty2" }
					}

					// These are the convars that get setup when a game mode of this type is created.			
					"convars"
					{
						"bot_quota_mode"					"fill"
						"bot_quota"						"0"
						"bot_defer_to_human_items"			"1"
						"bot_defer_to_human_goals"			"1"
						"bot_difficulty"					"4"
						"bot_dont_shoot"					"0"
						"bot_chatter"						"off"
						"cl_playerspraydisable"				"1"
						"mp_friendlyfire"					"0"
						"ff_damage_reduction_grenade"		"0.85"
						"ff_damage_reduction_bullets"		"0.33"
						"ff_damage_reduction_other"			"0.4"
						"ff_damage_reduction_grenade_self"	"1"
						"mp_afterroundmoney"				"0"
						"mp_playercashawards"				"1"
						"mp_teamcashawards"					"1"
						"mp_maxrounds"						"0"
						"mp_halftime"						"0"
						"mp_timelimit"						"30"
						"mp_roundtime"						"2"
						"mp_freezetime"						"0"
						"mp_buytime"						"45"
						"mp_forcecamera"					"0"			// Set to 1 for team only spectating.
						"mp_defuser_allocation"				"0"
						"mp_death_drop_gun"					"1"			// 0=none, 1=best, 2=current or best
						"mp_death_drop_grenade"				"2"			// 0=none, 1=best, 2=current or best
						"mp_death_drop_defuser"				"1"	
						"mp_warmuptime"				"10"
						"cl_enable_roundstart_autobuy"		"0"
						"sv_ignoregrenaderadio"				"0"
						"mp_molotovusedelay"				"0"
						"sv_alltalk"						"0"
						"sv_deadtalk"						"1"
						"bot_autodifficulty_threshold_low"	"-2.0"	// Value between -20.0 and 20.0 (Amount below avg human contribution score, below which a bot should raise its difficulty)
						"bot_autodifficulty_threshold_high"	"0.0"	// Value between -20.0 and 20.0 (Amount above avg human contribution score, above which a bot should lower its difficulty)
						"mp_force_pick_time"				"15"
						"spec_freeze_time"					"5.0"
						"spec_freeze_panel_extended_time"	"0"
						"mp_match_can_clinch"				"0"			// 0=No mercy rule, 1=team can clinch match win early if they win > 1/2 total rounds
						"mp_startmoney"						"5000"
						"mp_maxmoney"						"16000"

						"sv_allow_votes"						"1"		// Voting allowed in this mode
						"sv_arms_race_vote_to_restart_disallowed_after"	"0"

						// cash award convars
						"cash_team_terrorist_win_bomb"				"3500"
						"cash_team_elimination_hostage_map"			"3000"
						"cash_team_elimination_bomb_map"			"3250"
						"cash_team_win_by_time_running_out"			"3250"
						"cash_team_win_by_defusing_bomb"			"3500"
						"cash_team_win_by_hostage_rescue"			"3500"
						"cash_team_loser_bonus"						"1400"
						"cash_team_loser_bonus_consecutive_rounds"	"500"
						"cash_team_rescued_hostage"					"750"
						"cash_team_hostage_alive"					"150"
						"cash_team_planted_bomb_but_defused"		"800"
						"cash_team_hostage_interaction"				"150"
						"cash_player_killed_teammate"				"-3300"
						"cash_player_killed_enemy_default"			"300"
						"cash_player_killed_enemy_factor"			"1"
						"cash_player_bomb_planted"					"300"
						"cash_player_bomb_defused"					"300"
						"cash_player_rescued_hostage"				"1000"
						"cash_player_interact_with_hostage"			"150"
						"cash_player_damage_hostage"				"-30"
						"cash_player_killed_hostage"				"-1000"

						// gungame tr defaults (not used in this mode)
						"mp_ggtr_bomb_respawn_delay"			"0"
						"mp_ggtr_bomb_detonation_bonus"			"1"
						"mp_ggtr_bomb_defuse_bonus"				"1"
						"mp_ggtr_bomb_pts_for_upgrade"			"2"
						"mp_ggtr_bomb_pts_for_he"				"3"
						"mp_ggtr_bomb_pts_for_flash"			"4"
						"mp_ggtr_bomb_pts_for_molotov"			"5"
						"mp_ggtr_halftime_delay"				"0.0"
						"mp_ggtr_rounds_per_half"				"5"
						"mp_ggtr_end_round_kill_bonus"			"1"
						"mp_ggtr_last_weapon_kill_ends_half"	"0"

						// gungame progressive defaults (not used in this mode)
						"mp_gungameimmunitytime"				"4"
						"mp_ggprogressive_round_restart_delay"	"15"
						"mp_ggprogressive_win_panel_pct"		"0.33333"

						"mp_weapons_allow_zeus"					"0"
						"mp_solid_teammates"					"1"
						"mp_free_armor"							"0"			

					}

					// Map groups for offline modes
					"mapgroupsSP"
					{
						"mg_de_train"		""
						"mg_de_dust"		""
						"mg_de_dust2"		""
						"mg_de_aztec"		""
						"mg_de_inferno"		""
						"mg_de_nuke"		""
						"mg_cs_italy"		""
						"mg_cs_office"		""
						"random_classic"	""
					}

					// Map groups for online modes
					"mapgroupsMP"
					{
						"mg_fun"		""
					}
				}
			}
		}

		"classic"
		{
			"gameModes"
			{
				"competitive"
				{

					"maxplayers"		"16"				// Note that maxplayers doesn't go in the convar block.
														// Another way to set maxplayers is to add -maxplayers_override XX to the cmd line.

					"convars"
					{
						"bot_quota"							"0"
						"bot_difficulty"							"4"
						"bot_chatter"							"off"
						"mp_freezetime"							"7"
						"sv_deadtalk"							"0"
						"mp_warmuptime"							"10"

					}

					"mapgroupsMP"						// List of mapgroups valid for this game mode ( competitive )
					{
						"mg_bomb"		""
					}
				}

				"casual"
				{

					"maxplayers"		"16"

					"convars"
					{
						"mp_startmoney"							"5000"
						"mp_maxmoney"							"16000"
						"mp_friendlyfire"						"1"
						"bot_quota"							"0"
						"bot_chatter"							"off"
						"mp_maxrounds"							"0"
						"mp_timelimit"							"30"
						"mp_roundtime"							"2"
						"mp_freezetime"							"0"
						"sv_alltalk"							"0"
						"sv_deadtalk"							"1"
						"mp_weapons_allow_zeus"						"0"
						"mp_solid_teammates"						"1"
						"mp_free_armor"							"0"
						"mp_defuser_allocation"						"0"
						"mp_warmuptime"							"10"

					}

					"mapgroupsMP"						// List of mapgroups valid for this game mode ( casual )
					{
						"mg_bomb"		""
					}
				}

			}	
		}
	}

//////////////////////////////////////////////////////////////////////////////////////////////
// Map groups
//
// To use a mapgroup, it needs to be defined in a keyvalues
// block such as the example below, as well as listed in the 
// 'mapgroupsMP' block within the game mode that will run it,
// such as the example above.
//
// Then launch the server with '+mapgroup MAPGROUPNAME'
//
// Example:
//
// srcds -game csgo +game_mode 1 +mapgroup mg_bomb_se +map de_nuke_se
//
//
// Check the developer wiki for updated community info
// https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers
//////////////////////////////////////////////////////////////////////////////////////////////


	"mapgroups"
	{
		"mg_fun"									// mapgroup definition
		{
			"name"			"mg_fun"
			"maps"
			{
				"aim_map"		""
				"gg_summer"		""
				"he_tennis"		""
			}
		}
	}
}
funmap.cfg

Code: Select all

game_type 2
game_mode 0
mapgroup mg_fun
map gg_summer
User avatar
Edge100x
Founder
Founder
Posts: 12945
Joined: Thu Apr 18, 2002 11:04 pm
Location: Seattle
Contact:

Re: Creating custom game type/mode in CS:GO

Post by Edge100x »

Does the server work when you try to modify an included game mode/type in the same way (just overwriting it with your customizations)?
finn
A regular
A regular
Posts: 59
Joined: Sat Aug 25, 2012 3:48 pm

Re: Creating custom game type/mode in CS:GO

Post by finn »

For the most part yes.

I have a feeling that the game is limited to its included modes, but hopefully someone on here can prove me wrong.
kdawgmaster
A semi-regular
A semi-regular
Posts: 21
Joined: Fri Aug 17, 2012 12:07 pm

Re: Creating custom game type/mode in CS:GO

Post by kdawgmaster »

Is there a way to combine two gamemode types like DE/CS/Domination into one overall game mode? And once the server gets to the map that supports that particular gamemode it will swap over to it?
FlyingMongoose
This is my homepage
This is my homepage
Posts: 353
Joined: Fri Sep 17, 2004 7:50 pm
Contact:

Re: Creating custom game type/mode in CS:GO

Post by FlyingMongoose »

https://forums.alliedmods.net/showthread.php?p=1740468
https://forums.alliedmods.net/showthread.php?p=1780766

The game is limited only to the 4 gamemodes provided. Third party modifiers give cvar suggestions to run their mods with them (like deathmatch and when zombiemod comes out it will give a list of best cvars and which gamemode to use too)
Image
finn
A regular
A regular
Posts: 59
Joined: Sat Aug 25, 2012 3:48 pm

Re: Creating custom game type/mode in CS:GO

Post by finn »

Thats what i figured, thanks for the info mongoose. I guess my server will never run classic casual as it was normally set to then. Heh
FlyingMongoose
This is my homepage
This is my homepage
Posts: 353
Joined: Fri Sep 17, 2004 7:50 pm
Contact:

Re: Creating custom game type/mode in CS:GO

Post by FlyingMongoose »

Well looking at your config above. You see under gametype and gamemod are both showing "fun"

change the first one to say "classic" the second one to show "casual" it will overwrite the default classic casual configs.
Image
finn
A regular
A regular
Posts: 59
Joined: Sat Aug 25, 2012 3:48 pm

Re: Creating custom game type/mode in CS:GO

Post by finn »

I had already made my changes in the gamemodes_server.txt to the classic casual mode to my liking. Just thought I would give creating a new mode a chance.
Post Reply