/server-resources-updater

A Sourcemod plugin to update RGL.gg approved server resources(cfgs, plugins, etc)

Primary LanguageSourcePawnGNU General Public License v3.0GPL-3.0

RGL.gg Beta Build Release Build Sourcemod Version GitHub release (latest by date) GitHub All Releases License: GPL v3

Please ensure you read ALL of the Installation section. Clicking on the Clone and download button will not work, instead ensure your server has SourceMod 1.10 and click this badge GitHub All Releases

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.

If you have the old version of this plugin, please reinstall the plugin from this repo!

Parts of this README are still in the process of being updated.

Pre-Bundled Plugins & Dependencies

  • Updater
    • Automatically updates SourceMod plugins and files.
    • Included dependency
    • Originally created by GoD-Tony. Edited by Neoony.
  • TF2 Competitive Fixes
    • Various technical or gameplay changes catered towards competitive play.
    • Included dependency
    • By twiikuu
  • Progressive Ruleset Timer Plugins
    • Creates dynamic win conditions for 5CP gamemodes
    • By b4nny and Dooby Skoo
  • SrcTV+
    • SrcTV+ makes the server send all events to SrcTV.
    • By GipsArm - TFTV Thread
  • TF2 Halftime
    • Emulates ESEA style halftimes for 5CP (halftime at 3 points or timelimit) and King of the Hill (halftime at 2 points) modes.
    • By stephanieLGBT
  • Updated Pause
    • Updated version of F2's original pause to prevent building of Medic ÜberCharge during a pause .
    • Originally created by F2. Edited by Aad.
  • RGL.gg QoL Tweaks
    • Adds QoL tweaks for easier competitive server management and competitive integrity
    • By stephanieLGBT and Aad
  • RGL.gg Server Resources Updater
    • Automatically updates RGL.gg plugins and files
    • By stephanieLGBT and Aad

Server Resources for RGL.gg

Hi! This github repository contains all of the required plugins, configs, maps, etc. for RGL league play. The configs were created from scratch, though they were inspired by the UGC, ETF2L, and CEVO configs. The autoupdater plugin was also created from scratch, but heavily inspired by Miggy's (RIP) UGCUpdate and IntegriTF2 plugins.

In creating the configs, I tried my best to prevent extra and/or useless commands while also minimizing the ability for cheating, exploitation, and unfair play due to preexisting client and/or server settings.

The RGL updater plugin automatically updates itself and the rest of the files downloaded to your server as this repository gets updated.

It also contains Quality of Life tweaks for TF2 servers, such as:

  • Preventing servers from automatically changing level after a match

  • Warning server owners about cutting off STV before changing the level

  • Automatically restarting servers after all players have left

  • An automatic "Casting Antitroll" mode (enabled with rgl_cast 1) that locks your server's slot count at 12/12, 14/14, or 18/18, depending on what config is executed

If you find that was missed something in the configs, or if something doesn't work the way it should, and if you have a suggestion, please submit an issue on GitHub.

If you have problems with the plugin, or if you have a suggestion, please submit an issue with details.

Installation

Prerequisites

Sourcemod Version

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.

Note: This plugin breaks on the SourceMod v1.11. Use the 1.10 branch instead.

This guide here 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.

After installation, typing sm version into the server console will confirm if the update was successful.

Install Instructions

  1. Update SourceMod to at least 1.10. SourceMod 1.11 currently breaks this plugin, however.

  2. Download the latest zip by clicking on this badge GitHub All Releases.

  3. Navigate to your server install folder in an (S)FTP client of your choice.

  4. Place everything inside the zip into the root /tf/ folder. Overwrite any and all files that you get prompted for.

  5. Done!

If you're runnning into errors, completely remove all of the old RGL configs and retry.

If you're still having trouble, there's step by step instructions with pictures over in the wiki!

Updating Instructions

The plugin updates itself, along with the RGL configs, after every exec and changelevel. You should never manually edit any config that isn't a gamemode specific custom.cfg, because it will get automatically overwritten. This is to prevent cheating and ensure each server is running the same settings.

You will have to add new maps to your server manually as RGL introduces them to each gamemode's map pool. This is to prevent lengthly download times with the updater plugin. Simply download the new map and place it in the /tf/maps/ folder, through an (S)FTP client of your choice, and you're done.

