splewis/get5

[Nightly] SM Fails to load get5

FlowingSPDG opened this issue · 3 comments

Expected behavior

Loads get5 correctly

Actual behavior

Get5 fails to get Gamerules

---- Host_NewGame ----
Switching filesystem to allow files loaded from disk (sv_pure_allow_loose_file_loads = 1)
Host_NewGame on map de_mirage
L 11/18/2022 - 12:20:46: [SM] Exception reported: GameRules not available. CS_GetTeamScore native disabled.
L 11/18/2022 - 12:20:46: [SM] Blaming: get5.smx
L 11/18/2022 - 12:20:46: [SM] Call stack trace:
L 11/18/2022 - 12:20:46: [SM]   [0] CS_GetTeamScore
L 11/18/2022 - 12:20:46: [SM]   [1] Line 1861, get5/scripting/get5.sp::FormatCvarString
L 11/18/2022 - 12:20:46: [SM]   [2] Line 1062, get5/scripting/get5/stats.sp::DumpToFile
L 11/18/2022 - 12:20:46: [SM]   [3] Line 170, get5/scripting/get5/stats.sp::Stats_InitSeries
L 11/18/2022 - 12:20:46: [SM]   [4] Line 515, get5/scripting/get5.sp::OnPluginStart
L 11/18/2022 - 12:20:46: [SM] Unable to load plugin "get5.smx": Error detected in plugin startup (see error logs)

Perhaps CS_GetTeamScore called before Game rule selected?
It loads w/o any error if I execute sm plugins reload get5 .

Steps to reproduce

  • Plugin version
"get5_version" = "0.12.0-4c83ac7" notify singleplayer replicated                 - Current get5 version```
- Sourcemod version:
```sm version
 SourceMod Version Information:
    SourceMod Version: 1.11.0.6917
    SourcePawn Engine: 1.11.0.6917, jit-x86 (build 1.11.0.6917)
    SourcePawn API: v1 = 5, v2 = 16
    Compiled on: Oct 29 2022 09:40:18
    Built from: https://github.com/alliedmodders/sourcemod/commit/58f0ca47
    Build ID: 6917:58f0ca47
    http://www.sourcemod.net/
  • get5_debuginfo
Time: 11/18/2022 - 12:29:30
Plugin version: 0.12.0-4c83ac7
sourcemod_version = 1.11.0.6917
metamod_version = 1.12.0-dev+1164V



