splewis / get5

CS:GO Sourcemod plugin for competitive matches/scrims
GNU General Public License v3.0
556 stars 174 forks source link

Server hangs for a second after everyone is ready. #220

Closed xenius closed 6 years ago

xenius commented 6 years ago

Hi! I have a minor problem with my server running the get5 plugin. Everytime the match is about to begin the servers hangs for a second and everyone gets a warning connection in red letters top right corner.

Does this have anything to do with the gotv delay or something i can't figure it out. I thought it had something to do with the team tags or something that get generated in the start of the match but that doesn't seem to be the problem. I only am running SM & MM and get5 (i disable practicemode everytime we want to scrim, plugins\disabled) So get5 is the only plugin with sourcemod running.

Debug log: Time: 12/27/2017 - 23:22:09 Plugin version: 0.5.4 sourcemod_version = 1.8.0.5985 metamod_version = 1.10.7-devV

Global state: g_GameState = 0 (none) g_MatchID = scrim g_MapsToWin = 1 g_BO2Match = 0 g_LastVetoTeam = 1 g_MapPoolList (length 1) = [0] -> de_inferno g_MapsToPlay (length 1) = [0] -> de_inferno g_MapsLeftInVetoPool (length 1) = [0] -> de_inferno g_MatchTitle = Map {MAPNUMBER} of {MAXMAPS} g_PlayersPerTeam = 5 g_MinPlayersToReady = 0 g_MinSpectatorsToReady = 0 g_SkipVeto = 1 g_MatchSideType = 2 g_InScrimMode = 1 g_HasKnifeRoundStarted = 0 g_MapChangePending = 0 g_PendingSideSwap = 0 g_WaitingForRoundBackup = 0 g_SavedValveBackup = 0 g_DoingBackupRestoreNow = 0 Team info for team team1 (0): g_TeamNames = * g_TeamAuths (length 5) = [0] -> 7 [1] -> 7 [2] -> 7 [3] -> 7 [4] -> 7 g_TeamTags = g_FormattedTeamNames = {LIGHT_GREEN}Endeavor{NORMAL} g_TeamFlags = BE g_TeamLogos = g_TeamMatchTexts = g_TeamSide = T (2) g_TeamSeriesScores = 0 g_TeamReadyOverride = 0 g_TeamStartingSide = 3 g_TeamPauseTimeUsed = 0 g_TeamPausesUsed = 0 g_ReadyTimeWaitingUsed = 0 Team info for team team2 (1): g_TeamNames = Away g_TeamAuths (length 0) = g_TeamTags = g_FormattedTeamNames = {PINK}Away{NORMAL} g_TeamFlags = EU g_TeamLogos = g_TeamMatchTexts = g_TeamSide = CT (3) g_TeamSeriesScores = 1 g_TeamReadyOverride = 0 g_TeamStartingSide = 2 g_TeamPauseTimeUsed = 0 g_TeamPausesUsed = 0 g_ReadyTimeWaitingUsed = 0 Team info for team spec (2): g_TeamNames = g_TeamAuths (length 0) = g_TeamTags = g_FormattedTeamNames = g_TeamFlags = g_TeamLogos = g_TeamMatchTexts = g_TeamSide = none (0) g_TeamSeriesScores = 0 g_TeamReadyOverride = 0 g_TeamStartingSide = 0 g_TeamPauseTimeUsed = 0 g_TeamPausesUsed = 0 g_ReadyTimeWaitingUsed = 0 Team info for team none (3): g_TeamNames = g_TeamAuths (length 0) = g_TeamTags = g_FormattedTeamNames = g_TeamFlags = g_TeamLogos = g_TeamMatchTexts = g_TeamSide = none (0) g_TeamSeriesScores = 0 g_TeamReadyOverride = 0 g_TeamStartingSide = 0 g_TeamPauseTimeUsed = 0 g_TeamPausesUsed = 0 g_ReadyTimeWaitingUsed = 0

