Plugins
Plugins are the core of our servers. They make the gameplay of our servers possible. Plugins are essentially an addon to the server such as a Jailbreak addon, Surf Timer, or Map Nomination system. You do not need to understand or write any plugins, however knowing where plugins are, how they are configured, and what they do in general is strongly encouraged.
Danger Zone
Unlike maps, plugins can very quickly break an entire server. Make sure you know what you're doing.
Event Coordinators
Event Coordinates are especially familiar with most plugin commands. Feel free to reach out to them if you have a question regarding general plugin management.
Infrastructure
We utilize Docker to build images of our servers. In other words, if we use a plugin, it's in the Dockerfile. If you want to see which plugins we use, check the corresponding Dockerfile for that server.
Configuration
Plugins can have two varying configuration systems.
The first one is a JSON file in addons/sourcemod/configs
that can be used for large texts, fine granuality, or messages.
The second one is a simple text file in cfg/sourcemod
that is used for defining ConVars.
Example JSON
"edgegamers_tips"
{
"Messages"
{
"1"
{
"tip" "{lightgreen}No disrespect tolerated. This includes excessive swearing and the use of any racist, sexist or homophobic term."
}
"2"
{
"tip" "{lightgreen}All names, sprays and avatar icons must be PG-13 rated."
}
"3"
{
"tip" "{lightgreen}No cheating, cheat scripts, barrier jumping, map exploits or hacks of any kind."
}
"4"
{
"tip" "{lightgreen}No server disruption, including: griefing, mic/chat spamming, trolling or intentionally interfering with teammates."
}
"5"
{
"tip" "{lightgreen}No recruiting for other servers or communities."
}
"6"
{
"tip" "{lightgreen}Use /hide to toggle T models on and off client-side. This will help improve performance, and allows more visibility in games."
}
"7"
{
"tip" "{lightgreen}Type !nominate to put a map you enjoy up for nomination on our mapvote. Type !rtv to rock the vote for the current map."
}
"8"
{
"tip" "{lightgreen}Need to contact an admin? Type @ in chat followed by your message to contact any available admins."
}
"9"
{
"tip" "{lightgreen}Being told to take: one step can either mean a single jump in a direction or being knifing distance from the location."
}
"10"
{
"tip" "{lightgreen}AFK Freeze means you cannot do anything besides use text and voice chat."
}
"11"
{
"tip" "{lightgreen}Freeze means you cannot use movement keys but can look around, jump, and crouch."
}
"12"
{
"tip" "{lightgreen}Shift/Crouch Walk means you cannot Jump unless stated otherwise by the Warden."
}
"13"
{
"tip" "{lightgreen}Do not give orders for prisoners to carry out whilst inside cells (exception: orders to drop/throw contraband)."
}
"14"
{
"tip" "{lightgreen}Wardens can type !w to access the warden menu, and !sd to start a Special Day"
}
"15"
{
"tip" "{lightgreen}To obtain max priority queue, you must have 8 hours of alive gametime."
}
"16"
{
"tip" "{lightgreen}Please hit TAB and click SERVER WEBSITE to read the rules! Thank you!"
}
}
}
Example CFG
// This file was auto-generated by SourceMod (v1.7.1-dev+5182)
// ConVars for plugin "rockthevote.smx"
// When to change the map after a succesful RTV: 0 - Instant, 1 - RoundEnd, 2 - MapEnd
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "2.000000"
sm_rtv_changetime "1"
// Display the Map's custom name, instead of the raw map name
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_rtv_displayname "1"
// Time (in seconds) before first RTV can be held
// -
// Default: "30.0"
// Minimum: "0.000000"
sm_rtv_initialdelay "180.0"
// Time (in seconds) after a failed RTV before another can be held
// -
// Default: "240.0"
// Minimum: "0.000000"
sm_rtv_interval "300.0"
// Number of players required before RTV will be enabled.
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "65.000000"
sm_rtv_minplayers "1"
// Percentage of players needed to rockthevote (Def 60%)
// -
// Default: "0.60"
// Minimum: "0.050000"
// Maximum: "1.000000"
sm_rtv_needed "0.45"
// What to do with RTV's after a mapvote has completed. 0 - Allow, success = instant change, 1 - Deny
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_rtv_postvoteaction "0"
ConVars
Console Variables are exactly what the name implies, variables that can be changed from console. Most plugins define convars for easy in-game configuration. One example convar is sm_rtv_initialdelay
which is the Time (in seconds) before first RTV can be held. You can check the value of a convar by typing sm_cvar <convar>
in console. Changing convars is possible by specifying a value with the same command (e.g. sm_cvar sm_rtv_initialdelay 30.0
).
Server Stability
Depending on the convar and what you change it to, you may break the server. Please be cautious when changing convars, and make sure you know what you are doing.
ConVars aren't limited to SourceMod. CS for example has convars such as sv_cheats
, sv_infinite_ammo
, sv_airaccellerate
, etc.
Enabling / Disabling
Server Stability
Please make sure you are being careful when enabling / disabling plugins. Disabling plugins is never a good idea, and can significantly decrease the server's stability.
Privacy
Our plugin list is intentionally hidden. Leadership should not be giving out names, authors, or links to other plugins without approval from Tech CM.
You can enable / disable a plugin through rcon (remote console). You will need to know the plugin's file name, which can be found through the Dockerfile or sm_rcon sm plugins list
.
To disable a plugin, sm_rcon sm plugins unload <plugin>
and to enable one, sm_rcon sm plugins load <plugin>
.
Note that disabling/enabling is not the same as unloading/loading.