!!Please read this section if you're not going to read anything else!!

There are different configs and plugins for scrims and matches if you're playing 5cp and koth in 6s. Halftimes in 5cp and koth are handled by the tf2Halftime plugin, mirrored from here.

Every other gamemode and type has the same config for scrims and matches.

Here are the configs you need to exec for specific modes and map types:

6s
type of game config to exec notes
5cp Scrim rgl_6s_5cp_scrim winlimit 5, timelimit 30, for scrims only
5cp Match rgl_6s_5cp_match First half: winlimit 3, timelimit 30, 2nd half: first to 5 or timelimit
5cp Match 1st Half rgl_6s_5cp_match_half1 winlimit 3, timelimit 30 (this and half2 can be used if plugin isn't available)
5cp Match 2nd Half rgl_6s_5cp_match_half2 winlimit 5, timelimit 30, reexec after one team has won 5 total rounds
5cp Match Golden Cap rgl_6s_5cp_gc winlimit 1, no timelimit
KoTH Match rgl_6s_koth winlimit 2, no timelimit, 2 halves.
KoTH Scrim rgl_6s_koth winlimit 2, no timelimit, 2 halves. (can be used for matches and reexeced if plugin is not available, reexec after one team has won 4 total rounds)
Playoffs KoTH rgl_6s_koth_bo5 winlimit 3, no timelimit

HL
type of game config to exec notes
Stopwatch rgl_HL_stopwatch winlimit 2 (best of 3)
Regular Season KoTH rgl_HL_koth winlimit 2, no timelimit, 2 halves. reexec after one team has won 4 total rounds
Playoffs KoTH rgl_HL_koth_bo5 winlimit 3, no timelimit

7s
type of game config to exec notes
Stopwatch rgl_7s_stopwatch winlimit 2 (best of 3)
Regular Season KoTH rgl_7s_koth winlimit 2, no timelimit, 2 halves. reexec after one team has won 4 total rounds
Playoffs KoTH rgl_7s_koth_bo5 winlimit 3, no timelimit

NR 6s
type of game config to exec notes
5cp rgl_mm_5cp winlimit 4, no timelimit
Stopwatch rgl_mm_stopwatch winlimit 2 (best of 3)
Regular Season KoTH rgl_mm_koth winlimit 2, no timelimit, 2 halves. reexec after one team has won 4 total rounds
Playoffs KoTH rgl_mm_koth_bo5 winlimit 3, no timelimit

Reset Config

(rcon) exec rgl_off

This will reset your server to default settings, plus whatever you have set in server.cfg. It will not unload the STV bot (though it will stop recording). A more detailed explanation is below.

On the off config and STV bugginess

There is something seriously wrong with STV in TF2. For no apparent reason, when you start it up, it eats a player slot by incrementing the value of your server's maxplayers by 1. This isn't a problem, typically, because TF2 can technically handle 33 "players", aka 32 + STV. If you were to set +maxplayers to 33 and then add stv, things would get ugly, really quickly.

But that's not all. When the bot is unloaded, it, for no apparent reason, reads the value of tv_maxplayers and sets your server's visible player count to that number. Why? Who knows. sv_visiblemaxplayers has ZERO effect on this. For that reason, I decided to not unload the STV bot in the rgl_off config, as things would get broken quickly if players didn't set tv_maxplayers AND sv_visiblemaxplayers to the same value, which also has to be at or under the server's slot limit.

For this reason, and on the advice of some server network operators, I have decided to not shut down stv with rgl_off. If you need to disable the STV, please restart your server.

The bug report for this issue is here.

Special Thanks

thank you to steph for maintaining and updating the first iteration of the plugin, in addition to creating the configs

thank you to Aad for making the plugin

thank you to Mastercomms for helping me out with net settings

thank you to Arie from serveme for letting me run some things by him for the configs

thank you to JarateKing for adding a .gitattributes file and fixing typos and grammar because I suck with github and english

thank you to Sigafoo for running RGL

thank you to GoD_tony for making the original updater.smx plugin

thank you to F2 for making the original pause plugin, and others

thank you to Miggy for being a cool anticheat admin who inspired me to make the configs in the first place

and shoutouts to plenty of other people for helping me with miscellaneous other stuff

License

This project is under the GPLv3 license. Unless otherwise stated in individual files.