Interesting cvars: get5_autoload_config = get5_check_auths = 1 get5_fixed_pause_time = 0 get5_kick_when_no_match_loaded = 0 get5_live_cfg = get5/live.cfg get5_max_pause_time = 300 get5_max_pauses = 0 get5_mysql_force_matchid = NULL CVAR get5_pausing_enabled = 1 get5_reset_pauses_each_half = 1 get5_web_api_url = NULL CVAR mp_freezetime = 15 mp_halftime = 1 mp_halftime_duration = 15.0 mp_halftime_pausetimer = 0 mp_match_end_restart = 1 mp_maxrounds = 30 mp_overtime_enable = 0 mp_overtime_halftime_pausetimer = 0 mp_overtime_maxrounds = 6 mp_round_restart_delay = 5 mp_timelimit = 0 mp_warmup_pausetimer = 0 mp_warmuptime_all_players_connected = 0 sv_coaching_enabled = 1 tv_delay = 0 tv_enable = 1

Last log info from addons/sourcemod/logs/errors_20171227.log: L 12/27/2017 - 23:22:09: [get5.smx] Failed to find cvar: "get5_web_api_url" L 12/27/2017 - 23:22:09: [get5.smx] Failed to find cvar: "get5_mysql_force_matchid" L 12/27/2017 - 23:22:09: Info (map "de_inferno") (file "errors_20171227.log") L 12/27/2017 - 23:22:09: SourceMod error session started

Last log info from addons/sourcemod/logs/get5_debuginfo.txt:

But thats not really the log of the game, i did the console command after (get5_debuginfo)

Is there a way i can get you a better log or something? But i seriously think it has something to do with gotv.

My Live.CFG: ammo_grenade_limit_default 1 ammo_grenade_limit_flashbang 2 ammo_grenade_limit_total 4 bot_kick bot_quota 0 mp_afterroundmoney 0 mp_autokick 0 mp_autoteambalance 0 mp_backup_restore_load_autopause 0 mp_backup_round_auto 1 mp_buytime 15 mp_c4timer 40 mp_ct_default_secondary "weapon_hkp2000" mp_death_drop_gun 1 mp_endmatch_votenextmap 0 mp_free_armor 0 mp_freezetime 15 mp_friendlyfire 1 mp_give_player_c4 1 mp_halftime_duration 60 mp_halftime_pausetimer 0 mp_halftime_pausematch 1 mp_ignore_round_win_conditions 0 mp_limitteams 0 mp_match_end_restart 1 mp_maxmoney 16000 mp_maxrounds 30 mp_overtime_enable 1 mp_overtime_halftime_pausetimer 0 mp_overtime_maxrounds 6 mp_overtime_startmoney 10000 mp_respawn_immunitytime 0 mp_respawn_on_death_ct 0 mp_respawn_on_death_t 0 mp_round_restart_delay 5 mp_roundtime 1.92 mp_roundtime_defuse 1.92 mp_roundtime_hostage 1.92 mp_solid_teammates 1 mp_startmoney 800 mp_t_default_secondary "weapon_glock" mp_timelimit 0 spec_freeze_deathanim_time 0 spec_freeze_panel_extended_time 0 spec_freeze_time 2 spec_freeze_time_lock 2 sv_allow_votes 0 sv_auto_full_alltalk_during_warmup_half_end 0 sv_coaching_enabled 1 sv_competitive_official_5v5 1 sv_damage_print_enable 0 sv_deadtalk 0 sv_hibernate_postgame_delay 300 sv_holiday_mode 0 sv_talk_enemy_dead 0 sv_talk_enemy_living 0 sv_voiceenable 1 tv_delay 0 tv_delaymapchange 1 tv_relayvoice 0 mp_respawnwavetime_ct 10 mp_respawnwavetime_t 10 mp_match_restart_delay 10 mp_win_panel_display_time 3

My scrim_template.cfg

