From 49215e791e14f79dfd43d4d13dda6eb3f5f3011e Mon Sep 17 00:00:00 2001 From: Maximiliano Jabase Date: Tue, 9 Sep 2025 13:09:57 -0300 Subject: [PATCH 1/5] add cooldowns to prevent multiple restarts --- plugins/server-refresh.smx | Bin 9232 -> 8473 bytes scripting/server-refresh.sp | 82 +++++++++++++++++++++++++----------- 2 files changed, 58 insertions(+), 24 deletions(-) diff --git a/plugins/server-refresh.smx b/plugins/server-refresh.smx index af7ba09ca8f2ab7c619db5b1f9526e1cc4e2d371..3083c945d540840e177bb1a0ed3d8f1c6393d2d3 100644 GIT binary patch literal 8473 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 m7XR`hT}o7#v7!zv8qo=Ek^dB4Ff>CAL#V(I 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 61) { - // restart - ExecuteRestart(g_iHourlyRestartType, g_iHourlyRestartWait); + // if there is nobody in the server or it should be ignored + if (GetConnectedPlayerCount() == 0 || g_iHourlyRestartIgnorePlayers == 1) + { + // update last restart time + g_iLastHourlyRestart = iCurrentTime; + // restart + ExecuteRestart(g_iHourlyRestartType, g_iHourlyRestartWait); + } } } } + return Plugin_Continue; } // timer function for restarting daily @@ -270,13 +286,23 @@ public Action Timer_DailyRestart(Handle hTimer) // check the daily restart time if (StrEqual(sTime, g_sDailyRestartTime)) { - // if there is nobody in the server or it should be ignored - if (GetConnectedPlayerCount() == 0 || g_iDailyRestartIgnorePlayers == 1) + // get current timestamp for cooldown check + int iCurrentTime = GetTime(); + + // check cooldown (prevent multiple restarts in same minute) + if (iCurrentTime - g_iLastDailyRestart >= 61) { - ExecuteRestart(g_iDailyRestartType, g_iDailyRestartWait); + // if there is nobody in the server or it should be ignored + if (GetConnectedPlayerCount() == 0 || g_iDailyRestartIgnorePlayers == 1) + { + // update last restart time + g_iLastDailyRestart = iCurrentTime; + ExecuteRestart(g_iDailyRestartType, g_iDailyRestartWait); + } } } } + return Plugin_Continue; } // timer function for restarting weekly @@ -315,21 +341,31 @@ public Action Timer_WeeklyRestart(Handle hTimer) // check the weekly restart day if (StringToInt(sTime) == iTime) { - // get the current minute - FormatTime(sTime, sizeof(sTime), "%M"); + // get the current time for hour and minute check + FormatTime(sTime, sizeof(sTime), "%H%M"); - // check the weekly restart hour time + // check the weekly restart time if (StrEqual(sTime, g_sWeeklyRestartTime)) { - // if there is nobody in the server or it should be ignored - if (GetConnectedPlayerCount() == 0 || g_iWeeklyRestartIgnorePlayers == 1) + // get current timestamp for cooldown check + int iCurrentTime = GetTime(); + + // check cooldown (prevent multiple restarts in same minute) + if (iCurrentTime - g_iLastWeeklyRestart >= 61) { - // restart - ExecuteRestart(g_iWeeklyRestartType, g_iWeeklyRestartWait); + // if there is nobody in the server or it should be ignored + if (GetConnectedPlayerCount() == 0 || g_iWeeklyRestartIgnorePlayers == 1) + { + // update last restart time + g_iLastWeeklyRestart = iCurrentTime; + // restart + ExecuteRestart(g_iWeeklyRestartType, g_iWeeklyRestartWait); + } } } } } + return Plugin_Continue; } // function for restarting @@ -412,7 +448,7 @@ public Action Timer_Restart(Handle hTimer, int iType) } // stock for converting a string to lower case -stock char StringToLower(char[] sFormat) +stock void StringToLower(char[] sFormat) { for (int i = 0; i < strlen(sFormat); i++) { @@ -420,8 +456,6 @@ stock char StringToLower(char[] sFormat) sFormat[i] = CharToLower(sFormat[i]); } } - - return sFormat; } // stock for getting the number of players connected in the server @@ -453,5 +487,5 @@ public Plugin myinfo = name = "Titan 2 - Server Refresh", description = "All inclusive server restart features in one plugin, ensures your server is always refreshed and prepared for the next load.", author = "myst", - version = "2.0", + version = "2.1", } \ No newline at end of file From a888ad96b2a1b0bd8d8d4ce4f43499d5e8027456 Mon Sep 17 00:00:00 2001 From: Maximiliano Jabase Date: Tue, 9 Sep 2025 13:20:01 -0300 Subject: [PATCH 2/5] add admin command to display restart schedules --- plugins/server-refresh.smx | Bin 8473 -> 10353 bytes scripting/server-refresh.sp | 126 ++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) diff --git a/plugins/server-refresh.smx b/plugins/server-refresh.smx index 3083c945d540840e177bb1a0ed3d8f1c6393d2d3..d833dbbe6f82435318dd2a1b9bc120244fd2a84f 100644 GIT binary patch literal 10353 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 Ovm<+UhX)prvHpLwbz-;x delta 8324 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%0Ax{4tj@c>Yy|C_V=@Eo< zfT8^7hNbg`rR3mXNpb)c?EOhF`Zj6hHaR{zzAwVao#x<`E7QoG5<{%at5$-2X4DK6 z&$~=d&30bT-5h<-bVNpjA@)wAHN1jNXg94rLy}x7&-+kc&34)Fxcy*AA<(9flT*}w zJH9Hu@3?w~oFSIqw3V}xZG(7-$c!O&%xs_Z;MLL5NVO$HEP$|XeW+xsr{WX)o}JzvHj(>zC2lThp)Bp(9Q~N9gwy`3Bb!k%9W`5&`7v<#>Igd8S{C1@ z+L4{O|4RIgw`e(Ay`f;4rX)EEaUJBll859HnGwI6APUEXr+cxzuH$%tav z*{+d!PZebmj%r>?scPEvG+|D;9J>*Dmc4e=NU~V42fw2^(2*LbF5w{5_SS zt9CBYTMvt6igPq@Agai*K?I!reP=_O;VkO>7D+W4s4cECWRr6#&XFnpbLc|+U77gj z;S2H72Bg!|gwbp{-rYbfS^Q|P;REun4^hw){W8@d@bjWyUgV4MO4Dy?0}6-rgPIjT UhgE;j Date: Tue, 9 Sep 2025 13:27:25 -0300 Subject: [PATCH 3/5] Update README.md --- README.md | 63 +++++++++---------------------------------------------- 1 file changed, 10 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index d323511..3cebb0e 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,12 @@ -Server Refresh ---- -The server refresh module of Titan. All inclusive server restart features in one plugin, ensures your server is always refreshed and prepared for the next load. +# Server Refresh - Fork -### Features ---- -- Set an Individual Custom Restart Message for - - Map Restart - - Server Restart - -- Set Restart Map or Server Individually for - - Empty - - Every Hour - - Every Day - - Every Week - -- Add a Wait Time before Restarting for (only useful for notifying players about a restart, if player counts are ignored then this is useless) - - Empty - - Every Hour - - Every Day - - Every Week - -- Set Ignore Player Counts for - - Empty - - Every Hour - - Every Day - - Every Week - -### ConVars ---- -Please note that all time ConVars are in string. +This is a fork of [Titan 2 - Server Refresh](https://github.com/TitanTF/Server-Refresh) by myst. -| ConVar | Description | Default Value | 0 = | 1 = | Minimum Value | Max Value | -|-----------------------------------|-----------------------------------------------------------------------------------|-------------------------------------------------|-------|--------|---------------|-----------| -| `sm_restart_message` | Change the message that appears before the server is restarted | "The server will be restarting in {0} seconds." | | | | | -| `sm_restart_map_message` | Change the message that appears before the map is restarted | "The map will be refresh in {0} seconds." | | | | | -| `sm_restart_empty` | Enable restart when empty | 1 | No | Yes | | | -| `sm_restart_empty_wait` | The amount of time to wait after a server is emptied before restarting in seconds | 30 | | | | | -| `sm_restart_empty_type` | The type of restart when empty | 0 | Map | Server | | | -| `sm_restart_hourly` | Enable hourly restart | 1 | No | Yes | | | -| `sm_restart_hourly_wait` | The amount of time to wait after an hourly restart is here in seconds | 30 | | | | | -| `sm_restart_hourly_time` | At what minute should the restart happen in 2 digits | "00" | | | 00 | 60 | -| `sm_restart_hourly_type` | The type of restart done hourly | 0 | Map | Server | | | -| `sm_restart_hourly_ignoreplayers` | Ignore players on hourly restart | 0 | No | Yes | | | -| `sm_restart_daily` | Enable daily restart | 1 | No | Yes | | | -| `sm_restart_daily_wait` | The amount of time to wait after an daily restart is here in seconds | 30 | | | | | -| `sm_restart_daily_time` | At what hour and minute should the restart happen in 4 digits | "0500" | | | "0000" | "2359" | -| `sm_restart_daily_type` | The type of restart done daily | 0 | Map | Server | | | -| `sm_restart_daily_ignoreplayers` | Ignore players on daily restart | 0 | No | Yes | | | -| `sm_restart_weekly` | Enable weekly restart | 0 | No | Yes | | | -| `sm_restart_weekly_wait` | The amount of time to wait after an weekly restart is here in seconds | 30 | | | | | -| `sm_restart_weekly_day` | On which day should the restart happen in 3 letters | "sun" | | | | | -| `sm_restart_weekly_time` | At what hour and minute should the restart happen in 4 digits | "0500" | | | "0000" | "2359" | -| `sm_restart_weekly_type` | The type of restart done weekly | 1 | Map | Server | | | -| `sm_restart_weekly_ignoreplayers` | Ignore players on weekly restart | 0 | No | Yes | | | +## Changes: + +- **Fixed critical multiple restart bug**: Added cooldown mechanism to prevent servers from restarting 10-15 times when scheduled time arrives +- **Fixed variable assignment bugs**: Corrected WeeklyRestartDay variable handling in OnCvarChanged function +- **Fixed StringToLower bug**: Applied string conversion to correct variable for weekly restart day +- **Added schedule display command**: New `sm_restart_schedule` admin command shows complete configuration overview + +The original plugin had an issue where timers running every second would trigger multiple restarts during the target minute. This fork implements a 61-second cooldown between restart attempts to ensure only one restart occurs per scheduled time. \ No newline at end of file From 92cb5ee776d80266cbec5bb113f2d6b28d23a4db Mon Sep 17 00:00:00 2001 From: Maximiliano Jabase Date: Tue, 9 Sep 2025 17:28:38 -0300 Subject: [PATCH 4/5] Update README.md --- README.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3cebb0e..d323511 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,55 @@ -# Server Refresh - Fork +Server Refresh +--- +The server refresh module of Titan. All inclusive server restart features in one plugin, ensures your server is always refreshed and prepared for the next load. -This is a fork of [Titan 2 - Server Refresh](https://github.com/TitanTF/Server-Refresh) by myst. +### Features +--- +- Set an Individual Custom Restart Message for + - Map Restart + - Server Restart + +- Set Restart Map or Server Individually for + - Empty + - Every Hour + - Every Day + - Every Week + +- Add a Wait Time before Restarting for (only useful for notifying players about a restart, if player counts are ignored then this is useless) + - Empty + - Every Hour + - Every Day + - Every Week + +- Set Ignore Player Counts for + - Empty + - Every Hour + - Every Day + - Every Week + +### ConVars +--- +Please note that all time ConVars are in string. -## Changes: - -- **Fixed critical multiple restart bug**: Added cooldown mechanism to prevent servers from restarting 10-15 times when scheduled time arrives -- **Fixed variable assignment bugs**: Corrected WeeklyRestartDay variable handling in OnCvarChanged function -- **Fixed StringToLower bug**: Applied string conversion to correct variable for weekly restart day -- **Added schedule display command**: New `sm_restart_schedule` admin command shows complete configuration overview - -The original plugin had an issue where timers running every second would trigger multiple restarts during the target minute. This fork implements a 61-second cooldown between restart attempts to ensure only one restart occurs per scheduled time. \ No newline at end of file +| ConVar | Description | Default Value | 0 = | 1 = | Minimum Value | Max Value | +|-----------------------------------|-----------------------------------------------------------------------------------|-------------------------------------------------|-------|--------|---------------|-----------| +| `sm_restart_message` | Change the message that appears before the server is restarted | "The server will be restarting in {0} seconds." | | | | | +| `sm_restart_map_message` | Change the message that appears before the map is restarted | "The map will be refresh in {0} seconds." | | | | | +| `sm_restart_empty` | Enable restart when empty | 1 | No | Yes | | | +| `sm_restart_empty_wait` | The amount of time to wait after a server is emptied before restarting in seconds | 30 | | | | | +| `sm_restart_empty_type` | The type of restart when empty | 0 | Map | Server | | | +| `sm_restart_hourly` | Enable hourly restart | 1 | No | Yes | | | +| `sm_restart_hourly_wait` | The amount of time to wait after an hourly restart is here in seconds | 30 | | | | | +| `sm_restart_hourly_time` | At what minute should the restart happen in 2 digits | "00" | | | 00 | 60 | +| `sm_restart_hourly_type` | The type of restart done hourly | 0 | Map | Server | | | +| `sm_restart_hourly_ignoreplayers` | Ignore players on hourly restart | 0 | No | Yes | | | +| `sm_restart_daily` | Enable daily restart | 1 | No | Yes | | | +| `sm_restart_daily_wait` | The amount of time to wait after an daily restart is here in seconds | 30 | | | | | +| `sm_restart_daily_time` | At what hour and minute should the restart happen in 4 digits | "0500" | | | "0000" | "2359" | +| `sm_restart_daily_type` | The type of restart done daily | 0 | Map | Server | | | +| `sm_restart_daily_ignoreplayers` | Ignore players on daily restart | 0 | No | Yes | | | +| `sm_restart_weekly` | Enable weekly restart | 0 | No | Yes | | | +| `sm_restart_weekly_wait` | The amount of time to wait after an weekly restart is here in seconds | 30 | | | | | +| `sm_restart_weekly_day` | On which day should the restart happen in 3 letters | "sun" | | | | | +| `sm_restart_weekly_time` | At what hour and minute should the restart happen in 4 digits | "0500" | | | "0000" | "2359" | +| `sm_restart_weekly_type` | The type of restart done weekly | 1 | Map | Server | | | +| `sm_restart_weekly_ignoreplayers` | Ignore players on weekly restart | 0 | No | Yes | | | From 5b06e57115d05eefdd5db997e0696ae1a545c443 Mon Sep 17 00:00:00 2001 From: Maximiliano Jabase Date: Tue, 10 Mar 2026 13:05:20 -0300 Subject: [PATCH 5/5] update files for release --- .github/FUNDING.yml | 12 --------- .github/workflows/release.yml | 47 ++++++++++++++++++++++++++++++++++ CNAME | 1 - _config.yml | 1 - plugins/server-refresh.smx | Bin 10353 -> 10360 bytes scripting/server-refresh.sp | 4 +-- 6 files changed, 49 insertions(+), 16 deletions(-) delete mode 100644 .github/FUNDING.yml create mode 100644 .github/workflows/release.yml delete mode 100644 CNAME delete mode 100644 _config.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 0294951..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,12 +0,0 @@ -# These are supported funding model platforms - -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: titantf -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..1bd4abb --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,47 @@ +name: Autobuild + +on: + push: + tags: + - 'v*' + workflow_dispatch: + +jobs: + run: + name: Run action + runs-on: ubuntu-latest + + # skip build on '[ci skip]' + if: "!contains(github.event.head_commit.message, '[ci skip]')" + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: Setup SourcePawn Compiler + uses: rumblefrog/setup-sp@master + with: + version: "1.12.x" + + - name: Compile plugins + run: | + cd ./scripting + pwd + spcomp -i"./include/" server-refresh.sp -o ../plugins/server-refresh.smx + ls -la + + - name: Zip packages + run: | + TAG=${GITHUB_REF#refs/tags/} + mkdir build + 7za a -r build/server-refresh_${TAG}.zip scripting/ plugins/ + + - name: Release + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + ./build/server-refresh_*.zip + fail_on_unmatched_files: true + generate_release_notes: true \ No newline at end of file diff --git a/CNAME b/CNAME deleted file mode 100644 index 6253e68..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -refresh.titan.tf \ No newline at end of file diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 2f7efbe..0000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-minimal \ No newline at end of file diff --git a/plugins/server-refresh.smx b/plugins/server-refresh.smx index d833dbbe6f82435318dd2a1b9bc120244fd2a84f..0a4f5a00a4a6b8f8f52c59c326e156182d821580 100644 GIT binary patch delta 9870 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 delta 9868 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 diff --git a/scripting/server-refresh.sp b/scripting/server-refresh.sp index 6250c10..9cf9a6f 100644 --- a/scripting/server-refresh.sp +++ b/scripting/server-refresh.sp @@ -612,6 +612,6 @@ public Plugin myinfo = { name = "Titan 2 - Server Refresh", description = "All inclusive server restart features in one plugin, ensures your server is always refreshed and prepared for the next load.", - author = "myst", - version = "2.1", + author = "myst (ampere fork)", + version = "2.2", } \ No newline at end of file