diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d05b223..530ad78 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - SM_VERSION: ["1.10"] + SM_VERSION: ["1.11"] steps: - uses: actions/checkout@v2 @@ -44,9 +44,10 @@ jobs: # wget -q -O tmp.zip https://github.com/ldesgoui/tf2-comp-fixes/releases/latest/download/tf2-comp-fixes.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip - name: Get latest version of TF2 Comp Fixes and its DHooks dependency run: | - wget -q -O tmp.zip https://github.com/ldesgoui/tf2-comp-fixes/releases/download/v1.16.12/tf2-comp-fixes.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip - wget -q -O tmp.zip https://github.com/peace-maker/DHooks2/releases/download/v2.2.0-detours17/dhooks-2.2.0-detours17-sm110.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip - + wget -q -O tmp.zip https://github.com/ldesgoui/tf2-comp-fixes/releases/download/v1.16.13/tf2-comp-fixes.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip + # wget -q -O tmp.zip https://github.com/peace-maker/DHooks2/releases/download/v2.2.0-detours17/dhooks-2.2.0-detours17-sm110.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip + # Dhooks was bundled with Sourcemod starting SM 1.11 Release + working-directory: ${{ env.SOURCEMOD_PATH }}/ # SrcTV+: https://github.com/dalegaard/srctvplus diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index e01355b..ff91dca 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - SM_VERSION: ["1.10"] + SM_VERSION: ["1.11"] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 460d31d..92b43be 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - SM_VERSION: ["1.10"] + SM_VERSION: ["1.11"] steps: - uses: actions/checkout@v2 @@ -45,9 +45,10 @@ jobs: # wget -q -O tmp.zip https://github.com/ldesgoui/tf2-comp-fixes/releases/latest/download/tf2-comp-fixes.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip - name: Get latest version of TF2 Comp Fixes and its DHooks dependency run: | - wget -q -O tmp.zip https://github.com/ldesgoui/tf2-comp-fixes/releases/download/v1.16.12/tf2-comp-fixes.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip - wget -q -O tmp.zip https://github.com/peace-maker/DHooks2/releases/download/v2.2.0-detours17/dhooks-2.2.0-detours17-sm110.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip - + wget -q -O tmp.zip https://github.com/ldesgoui/tf2-comp-fixes/releases/download/v1.16.13/tf2-comp-fixes.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip + # wget -q -O tmp.zip https://github.com/peace-maker/DHooks2/releases/download/v2.2.0-detours17/dhooks-2.2.0-detours17-sm110.zip && unzip -o tmp.zip -d ../../ && rm tmp.zip + # Dhooks was bundled with Sourcemod starting SM 1.11 Release + working-directory: ${{ env.SOURCEMOD_PATH }}/ # SrcTV+: https://github.com/dalegaard/srctvplus diff --git a/README.md b/README.md index d48ef21..dc84350 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ [![RGL.gg](https://img.shields.io/badge/RGL.gg-blue?logo=data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABEXAAARFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKITtQenz/f/6/P//+vz///r8///6/P///////4u89cYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeD7EHu9f7///////////////////////////+MvvbGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlguxB+Pv///////////////////7+/v//////jL72xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATZjvPkaV8P9VnfH/h7n1/9Xn/P/5+/7//////4u99sUAAAAAAAAAAAAAAAAAAAAATJjwv0uW782SwfbNh7v1zUyX8NpMl+//TJfv/0uX7/9Ll+//XKDx/9vq/P+rz/j0j8D2zJDA9s2QwPbNjr/2zU2X8O9Klu//5/H8//n7/v9XnfD/TZjw/k2Y8P9NmPD/TZjw/02Y8P9GlO/+vtr6//////////////////////9NmPDuTJfv/67Q+P//////cKzz/0yX7/9NmPD/TZjw/02Y8P9NmPD/TZjw/02Y8P/d6/z////////////6/P//TZjw7k2Y8P9tqvL//////8vh+v9AkO7/TJfv/02Y8P9NmPD/TZjw/02Y8P9Ml+//Tpnv//r8////////+vz//02Y8O5NmPD/QZHu/+z0/f//////psz4/4O39P9QmvD/TJfv/0mV7/9Sm/D/ca3z/63Q+P/2+f7///////r8//9NmPDuTZjw/1ad8P/+/v//////////////////5O/9/1Sb8P+61/n/+vv+//3+/v///////////////v/6/P//TZjw+UyX7/+u0Pj/6vP9/+v0/f/+/v/+/v7+/////////////////+71/f6rzvj/da/z/2Gk8f/s9f3/5vH9/0uY8DZLmPA5MYjtOSSB7Dkgf+xs7/b+///////+/v7/6/P9/3Ou8/9Dku//Spbv0kuY8DdHle85JIHsOSWC7DkAAAAAAAAAAAAAAAAAAAAAJ4PsQO71/v///////////8Hb+f9Ml+//TZjw/02Y8MUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeD7EHu9f7///////3+/v9ipPH/TJfv/02Y8P9NmPDGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAohOxB6/T9//3+/v9vq/P/TJfv/02Y8P9MmPD/TZjwxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASZbvPXqy8/m01PnubKry7kyX7+5NmPDuTZjw70yY8LgAAAAAAAAAAAAAAAAAAAAA8A8AAPAPAADwDwAA8A8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8A8AAPAPAADwDwAA8A8AAA==)](https://rgl.gg/?r=38) [![Beta Build](https://github.com/RGLgg/server-resources-updater/workflows/Beta%20Build/badge.svg)](https://github.com/RGLgg/server-resources-updater/actions?query=workflow%3A%22Beta+Build%22) [![Release Build](https://github.com/RGLgg/server-resources-updater/workflows/Release%20Build/badge.svg)](https://github.com/RGLgg/server-resources-updater/actions?query=workflow%3A%22Release+Build%22) -[![Sourcemod Version](https://img.shields.io/badge/SourceMod-v1.10-blue?labelColor=d9860a&color=5596cf)](https://www.sourcemod.net/downloads.php?branch=1.10-dev&all=1) +[![Sourcemod Version](https://img.shields.io/badge/SourceMod-v1.11-blue?labelColor=d9860a&color=5596cf)](https://www.sourcemod.net/downloads.php?branch=stable) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/RGLgg/server-resources-updater)](https://github.com/RGLgg/server-resources-updater/releases/latest) [![GitHub All Releases](https://img.shields.io/github/downloads/RGLgg/server-resources-updater/total)](https://github.com/RGLgg/server-resources-updater/releases/latest/download/server-resources-updater.zip) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/RGLgg/server-resources-updater/blob/master/LICENSE) **Please ensure you read ALL of the [Installation](https://github.com/RGLgg/server-resources-updater/tree/master#installation) section.** -Clicking on the `Clone and download` button will not work, instead ensure your server has [SourceMod 1.10](https://www.sourcemod.net/downloads.php?branch=1.10-dev&all=1) and click this badge [![GitHub All Releases](https://img.shields.io/github/downloads/RGLgg/server-resources-updater/total)](https://github.com/RGLgg/server-resources-updater/releases/latest/download/server-resources-updater.zip) +Clicking on the `Clone and download` button will not work, instead ensure your server has [SourceMod 1.11](https://www.sourcemod.net/downloads.php?branch=stable) and click this badge [![GitHub All Releases](https://img.shields.io/github/downloads/RGLgg/server-resources-updater/total)](https://github.com/RGLgg/server-resources-updater/releases/latest/download/server-resources-updater.zip) If youre running a **linux distro**, please **make sure it's up to date with EPEL**, some servers may have issues with TF2 Comp Fixes / RGL Updater. @@ -23,7 +23,7 @@ Parts of this README are still in the process of being updated. * [TF2 Competitive Fixes](https://github.com/ldesgoui/tf2-comp-fixes) * Various technical or gameplay changes catered towards competitive play. * Included dependency - * [DHooks2](https://github.com/peace-maker/DHooks2) + * ~~[DHooks2](https://github.com/peace-maker/DHooks2)~~ - As of SM 1.11, it is prebundled in Sourcemod, users no longer have to manually maintain this package. * By twiikuu * [Progressive Ruleset Timer Plugins](https://github.com/b4nnyBot/Progressive-Ruleset-Timer-Plugins) * Creates dynamic win conditions for 5CP gamemodes @@ -70,11 +70,11 @@ If you have problems with the plugin, or if you have a suggestion, please submit # Installation ## Prerequisites -[![Sourcemod Version](https://img.shields.io/badge/SourceMod-v1.10-blue?labelColor=d9860a&color=5596cf)](https://www.sourcemod.net/downloads.php?branch=1.10-dev&all=1) +[![Sourcemod Version](https://img.shields.io/badge/SourceMod-v1.11-blue?labelColor=d9860a&color=5596cf)](https://www.sourcemod.net/downloads.php?branch=stable) -With the TF2 Comp Fixes plugin requiring SM 1.10 at minimum due to SM 1.9 now being phased out. The RGL Server Resources Updater will **only support SourceMod 1.10 and higher**. Please make sure you get the right version for your server's operating system! Any previous versions of SourceMod are **unsupported**. +With SM 1.10 causing issues, SM 1.11 is required for this plugin. The RGL Server Resources Updater will **only support SourceMod 1.11 and higher**. Please make sure you get the right version for your server's operating system! Any previous versions of SourceMod are **unsupported**. -**Note**: This plugin breaks on the SourceMod v1.11. Use the [1.10](https://www.sourcemod.net/downloads.php?branch=1.10-dev&all=1) branch instead. +**Note**: Use the [1.11](https://www.sourcemod.net/downloads.php?branch=stable) branch instead. This guide [here](https://wiki.alliedmods.net/Upgrading_SourceMod) contains instructions on how to upgrade the files, but please consider doing a fresh install of all your current files to avoid any potential issues. @@ -82,7 +82,7 @@ After installation, typing `sm version` into the server console will confirm if ## Install Instructions -1. [Update SourceMod to at least 1.10](https://www.sourcemod.net/downloads.php?branch=1.10-dev&all=1). SourceMod 1.11 currently breaks this plugin, however. +1. [Update SourceMod to at least 1.11](https://www.sourcemod.net/downloads.php?branch=stable). 2. Download the latest zip by clicking on this badge [![GitHub All Releases](https://img.shields.io/github/downloads/RGLgg/server-resources-updater/total)](https://github.com/RGLgg/server-resources-updater/releases/latest/download/server-resources-updater.zip). 3. Navigate to your server install folder in an (S)FTP client of your choice. diff --git a/addons/sourcemod/scripting/improved_match_timer.sp b/addons/sourcemod/scripting/improved_match_timer.sp index a1d51fe..d62ca60 100644 --- a/addons/sourcemod/scripting/improved_match_timer.sp +++ b/addons/sourcemod/scripting/improved_match_timer.sp @@ -55,6 +55,7 @@ public void OnPluginStart(){ public Action OnExec(int client, const char[] command, int argc){ winlimit_original = -1; timelimit_original = -1; + return Plugin_Continue; } public void OnMapStart() @@ -122,6 +123,7 @@ public Action WaitTime(Handle timer){ doOnRestart = true; timer2 = CreateTimer(0.5, CheckRoundTime, _, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE); timer1 = INVALID_HANDLE; + return Plugin_Continue; } public Action CheckRoundTime(Handle timer){ diff --git a/addons/sourcemod/scripting/rglqol.sp b/addons/sourcemod/scripting/rglqol.sp index 2a4550b..876f2fd 100644 --- a/addons/sourcemod/scripting/rglqol.sp +++ b/addons/sourcemod/scripting/rglqol.sp @@ -1,3 +1,4 @@ +#pragma newdecls required #pragma semicolon 1 #include @@ -5,23 +6,23 @@ #include #define PLUGIN_NAME "RGL.gg QoL Tweaks" -#define PLUGIN_VERSION "1.4.3" +#define PLUGIN_VERSION "1.4.5" -bool:CfgExecuted; -bool:alreadyChanging; -bool:IsSafe; -bool:warnedStv; -isStvDone = -1; -stvOn; -formatVal; -slotVal; -curplayers; -Handle:g_hForceChange; -Handle:g_hWarnServ; -Handle:g_hcheckStuff; -Handle:g_hSafeToChangeLevel; +bool CfgExecuted; +bool alreadyChanging; +bool IsSafe; +bool warnedStv; +int isStvDone = -1; +int stvOn; +int formatVal; +int slotVal; +int curplayers; +Handle g_hForceChange; +Handle g_hWarnServ; +Handle g_hcheckStuff; +Handle g_hSafeToChangeLevel; -public Plugin:myinfo = +public Plugin myinfo = { name = PLUGIN_NAME, author = "Stephanie, Aad", @@ -30,7 +31,7 @@ public Plugin:myinfo = url = "https://github.com/RGLgg/server-resources-updater" } -public OnPluginStart() +public void OnPluginStart() { // creates cvar for antitrolling stuff CreateConVar @@ -64,7 +65,7 @@ public OnPluginStart() RegServerCmd("changelevel", changeLvl); } -public OnMapStart() +public void OnMapStart() { delete g_hForceChange; delete g_hWarnServ; @@ -83,6 +84,7 @@ public Action EventRoundStart(Handle event, const char[] name, bool dontBroadcas AntiTrollStuff(); // prevents stv done notif spam if teams play another round before 90 seconds have passed delete g_hSafeToChangeLevel; + return Plugin_Continue; } // checks stuff for restarting server @@ -115,23 +117,24 @@ public Action checkStuff(Handle timer) if (curplayers > 0) { LogMessage("[RGLQoL] At least 1 player on server. Not restarting."); - return; + return Plugin_Continue; } else if (!CfgExecuted) // if the rgl isnt exec'd dont restart. { LogMessage("[RGLQoL] RGL config not executed. Not restarting."); - return; + return Plugin_Continue; } // if the stv hasnt ended aka if the GAME hasn't ended + 90 seconds, don't restart. If isStvDone is -1 or 1 then it's ok. else if (isStvDone == 0) { LogMessage("[RGLQoL] STV is currently live! Not restarting."); - return; + return Plugin_Continue; } + return Plugin_Continue; } -public OnRGLChanged(ConVar convar, char[] oldValue, char[] newValue) +public void OnRGLChanged(ConVar convar, char[] oldValue, char[] newValue) { if (StringToInt(newValue) == 1) { @@ -152,7 +155,7 @@ public OnRGLChanged(ConVar convar, char[] oldValue, char[] newValue) } // this section was influenced by f2's broken FixSTV plugin -public OnSTVChanged(ConVar convar, char[] oldValue, char[] newValue) +public void OnSTVChanged(ConVar convar, char[] oldValue, char[] newValue) { if (StringToInt(newValue) == 1) { @@ -165,7 +168,7 @@ public OnSTVChanged(ConVar convar, char[] oldValue, char[] newValue) } } -public OnServerCfgChanged(ConVar convar, char[] oldValue, char[] newValue) +public void OnServerCfgChanged(ConVar convar, char[] oldValue, char[] newValue) { // if cfg changes, then update tv_maxclients to 5 if (GetConVarInt(FindConVar("tv_maxclients")) == 128) @@ -177,7 +180,7 @@ public OnServerCfgChanged(ConVar convar, char[] oldValue, char[] newValue) AntiTrollStuff(); } -public SetDefaultWhitelist() +public void SetDefaultWhitelist() { // check to see if tftrue exists, and if it fails to load after a tf2 update use default mp_tournament_whitelist if(FileExists("addons/TFTrue.vdf")) @@ -233,7 +236,7 @@ public void InvokePureCommandCheck(any ignored) } } -public change15() +public void change15() { if (!alreadyChanging) { @@ -257,12 +260,14 @@ public Action GameOverEvent(Handle event, const char[] name, bool dontBroadcast) { g_hcheckStuff = CreateTimer(600.0, checkStuff, _, TIMER_REPEAT); } + return Plugin_Continue; } public Action unloadMapChooserNextMap(Handle timer) { ServerCommand("sm plugins unload nextmap"); ServerCommand("sm plugins unload mapchooser"); + return Plugin_Continue; } public Action WarnServ(Handle timer) @@ -270,6 +275,7 @@ public Action WarnServ(Handle timer) LogMessage("[RGLQoL] An important cvar has changed. Forcing a map change in 25 seconds unless the map is manually changed before then."); PrintColoredChatAll("\x07FFA07A[RGLQoL]\x01 An important cvar has changed. Forcing a map change in 25 seconds unless the map is manually changed before then."); g_hWarnServ = null; + return Plugin_Continue; } public Action SafeToChangeLevel(Handle timer) @@ -282,6 +288,7 @@ public Action SafeToChangeLevel(Handle timer) IsSafe = true; } g_hSafeToChangeLevel = null; + return Plugin_Continue; } public Action changeLvl(int args) @@ -307,9 +314,10 @@ public Action ForceChange(Handle timer) GetCurrentMap(mapName, sizeof(mapName)); ForceChangeLevel(mapName, "Important cvar changed! Forcibly changing level to prevent bugs."); g_hForceChange = null; + return Plugin_Continue; } -public AntiTrollStuff() +public void AntiTrollStuff() { if (!GetConVarBool(FindConVar("rgl_cast"))) { @@ -363,7 +371,7 @@ public AntiTrollStuff() } } -public OnPluginEnd() +public void OnPluginEnd() { PrintColoredChatAll("\x07FFA07A[RGLQoL]\x01 version \x07FFA07A%s\x01 has been \x07FF4040unloaded\x01.", PLUGIN_VERSION); } diff --git a/addons/sourcemod/scripting/rglupdater.sp b/addons/sourcemod/scripting/rglupdater.sp index c527c56..39d7a36 100644 --- a/addons/sourcemod/scripting/rglupdater.sp +++ b/addons/sourcemod/scripting/rglupdater.sp @@ -1,18 +1,16 @@ +#pragma newdecls required #pragma semicolon 1 #include #include #include -#define REQUIRE_EXTENSIONS -#include - #define PLUGIN_NAME "RGL.gg Server Resources Updater" -#define PLUGIN_VERSION "2.0.2" +#define PLUGIN_VERSION "2.0.4" char UPDATE_URL[128] = ""; -bool:updatePlug; +bool updatePlug; -public Plugin:myinfo = +public Plugin myinfo = { name = PLUGIN_NAME, author = "Stephanie, Aad", @@ -21,7 +19,7 @@ public Plugin:myinfo = url = "https://github.com/RGLgg/server-resources-updater" } -public OnPluginStart() +public void OnPluginStart() { DisablePlugin("roundtimer_override"); LogMessage("[RGLUpdater] version %s has been loaded.", PLUGIN_VERSION); @@ -44,14 +42,15 @@ public OnPluginStart() } -public Action DisablePlugin(const String:plugin_file[]) +public Action DisablePlugin(const char plugin_file[PLATFORM_MAX_PATH]) { // Thanks to DarthNinja's Plugin Enable/Disable - new String:disabledpath[256], String:enabledpath[256]; + char disabledpath[256]; + char enabledpath[256]; BuildPath(Path_SM, disabledpath, sizeof(disabledpath), "plugins/disabled/%s.smx", plugin_file); BuildPath(Path_SM, enabledpath, sizeof(enabledpath), "plugins/%s.smx", plugin_file); - new String:PluginWExt[70]; + char PluginWExt[70]; Format(PluginWExt, sizeof(PluginWExt), "%s.smx", plugin_file); if (!FileExists(enabledpath)) @@ -66,8 +65,8 @@ public Action DisablePlugin(const String:plugin_file[]) return Plugin_Handled; } - new Handle:Loaded = FindPluginByFile(PluginWExt); - new String:PluginName[128]; + Handle Loaded = FindPluginByFile(PluginWExt); + char PluginName[128]; if (Loaded != INVALID_HANDLE) GetPluginInfo(Loaded, PlInfo_Name, PluginName, sizeof(PluginName)); else @@ -79,15 +78,14 @@ public Action DisablePlugin(const String:plugin_file[]) return Plugin_Continue; } -public OnLibraryAdded(const String:name[]) -{ - if (StrEqual(name, "updater")) +public void OnLibraryAdded(const char[] name) { + if (StrEqual(name, "updater")) { Updater_AddPlugin(UPDATE_URL); } } -public OnRGLBetaChanged(ConVar convar, char[] oldValue, char[] newValue) +public void OnRGLBetaChanged(ConVar convar, char[] oldValue, char[] newValue) { LogMessage("[RGLUpdater] rgl_beta cvar changed!"); CheckRGLBeta(); @@ -97,7 +95,7 @@ public OnRGLBetaChanged(ConVar convar, char[] oldValue, char[] newValue) updatePlug = true; } -public OnClientPostAdminCheck(client) +public void OnClientPostAdminCheck(int client) { char cfgVal[128]; GetConVarString(FindConVar("servercfgfile"), cfgVal, sizeof(cfgVal)); @@ -116,9 +114,11 @@ public Action prWelcomeClient(Handle timer, int userid) PrintColoredChat(client, "\x07FFA07A[RGLUpdater]\x01 This server is running RGL Updater version \x07FFA07A%s\x01", PLUGIN_VERSION); PrintColoredChat(client, "\x07FFA07A[RGLUpdater]\x01 Remember, per RGL rules, players must record POV demos for every match!"); } + + return Plugin_Continue; } -CheckRGLBeta() +public void CheckRGLBeta() { if (!GetConVarBool(FindConVar("rgl_beta"))) { @@ -134,7 +134,7 @@ CheckRGLBeta() } } -public Updater_OnPluginUpdated() +public void Updater_OnPluginUpdated() { if (updatePlug) { @@ -148,6 +148,8 @@ public Action reloadPlug(Handle timer) ServerCommand("sm plugins reload pause"); ServerCommand("sm plugins reload rglqol"); ServerCommand("sm plugins reload rglupdater"); + + return Plugin_Continue; } public void OnPluginEnd() diff --git a/cfg/rgl_mm_5cp.cfg b/cfg/rgl_mm_5cp.cfg index 331f1e6..0f86773 100644 --- a/cfg/rgl_mm_5cp.cfg +++ b/cfg/rgl_mm_5cp.cfg @@ -6,12 +6,13 @@ exec "rgl_mm_base" servercfgfile "rgl_mm_5cp" // sets server cfg to this config so that it gets autoexeced on level change -mp_timelimit "0" // sets server timelimit to 30 minutes -mp_winlimit "4" // sets number of wins to win the game to 4 -mp_windifference "0" // unsets windifference -mp_maxrounds "0" // unsets maxrounds -mp_tournament_restart // restarts the tournament to apply above settings +mp_timelimit "0" // sets server timelimit to 30 minutes +mp_winlimit "4" // sets number of wins to win the game to 4 +mp_windifference "0" // unsets windifference +mp_maxrounds "0" // unsets maxrounds + +mp_tournament_restart // restarts the tournament to apply above settings say "RGL No Restriction 6s 5cp Config Executed."