"Match" { "matchid" "scrim" "scrim" "1" "side_type" "never_knife" "players_per_team" "5" "num_maps" "1" "skip_veto" "1"

"team1"
{
    // Short tags replace the "clan tag" on the scoreboard. They are optional.
    "name"      "*"
    "flag"      "BE"
    "players"
    {
        "*"
        {
            "*"     "x"
        }
        "*"
        {
            "*"     "x"
        }
        "*"
        {
            "*"     "x"
        }
        "*"
        {
            "*"     "x"
        }
        "*"
        {
            "*"     "x"
        }
    }

}
"cvars"
{
    "get5_live_countdown_time"      "5"
    "mp_halftime_duration"      "15"
    "mp_match_can_clinch"       "1"
    "mp_overtime_enable"        "1"
    "get5_max_pauses"  "0"
    "get5_max_pause_time" "0" 
    "get5_fixed_pause_time"  "0"
    "get5_pausing_enabled"  "1"
    "get5_check_auths"      "1"
    "get5_demo_name_format"     "scrim_{TIME}_{MAPNAME}"
    "get5_kick_when_no_match_loaded"        "0"
    "get5_print_damage"        "1"
}
"team2"
{
    "name"      "AWAY"
    "flag"      "EU"
}

}

just hiding some names here. If there is any other debug thing i can post, let me know.

splewis commented 6 years ago

I know you're hiding names/steamids, but is that how your scrim template for team1 is formatted?

    "players"
    {
        "*"
        {
            "*"     "x"
        }
        "*"
        {
            "*"     "x"
        }
        "*"
        {
            "*"     "x"
        }
        "*"
        {
            "*"     "x"
        }
        "*"
        {
            "*"     "x"
        }
    }

It's supposed to look like the example:

    "players"
    {
        "steamid1"        "name1"
        "steamid2"        "name2"
        "steamid3"        "name3"
        "steamid4"        "name4"
        "steamid5"        "name5"
        "steamid6"        "name6"
    }
xenius commented 6 years ago

yes it is formatted like i posted. Editing the files now. I will post an update when i can. Thanks

xenius commented 6 years ago

Same problem with:

"Match"
{
    "matchid"       "scrim"
    "scrim"     "1"
    "side_type"     "never_knife"
    "players_per_team"      "5"
    "num_maps"      "1"
    "skip_veto"     "1"

    "team1"
    {
        // Short tags replace the "clan tag" on the scoreboard. They are optional.
        "name"      "name"
        "flag"      "BE"
        "tag" "name*"
        "players"
        {
            "STEAM_0:0:187"     ""
            "STEAM_0:1:26"      ""
            "STEAM_0:1:15"      ""
            "STEAM_0:0:524"     ""
            "STEAM_0:1:8"       ""
        }

    }
    "cvars"
    {
        "get5_live_countdown_time"      "5"
        "mp_halftime_duration"      "15"
        "mp_match_can_clinch"       "1"
        "mp_overtime_enable"        "1"
        "get5_max_pauses"  "0"
        "get5_max_pause_time" "0" 
        "get5_fixed_pause_time"  "0"
        "get5_pausing_enabled"  "1"
        "get5_check_auths"      "0"
        "get5_demo_name_format"     "scrim_{TIME}_{MAPNAME}"
        "get5_kick_when_no_match_loaded"        "0"
        "get5_print_damage"        "1"
    }

    "team2"
    {
        "name"      "AWAY"
        "flag"      "EU"
        "tag" "AWAY *"
    }
}
splewis commented 6 years ago

I can't reproduce any problems. I'd try just running rcon tv_record test and see if the server lags, or disabling gotv (you could test by doing get5_scrim then get5_forceready).

xenius commented 6 years ago

No problem at all when I'm alone on the server starting a match. (With GOTV enabled)

But it seems when the scrim_template.cfg needs to change the names or tags or whatever settings when there is 10 people on the server i get that warning: connection problem message for a second.

Technoblazed commented 6 years ago

out of curiosity, do you use mysqlstats?

splewis commented 6 years ago

Based on

get5_mysql_force_matchid = NULL CVAR

He does not.

xenius commented 6 years ago

I've reinstalled my server, and all plugins, all up to date versions. Lets see if it gets fixed.

xenius commented 6 years ago

Same problem unfortunately...

xenius commented 6 years ago

Finally found the problem. it has something to do with tv_delay i changed this in every possible config to 0 (everywhere the same) and now it works fine. Thanks for this awesome plugin!

splewis commented 6 years ago

That's surprising, but probably indicated either some problem with your configs for CS:GO itself.

Either way, I don't think it's a get5 issue. Thanks for posting an update on your problem!