Global state:
g_GameState = 0 (none)
g_MatchID = 
g_RoundNumber = -1
g_MapsToWin = 1
g_LastVetoTeam = 0
g_MapPoolList (length 0) = 
g_MapsToPlay (length 0) = 
g_MapsLeftInVetoPool (length 0) = 
Defined map sides:
g_MatchTitle = 
g_PlayersPerTeam = 5
g_CoachesPerTeam = 2
g_MinPlayersToReady = 1
g_MinSpectatorsToReady = 0
g_SkipVeto = 0
g_MatchSideType = 0
g_InScrimMode = 0
g_SeriesCanClinch = 1
g_HasKnifeRoundStarted = 0
g_MapChangePending = 0
g_PendingSideSwap = 0
g_DoingBackupRestoreNow = 0
g_ReadyTimeWaitingUsed = 0
g_PausingTeam = 3
g_PauseType = 0
g_LatestPauseDuration = 0
g_PendingSurrenderTeam = 3
Team info for team1 (0):
g_TeamNames = 
g_TeamPlayers (length 0) = 
g_TeamTags = 
g_FormattedTeamNames = 
g_TeamFlags = 
g_TeamLogos = 
g_TeamMatchTexts = 
g_SurrenderVotes = 0
g_TeamSide = none (0)
g_TeamSeriesScores = 0
g_TeamReadyOverride = 0
g_TeamStartingSide = 0
g_TacticalPauseTimeUsed = 0
g_TacticalPausesUsed = 0
g_TechnicalPausesUsed = 0
g_TeamGivenStopCommand = 0
g_TeamCoaches (length 0) = 
Team info for team2 (1):
g_TeamNames = 
g_TeamPlayers (length 0) = 
g_TeamTags = 
g_FormattedTeamNames = 
g_TeamFlags = 
g_TeamLogos = 
g_TeamMatchTexts = 
g_SurrenderVotes = 0
g_TeamSide = none (0)
g_TeamSeriesScores = 0
g_TeamReadyOverride = 0
g_TeamStartingSide = 0
g_TacticalPauseTimeUsed = 0
g_TacticalPausesUsed = 0
g_TechnicalPausesUsed = 0
g_TeamGivenStopCommand = 0
g_TeamCoaches (length 0) = 
Team info for spec (2):
g_TeamNames = 
g_TeamPlayers (length 0) = 
g_TeamTags = 
g_FormattedTeamNames = 
g_TeamFlags = 
g_TeamLogos = 
g_TeamMatchTexts = 
g_SurrenderVotes = 0
g_TeamSide = none (0)
g_TeamSeriesScores = 0
g_TeamReadyOverride = 0
g_TeamStartingSide = 0
g_TacticalPauseTimeUsed = 0
g_TacticalPausesUsed = 0
g_TechnicalPausesUsed = 0
g_TeamGivenStopCommand = 0
g_TeamCoaches (length 0) = 
Team info for none (3):
g_TeamNames = 
g_TeamPlayers (length 0) = 
g_TeamTags = 
g_FormattedTeamNames = 
g_TeamFlags = 
g_TeamLogos = 
g_TeamMatchTexts = 
g_SurrenderVotes = 0
g_TeamSide = none (0)
g_TeamSeriesScores = 0
g_TeamReadyOverride = 0
g_TeamStartingSide = 0
g_TacticalPauseTimeUsed = 0
g_TacticalPausesUsed = 0
g_TechnicalPausesUsed = 0
g_TeamGivenStopCommand = 0
g_TeamCoaches (length 0) = 



Interesting cvars:
get5_allow_technical_pause = 1
get5_autoload_config = 
get5_auto_ready_active_players = 0
get5_check_auths = 1
get5_fixed_pause_time = 0
get5_kick_when_no_match_loaded = 0
get5_live_cfg = get5/live.cfg
get5_tech_pause_time = 0
get5_max_pause_time = 300
get5_max_pauses = 0
get5_max_tech_pauses = 0
get5_pause_on_veto = 0
get5_pausing_enabled = 1
get5_print_damage = 0
get5_print_damage_excess = 0
get5_damageprint_format = - [{KILL_TO}] ({DMG_TO} in {HITS_TO}) to [{KILL_FROM}] ({DMG_FROM} in {HITS_FROM}) from {NAME} ({HEALTH} HP)
get5_reset_pauses_each_half = 1
get5_web_api_url = NULL CVAR
get5_last_backup_file = 
mp_freezetime = 15
mp_halftime = 1
mp_halftime_duration = 15.0
mp_halftime_pausetimer = 0
mp_match_end_restart = 0
mp_maxrounds = 30
mp_overtime_enable = 0
mp_overtime_halftime_pausetimer = 0
mp_overtime_maxrounds = 6
mp_round_restart_delay = 7.0
mp_timelimit = 0
mp_warmup_pausetimer = 0
mp_warmuptime_all_players_connected = 60
sv_coaching_enabled = 0
tv_delay = 105
tv_enable = 0



