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" ""
}
}
}
}
Code: Select all
game_type 2
game_mode 0
mapgroup mg_fun
map gg_summer