Last log info from addons/sourcemod/logs/errors_20221118.log:
L 11/18/2022 - 12:20:46: [SM] Unable to load plugin "get5.smx": Error detected in plugin startup (see error logs)
L 11/18/2022 - 12:20:46: [SM]   [4] Line 515, get5/scripting/get5.sp::OnPluginStart
L 11/18/2022 - 12:20:46: [SM]   [3] Line 170, get5/scripting/get5/stats.sp::Stats_InitSeries
L 11/18/2022 - 12:20:46: [SM]   [2] Line 1062, get5/scripting/get5/stats.sp::DumpToFile
L 11/18/2022 - 12:20:46: [SM]   [1] Line 1861, get5/scripting/get5.sp::FormatCvarString
L 11/18/2022 - 12:20:46: [SM]   [0] CS_GetTeamScore
L 11/18/2022 - 12:20:46: [SM] Call stack trace:
L 11/18/2022 - 12:20:46: [SM] Blaming: get5.smx
L 11/18/2022 - 12:20:46: [SM] Exception reported: GameRules not available. CS_GetTeamScore native disabled.
L 11/18/2022 - 12:20:46: Info (map "de_mirage") (file "/home/user/csgo-server/csgo/addons/sourcemod/logs/errors_20221118.log")
L 11/18/2022 - 12:20:46: SourceMod error session started






sm plugins list:
get5.smx: Get5 by splewis, nickdnk & PhlexPlexico:  (0.12.0-4c83ac7, https://github.com/splewis/get5)
funcommands.smx: Fun Commands by AlliedModders LLC: Fun Commands (1.11.0.6917, http://www.sourcemod.net/)
reservedslots.smx: Reserved Slots by AlliedModders LLC: Provides basic reserved slots (1.11.0.6917, http://www.sourcemod.net/)
adminhelp.smx: Admin Help by AlliedModders LLC: Display command information (1.11.0.6917, http://www.sourcemod.net/)
admin-flatfile.smx: Admin File Reader by AlliedModders LLC: Reads admin files (1.11.0.6917, http://www.sourcemod.net/)
basebans.smx: Basic Ban Commands by AlliedModders LLC: Basic Banning Commands (1.11.0.6917, http://www.sourcemod.net/)
funvotes.smx: Fun Votes by AlliedModders LLC: Fun Vote Commands (1.11.0.6917, http://www.sourcemod.net/)
adminmenu.smx: Admin Menu by AlliedModders LLC: Administration Menu (1.11.0.6917, http://www.sourcemod.net/)
basecommands.smx: Basic Commands by AlliedModders LLC: Basic Admin Commands (1.11.0.6917, http://www.sourcemod.net/)
nextmap.smx: Nextmap by AlliedModders LLC: Provides nextmap and sm_nextmap (1.11.0.6917, http://www.sourcemod.net/)
basechat.smx: Basic Chat by AlliedModders LLC: Basic Communication Commands (1.11.0.6917, http://www.sourcemod.net/)
clientprefs.smx: Client Preferences by AlliedModders LLC: Client preferences and settings menu (1.11.0.6917, http://www.sourcemod.net/)
basevotes.smx: Basic Votes by AlliedModders LLC: Basic Vote Commands (1.11.0.6917, http://www.sourcemod.net/)
basecomm.smx: Basic Comm Control by AlliedModders LLC: Provides methods of controlling communication. (1.11.0.6917, http://www.sourcemod.net/)
antiflood.smx: Anti-Flood by AlliedModders LLC: Protects against chat flooding (1.11.0.6917, http://www.sourcemod.net/)
basetriggers.smx: Basic Info Triggers by AlliedModders LLC: Adds ff, timeleft, thetime, and others. (1.11.0.6917, http://www.sourcemod.net/)
playercommands.smx: Player Commands by AlliedModders LLC: Misc. Player Commands (1.11.0.6917, http://www.sourcemod.net/)
sounds.smx: Sound Commands by AlliedModders LLC: Sound Commands (1.11.0.6917, http://www.sourcemod.net/)

get5/scripting/get5.sp

Lines 1860 to 1861 in 4c83ac7

ReplaceStringWithInt(buffer, len, "{TEAM1_SCORE}", team1Side != Get5Side_None ? CS_GetTeamScore(view_as<int>(team1Side)) : 0);
ReplaceStringWithInt(buffer, len, "{TEAM2_SCORE}", team2Side != Get5Side_None ? CS_GetTeamScore(view_as<int>(team2Side)) : 0);