Welcome to the SoMoE-19 documentation!

Credits

This version of SoMoE-19 is just an edited version of Marco Boogers original Soccermod. I (MK99MA) merely edited his plugin by adding stuff I thought to be useful or fixing parts that were not working as intended. This version of his plugin is also strictly limited to Counter-Strike: Source and unlike his version does not work for Counter-Strike Global Offensive.

Since I started working on my own version without any prior knowledge in SourcePawn the code might be messy and improvable, but for now I merely attempted to provide a functional release.

Some of the functions added to the plugin are based on or incorporated from other plugins:

Other credits:

  • Original Soccermod player models by Termiii

  • Various members of the european soccer community for their ideas and help with tests

Features

This is a rough list of features included in SoMoE-19.

Main Features

  • Match mode

  • Start, Stop, Pause, Unpause a Match

  • Customizable match settings

  • Period length

  • Break length

  • Golden goal toggle

  • Optional and customizable forfeit votes

  • Match event logging

  • Score control

  • Cap fight

  • Option to move all players to spec

  • Option to force random players into the teams

  • Positions menu to inform the picking caps about your preferred positions

  • Spec only “position” for people who can’t play right now but might want to watch the game

  • Serverlock to prevent newly joining players from stealing positions in the cap

  • Training options

  • Global & personal ball cannons

  • Spawnable additional balls

  • Enabling and disabling of goal triggers

  • Real-life orientated punishments (Yellow / Red card)

  • Customizable Sprint

  • Duration, cooldown, speed, autobind to +use

  • Clientsided selection of sprinting indicators:

  • Sound

  • Message

  • Timer (customizable position & color)

  • Defuse bar

  • Skins set by the plugin & changeable ingame (as long as they are defined in the config)

  • Download handling according to a config file

  • Switchable access modes (Admin only, Limited, Public)

  • Score and Stats tracking with ranking system

  • Wide range of commands to quickly access certain features

    f.ex.:
    • !maprr to quickly reload the current map

    • !matchrr to quickly restart the current match

  • Almost every setting can be changed from within the game

  • Automatically generated configuration files

  • Updater support to automatically install the latest version


Additional Features

  • Ingame admin management

  • Distinct “admin” system only granting access to the plugins features

  • Customizable plugin messages

  • Miscellaneous Utility functions:

  • Connecting order list with customizable “rr” tolerance (including auto-updates whenever a player joins / leaves)

  • Admin online list

  • Toggleable damage sounds

  • Toggleable class selection screen

  • Toggleable Duckjump prevention

  • Toggleable and customizable Deadchat

  • AFK-Kick function while serverlock is active

  • Toggleable readychecks if the game is paused

  • Toggleable loading of per map defaults

  • Switchable ragdoll handling options

  • Informative options

  • Customizable match settings message at the start of a match

  • Changeable teamnames (permanent & per match)

  • Toggleable Gamestatus updates in the servername

  • Gamename change to CS:S SoccerMod - requires Steamworks

  • Toggleable MVP messages & stars

  • Ingame commands list & help


Note

The above list might be incomplete.

Installing SoMoE-19

Pre-requirements

SoMoE-19 is a Sourcemod plugin, so make sure to install Sourcemod and its pre-requirements for your OS properly.

As such the pre-requirements are:
  • Metamod:Source 1.10 or higher

  • SourceMod 1.10 or higher

  • (OPTIONAL) Steamworks

  • (OPTIONAL) Updater.smx

The installation of Steamworks and Updater.smx is completely optional but recommended to be able to use all of the included features.

Tip

If you installed SourceMod plugins before you can probably skip most of this section.


Preparing Metamod: Source & SourceMod

First find out the OS your server is running on. Usually many gameservers are running on Linux machines, but there are exceptions.

If you can’t find any information about the OS used on the webpage of your hoster you can find out the OS by the types of certain files on the server.

  • .so binaries indicate it is running on Linux.

  • .dll binaries indicate it is running on Windows.

After you have determined the OS download the release for your OS of

Extract the contents of both of the archives by using a tool like 7-zip or WinRar to a location of your choice.

Either continue with the (OPTIONAL) Preparing SteamWorks & Updater.smx or Preparing SoMoE-19.


(OPTIONAL) Preparing SteamWorks & Updater.smx

2 features of SoMoe-19 require you to install additional tools in order to use them:
  • Setting the game name in the serverlist to “CS:S Soccer Mod”

  • Automatic Updater functionality

Both of these options depend on Steamworks, so if you want to use either one please visit

and downlod the version for your OS.

After downloading the archive, extract the contents of the archive to the same location you already extracted Metamod and Sourcemod to.

If you want to activate the auto-update functionality you also have to download ‘Updater.smx’ from:

In the location where you extracted the archives from before should be a folder called ‘addons’. Place the downloaded .smx file in:

addons/sourcemod/plugins/

Now you can finally move on to SoMoE-19.


Preparing SoMoE-19

If you did not install SoMoe-19 before please download the latest full archive from here:
I do not create a full release for every subversion, so if you are not using Updater.smx also check if there is already a newer version found here:

Again extract the contents of the archive to the location you chose before.

Usually SoccerMod Servers are using soccer related skins. A few possible skins can be found here:

The most commonly used and default ones are those created by Termi

Please note that SoMoE-19 generates a config for the skins created by Termi and thus every other chosen skin has to be added to the skins and download config files manually. More information about the relevant files can be found here <config_skins> and here <config_downloads>.

After downloading the skins of your choice again extract them to the same location as everything else. You can now proceed with the last step of the installation.

Tip

If it’s the first time you’re using SoMoE-19, you should check out the other sections of this documentation too.


Installing the prepared files

If you downloaded and extracted everything required, you should now have 5 folders in the location you chose.
  • addons

  • cfg

  • materials

  • models

  • sound

Attention

To avoid alot of chat spam you might want to edit addons/sourcemod/config/core.cfg and set ‘!’ as a silent chat trigger. You can either simply swap the silent and public triggers or add ‘!’ to the silent trigger-list.

If you are running your server locally copy those folders to:

<path-to-your-server>\cstrike

else, if it is running on a hosted server upload the files to:

/home/cstrike

If the upload of the 2 .exe files in sourcemod/scripting fails, you do not have to mind them, since they’re only used when you’re actually (re-)compiling a plugin.

Attention

The installation will be completed after you restarted your server.

General Information

SoMoE-19 creates different config files at its first start or whenever one of those files is missing. Overal there are 11 files that are generated and found in

cstrike/cfg/sm_soccermod

whereas 3 of them are only used to store information and should not be edited manually.

Most other files can be edited manually, but only
  • soccer_mod_GKAreas.cfg

  • soccer_mod_mapdefaults.cfg

  • soccer_mod_skins.cfg

  • soccer_mod_downloads.cfg

have to be edited by opening them with a text-editor of your choice.

Every other file is editable ingame.


List of generated files

Main configuration controlling most toggles and settings.
Custom admin file to grant players access to certain admin features.
List of maps that should activate certain features of the plugin.
NO CONFIG - Storage for the selected positions of every player.
MANUAL CONFIG - Determines which files are downloaded to the clients when joining.
Determines the areas around a goal needed to allow tracking of saves. Setable from within the game.
NO CONFIG - Storage for matchlogs (if activated). Old logs will be moved to /sm_soccermod/logs.
MANUAL CONFIG - Set default values for period and breaklength per map.
Advanced control regarding automatic matchlog generation.
NO CONFIG - Storage for personal cannon settings of every client.
MANUAL CONFIG - Add skins that are selectable ingame form a menu in here.
MANUAL CONFIG - Add decals to be placed on maps in here.
Library of added and usable shouts on the server.

Tip

Every file got its own site in this documentation. Make sure to check them out if you’re having issues!

soccer_mod.cfg

General Information

soccer_mod.cfg is the main config file for SoMoE-19 and is used to save your settings for almost every part of the plugin. Almost all of the settings can be changed ingame and a manual edit is usually not necessary.

It is divided into different sections for different aspects of the plugin

whereas the titles should be pretty self-explanatory. Below you will find more information about each of the sections and its settings.


soccer_mod.cfg Sections

Admin Settings

As the name suggests this section features settings that only admins can change ingame.

"Admin Settings"
{
        "soccer_mod_pubmode"          "1"
        "soccer_mod_passwordlock"     "1"
        "soccer_mod_passwordlock_max" "12"
        "soccer_mod_afk_time"         "100.000000"
        "soccer_mod_afk_menu"         "20"
        "soccer_mod_matchlog"         "0"
}

Attention

Every key in this section is changeable ingame, so there is no need to edit them manually.

  • soccer_mod_pubmode controls the accessability of the admin portion of the menu (Allowed values: 0 - Admin only, 1 - Public Cap/Match access, 2 - Public menu).

  • soccer_mod_passwordlock controls the automatic serverlock when a cap is started (Allowed values: 0 - Off, 1 - On).

  • soccer_mod_passwordlock_max controls the number of players that has to be reached before the lock takes effect.

  • soccer_mod_afk_time controls the number of seconds before AFK players see the AFK-Kick captcha menu.

  • soccer_mod_afk_menu controls the number of seconds the captcha menu is displayed

  • soccer_mod_matchlog controls whether SoMoE-19 should keep track of game events in a log file(Allowed values: 0 - Off, 1 - On).


Chat Settings

As the name suggests, this section features settings related to the plugins chat messages.

"Chat Settings"
{
        "soccer_mod_prefix"               "Soccer Mod"
        "soccer_mod_textcolor"            "lightgreen"
        "soccer_mod_prefixcolor"          "green"
        "soccer_mod_mvp"                  "1"
        "soccer_mod_deadchat_mode"        "0"
        "soccer_mod_deadchat_visibility"  "0"
}

Attention

Every key in this section is changeable ingame, so there is no need to edit them manually. In case of the colorselection it is even advised to do this ingame as you can access a menu with every valid colorname there.

  • soccer_mod_prefix controls the prefix every plugin related chatmessage will display. The given value will always be enclosed by brackets “[Soccer Mod]”.

  • soccer_mod_textcolor controls the color of the text of every plugin related chatmessage. There are exceptions where this is not the case.

  • soccer_mod_prefixcolor controls the color of the prefix for every plugin related chatmessage. Above mentioned exceptions may show the full message in the prefixcolor.

  • soccer_mod_mvp controls whether SoMoE-19 will display messages about MVPs in the chat (Allowed values: 0 - Off, 1 - On).

  • soccer_mod_deadchat_mode controls whether messages written by dead players or spectators are visible to everyone (Allowed values: 0 - Off, 1 - On, 2 - On, if sv_alltalk 1).

  • soccer_mod_deadchat_visibility controls who can see the messages written by dead players or spectators (Allowed values: 0 - Default, 1 - Teammates only, 2 - Everyone).


Match Settings

As the name suggests, this section features settings related to matches.

"Match Settings"
{
        "soccer_mod_match_periods"              "2"
        "soccer_mod_match_period_length"        "900"
        "soccer_mod_match_period_break_length"  "60"
        "soccer_mod_match_golden_goal"          "1"
        "soccer_mod_teamnamect"                 "CT"
        "soccer_mod_teamnamet"                  "T"
        "soccer_mod_match_readycheck"           "1"
}

Attention

Every key in this section is changeable ingame, so there is no need to edit them manually.

  • soccer_mod_match_periods controls the number of periods a match will consist of.

  • soccer_mod_match_period_length controls the number of seconds a match period will take.

  • soccer_mod_match_period_break_length controls the number of seconds the break between periods will take.

  • soccer_mod_match_golden_goal controls whether a draw after the full time will result in a golden goal.

  • soccer_mod_teamnamect controls the CT teams name shown in messages.

  • soccer_mod_teamnamet controls the T teams name shown in messages.

  • soccer_mod_match_readycheck controls whether pausing the game will require every player to set their state to ready before unpausing the game is possible (Allowed values: 0 - Off, 1 - Automatic unpause if everyone is ready, 2 - Manual unpause is possible as soon as everyone is ready).


Match Info

As the name suggests, this section features settings related to the match info message when a match is started.

"Match Info"
{
        "soccer_mod_period_info"        "1"
        "soccer_mod_break_info"         "1"
        "soccer_mod_golden_info"        "1"
        "soccer_mod_forfeit_info"       "1"
        "soccer_mod_forfeitset_info"    "0"
        "soccer_mod_matchlog_info"      "0"
}

Attention

Every key in this section is changeable ingame, so there is no need to edit them manually.

Each value can either be 0 - Off or 1 - On.

  • soccer_mod_period_info controls the display of the period length in the message.

  • soccer_mod_break_info controls the display of the break length in the message.

  • soccer_mod_golden_info controls the display of the golden goal toggle in the message.

  • soccer_mod_forfeit_info controls the display of the forfeit vote toggle in the message.

  • soccer_mod_forfeitset_info controls the display of the forfeit settings in the message.

  • soccer_mod_matchlog_info controls the display of the matchlog toggle in the message.


Forfeit Settings

As the name suggests, this section features settings related to the toggle-able forfeit vote.

"Forfeit Settings"
{
        "soccer_mod_forfeitvote"        "0"
        "soccer_mod_forfeitscore"       "8"
        "soccer_mod_forfeitpublic"      "0"
        "soccer_mod_forfeitautospec"    "0"
        "soccer_mod_forfeitcapmode"     "0"
}

Attention

Every key in this section is changeable ingame, so there is no need to edit them manually.

  • soccer_mod_forfeitvote controls whether the forfeit vote is enabled.

  • soccer_mod_forfeitscore controls the number of goals one teams has to be in front before a vote is possible.

  • soccer_mod_forfeitpublic controls who is allowed to start a vote (Allowed values: 0 - Admins, 1 - Everyone).

  • soccer_mod_forfeitautospec controls if all players should be automatically put to spectator after a successful vote.

  • soccer_mod_forfeitcapmode controls whether a vote is only possible during cap matches.


Misc Settings

This section features miscellaneous settings that do not fit into any of the other sections.

"Misc Settings"
{
        "soccer_mod_health_godmode"     "1"
        "soccer_mod_respawn_delay"      "10.000000"
        "soccer_mod_blockdj_enable"     "1"
        "soccer_mod_blockdj_time"               "0.45"
        "soccer_mod_kickoffwall"                "0"
        "soccer_mod_damagesounds"       "0"
        "soccer_mod_dissolver"          "2"
        "soccer_mod_joinclass"          "0"
        "soccer_mod_hostname"           "1"
        "soccer_mod_rrchecktime"        "90.0"
        "soccer_mod_loaddefaults"       "1"
        "soccer_mod_killfeed"           "0"
        "soccer_mod_celebrate"                  "0"
        "soccer_mod_first12"            "0"
        "soccer_mod_otcount"            "1"
        "soccer_mod_otfinal"            "1"
        "soccer_mod_otsound1"           "buttons/bell1.wav"
        "soccer_mod_otsound2"           "ambient/misc/brass_bell_f.wav"
}

Attention

Most keys in this section are changeable ingame. Exceptions are soccer_mod_health_godmode and soccer_mod_respawn_delay which usually should not be changed at all.

  • soccer_mod_health_godmode controls whether players can kill each other with the ball or knives.

  • soccer_mod_respawn_delay controls the number of seconds it takes before a player respawns (after joining a running game or if he used the kill-command).

  • soccer_mod_blockdj_enable controls whether duckjumps should be suppressed.

  • soccer_mod_blockdj_time controls after what timeframe ducking should be reallowed in the NEW mode.

  • soccer_mod_damagesounds controls whether the sound playing when a player is hit by the ball should be played or not. (Allowed values: 0 - No sound, 1 - Play sound).

  • soccer_mod_dissolver controls what happens to a players corpse (Allowed values: 0 - Default ragdoll, 1 - Remove ragdoll, 2 - Dissolve animation).

  • soccer_mod_joinclass controls whether players should see the class selection screen after joining a team.

  • soccer_mod_hostname controls whether SoMoE-19 should update the servers name under certain conditions (Cap started, Match running etc.)

  • soccer_mod_rrchecktime controls the number of seconds a player got to rejoin the server before it won’t be considered a “rr” in the connection list.

  • soccer_mod_loaddefaults controls whether SoMoE-19 should load default mapvalues in its soccer_mod_mapdefaults.cfg file.

  • soccer_mod_killfeed controls whether SoMoE-19 will block or allow the killfeed messages in the upper right corner.

  • soccer_mod_celebrate controls whether alive players will receive weapons after scoring a goal. Alive players will be able to hurt each other in this mode.

  • soccer_mod_first12 controls if players in slot 13 and following are pickable by caps.

  • soccer_mod_otcount controls the type of overtime countdown. (Allowed values: 0 - Off, 1 - On, 2 - Sound only, 3 - Text only).

  • soccer_mod_otfinal controls if a sound is played when the overtime countdown ends. (Allowed values: 0 - Off, 1 - On).

  • soccer_mod_otsound1 sets the sound used for the countdown.

  • soccer_mod_otsound2 sets the sound used for the end of the countdown and should use a different sound.

(https://github.com/sourcesounds/cstrike/tree/master/sound the sounds listed here should all work, except for sounds found in the ‘ui’ folder. Also any custom added sound can be used)


Sprint Settings

As the name suggests, this section features settings related to the sprint system.

"Sprint Settings"
{
        "soccer_mod_sprint_enable"      "1"
        "soccer_mod_sprint_speed"       "1.250000"
        "soccer_mod_sprint_time"        "3.000000"
        "soccer_mod_sprint_cooldown"    "7.500000"
        "soccer_mod_sprint_button"      "1"
}

Attention

These keys are not changeable ingame. If you want to change its settings you have to manually edit this file. However most people should be used to these settings so changes are not advised.

  • soccer_mod_sprint_enable controls whether players are able to sprint at all.

  • soccer_mod_sprint_speed controls the players speed while sprint is active.

  • soccer_mod_sprint_time controls the time a player will sprint.

  • soccer_mod_sprint_cooldown controls the time before a player will be able to sprint again.

  • soccer_mod_sprint_button controls whether players will be able to sprint by using the +use button. This does not affect !sprint at all.


Current Skins

As the name suggests, this sections features the currently active skins.

"Current Skins"
{
        "soccer_mod_skins_model_ct"     "models/player/soccer_mod/termi/2011/away/ct_urban.mdl"
        "soccer_mod_skins_model_t"      "models/player/soccer_mod/termi/2011/home/ct_urban.mdl"
        "soccer_mod_skins_model_ct_gk"  "models/player/soccer_mod/termi/2011/gkaway/ct_urban.mdl"
        "soccer_mod_skins_model_t_gk"   "models/player/soccer_mod/termi/2011/gkhome/ct_urban.mdl"
}

Attention

These keys are changeable ingame and depend on the contents of your soccer_mod_skins.cfg file.

Each key determines the skin to use for either CT or T. It is also possible to set an individual Goalkeeper skin for both teams.


Stats Settings

As the name suggests, this section features settings related to the stats system.

"Stats Settings"
{
        "soccer_mod_ranking_points_goal"          "17"
        "soccer_mod_ranking_points_assist"        "12"
        "soccer_mod_ranking_points_own_goal"      "-10"
        "soccer_mod_ranking_points_hit"           "1"
        "soccer_mod_ranking_points_pass"          "5"
        "soccer_mod_ranking_points_interception"  "3"
        "soccer_mod_ranking_points_ball_loss"     "-3"
        "soccer_mod_ranking_points_save"          "6"
        "soccer_mod_ranking_points_round_won"     "10"
        "soccer_mod_ranking_points_round_lost"    "-10"
        "soccer_mod_ranking_points_mvp"           "15"
        "soccer_mod_ranking_points_motm"          "25"
        "soccer_mod_ranking_cdtime"               "300"
        "soccer_mod_gksaves_only"                 "0"
        "soccer_mod_rankmode"                     "0"
}

Attention

These keys are not changeable ingame. If you want to change its settings you have to manually edit this file. The default values were not thoroughly tested, so feel free to adjust them to your needs if needed.

Each key determines the number of points a player will receive when performing the given action. soccer_mod_ranking_points_save does require you to setup Goalkeeper Areas for every map in soccer_mod_GKAreas.cfg.

  • soccer_mod_ranking_cdtime controls the number of seconds players have to wait between using the !rank command.

  • soccer_mod_gksaves_only controls whether gk skin users are the only ones able to earn saves. If no player of the team is using the gk skin everyone of the team is able to earn saves inside the gk area.

  • soccer_mod_rankmode controls the ranking method (0 - pts/matches, 1 - pts/rounds, 2 - pts).


Training Settings

As the name suggests, this section features settings related to the stats system.

"Training Settings"
{
        "soccer_mod_training_model_ball"   "models/soccer_mod/ball_2011.mdl"
        "soccer_mod_training_advpwreq"     "0"
        "soccer_mod_training_advpw"        ""
        "soccer_mod_training_advresettime  "2.0"
}

Attention

These ballmodel key is not changeable ingame. If you want to change its settings you have to manually edit this file.

  • soccer_mod_training_model_ball controls which model should be used for the spawnable training ball.

  • soccer_mod_training_advpwreq controls whether the Advanced Training Menu requires a password to access it or not.

  • soccer_mod_training_advpw controls the password if the above setting is active.

  • soccer_mod_training_advresettime controls the time in seconds before a ball will autorespawn during the goaltarget training (if enabled).


Debug Settings

As the name suggests, this section features debug settings.

"Debug Settings"
{
        "soccer_mod_debug"                    "0"
        "soccer_mod_scoredebug"               "0"
}

Attention

These keys are not changeable ingame. If you want to change its settings you have to manually edit this file.

  • soccer_mod_debug controls whether debug mode is enabled or disabled. You should not need this option at all.

  • soccer_mod_scoredebug controls whether a ‘light’ debug mode is enabled or disabled. This option could help finding out what is causing the ‘scorer-bug’, but should not be needed usually.

soccer_mod_admins.cfg

soccer_mod_admins.cfg is the config storing so-called “SoccerMod Admins”. SoMoE-19 uses both, Sourcemod admins as well as it’s own admin file to determine which player can access which aspects of the plugin.

Attention

SoccerMod Admins are supposed to be added ingame. It is possible to edit the file manually, but theres no real need to do so.

The structure of the file looks like this:

"Admins"
{
        "[U:0:0]"
        {
                "name"           "Playername"
                "modules"
                {
                        "match"      "1"
                        "cap"        "1"
                        "training"   "1"
                        "referee"    "1"
                        "spec"       "1"
                        "mapchange"  "1"
                }
        }
        "[U:0:0]"
        {
                "name"           "OtherPlayername"
                "modules"
                {
                        "match"      "0"
                        "cap"        "1"
                        "training"   "0"
                        "referee"    "1"
                        "spec"       "0"
                        "mapchange"  "1"
                }
        }
}

A module set to 1 is accessible by the player with the given steamid, modules set to 0 are not. There is also no limitation regarding the number of added players.

soccer_mod_allowed_maps.cfg

soccer_mod_allowed_maps.cfg is the config storing a list of maps. If the plugin detects that the currently running map is listed in this config, all aspects of SoMoE-19 will be usable. If you notice that certain parts of the plugin are not working, make sure to check if the currently running map allows SoMoE-19. In addition to that, every map listed in this file will be added to the mapchange menu of SoMoE-19.

Attention

You can add any map the plugin can find on the server to the file using an ingame menu.

soccer_mod_downloads.cfg

soccer_mod_downloads.cfg is a config determining which subdirectories and files a client should download when joining the server. Usually you want to add every skin / model you intend to use in here but also sounds or other materials.

Attention

You have to manually edit this file!

Each line of the file has to start with soccer_mod_downloads_add_dir followed by a path. The easiest setup regarding skins would be:

soccer_mod_downloads_add_dir materials\models\player
soccer_mod_downloads_add_dir models\player

This however adds EVERY file found in the player folder (and its subdirectories) to the downloadlist. So if you added 10 models to your server a player joining would have to download each of those skins first (unless he already downloaded some of them elsewhere before):

Hence it is better to only add relevant folders to the list, like this:

//adds every file & subfolder in the termi folder
soccer_mod_downloads_add_dir materials\models\player\soccer_mod\termi
soccer_mod_downloads_add_dir models\player\soccer_mod\termi

//adds the trainingball model to the list
soccer_mod_downloads_add_dir materials\models\soccer_mod
soccer_mod_downloads_add_dir models\soccer_mod

//adds every file & subfolder in the psl folder
soccer_mod_downloads_add_dir materials\models\player\psl
soccer_mod_downloads_add_dir models\player\psl

With the above setup a skin which is located in

models\player\tusharsl
materials\models\player\tusharsl

as well as its contents would not be added to the downloadlist.

Generally speaking: The more precise the given path is, the less “unnecessary” files your players will have to download.

soccer_mod_GKAreas.cfg

soccer_mod_GKAreas.cfg is the config storing the coordinates spanning the box in which players will be able to receive points for saves. Ideally this box should be in front of the goals and not too small or too big.

An area that is too small could prevent the goalkeepers from receiving deserved saves, an area that is too big could reward defensive players with saves for regular interceptions. The coordinates provided in the generated configuration file are the same size as the 5m-boxes / 6yd-boxes in front of the goals and as high as the goals..

Attention

Starting with version 1.2.8 it is possible to set the areas from within the game. You can still edit the file manually, as it is possible that different maps will use the same coordinates if the creator used the same map as a template.

You can use cl_drawpos 1 to display the coordinates of your current position.

The file, in case it wasn’t generated properly should look like this:

"gk_areas"
{
        "ka_soccer_xsl_stadium_b1"
        {
                "ct_min_x"      "-313"
                "ct_max_x"      "313"
                "ct_min_y"      "-1379"
                "ct_max_y"      "-1188"
                "ct_min_z"      "0"
                "ct_max_z"      "120"
                "t_min_x"       "-313"
                "t_max_x"       "313"
                "t_min_y"       "1188"
                "t_max_y"       "1379"
                "t_min_z"       "0"
                "t_max_z"       "120"
        }
        "ka_soccer_avalon_v8"
        {
                "ct_min_x"      "-313"
                "ct_max_x"      "313"
                "ct_min_y"      "-1379"
                "ct_max_y"      "-1188"
                "ct_min_z"      "0"
                "ct_max_z"      "120"
                "t_min_x"       "-313"
                "t_max_x"       "313"
                "t_min_y"       "1188"
                "t_max_y"       "1379"
                "t_min_z"       "0"
                "t_max_z"       "120"
        }
}

Other known setups:

"gk_areas"
{
        "ka_soccer_comp_2020_final_v1_fix"
        {
                "ct_min_x"      "-313"
                "ct_max_x"      "313"
                "ct_min_y"      "-1379"
                "ct_max_y"      "-1188"
                "ct_min_z"      "0"
                "ct_max_z"      "120"
                "t_min_x"       "-313"
                "t_max_x"       "313"
                "t_min_y"       "1188"
                "t_max_y"       "1379"
                "t_min_z"       "0"
                "t_max_z"       "120"
        }
}

soccer_mod_last_match.txt

soccer_mod_last_match.txt isn’t a config file and should not be edited manually! Doing so does not do any harm, but the only thing this would achive would be a manipulation of the ingame display of the matchlog. In addition to that a new file will be generated as soon as a new match is started, while the old log will be moved to:

cfg/sm_soccermod/logs

An example matchlog could look like this:

"Match Log"
{
        "CT_vs_T"
        {
                "CT"     "CT"
                "T"      "T"
        }
        "Scoresheet"
        {
                "0:1"
                {
                        "Time:"         "00:01"
                        "Scorer:"       "Player [U:X:XXXXXXXX]"
                }
                "0:2"
                {
                        "Time:"         "00:04"
                        "Scorer:"       "Playerr [U:X:XXXXXXXX]"
                }
                "0:3"
                {
                        "Time:"         "00:19"
                        "Scorer:"       "Playerr [U:X:XXXXXXXX]"
                }
                "0:4"
                {
                        "Time:"         "00:51"
                        "Scorer:"       "Player [U:X:XXXXXXXX]"
                }
        }
        "Playerstats"
        {
                "[U:X:XXXXXXXX]"
                {
                        "Name:"         "Player"
                        "Goals:"        "4"
                        "Assists:"      "0"
                        "Owngoals:"     "0"
                        "Other Names:"  "Player | Playerr"
                }
        }
        "Cards"
        {
                "00:14"
                {
                        "Card:"         "Yellow Card"
                        "Player:"       "Playerr"
                }
        }
}

soccer_mod_mapdefaults.cfg

soccer_mod_mapdefaults.cfg is the config storing your per-map default values.

Attention

Except for the generated entry you have to manually add the entries for any map you intend to use.

At the time of writing this documentation there are 3 supported values:

  • default_periodlength

  • default_breaklength

  • default_periods

It is also used to store disabled mapsounds. While the ingame menu only allows the handling of “ambient_generic” sounds, manual addition should allow other type of entities too. The “removed sounds” section is also independent from the mapdefaults setting and will always be used.

The structure of the file should look like this:

"Map Defaults"
{
        "ka_soccer_xsl_stadium_b1"
        {
                "default_periodlength"    "900"
                "default_breaklength"     "5"
                "default_periods"         "2"
                {
                        "removed sounds"
                        {
                                "soundname"
                                {
                                        "type"            "ambient_generic"
                                }
                        }
                }
        }
        "ka_soccer_avalon_v8"
        {
                "default_periods"         "3"
        }
}

As you can see you don’t have to add all 3 values to a newly added entry. Only the one you actually want to set is required.

soccer_mod_personalcannonsettings.cfg

soccer_mod_personalcannonsettings.cfg is the config storing the personal cannon settings for everyone playing on your server.

Attention

To make sure that nothing breaks I recommend to never manually edit this file as it is only intended as storage.

The structure of the file should look like this:

"Personal Cannon Settings"
{
        "[U:0:0]"
        {
                "randomness"  "50.000000"
                "fire_rate"   "1.500000"
                "power"       "10000.000000"
        }
        "[U:0:0]"
        {
                "randomness"  "0.000000"
                "fire_rate"   "1.500000"
                "power"       "5000.000000"
        }
        "[U:0:0]"
        {
                "randomness"  "30.000000"
                "fire_rate"   "2.500000"
                "power"       "10000.000000"
        }
}

soccer_mod_skins.cfg

soccer_mod_skins.cfg is the config storing every skin you want to use ingame. While only 2 skins per team (normal + gk) can be active at a time, you can freely switch between any skins declared inside this file.

Attention

This has to be done manually for every skin you intend to use!

The generated file comes with support for Termi’s skins, which are considered the default soccer skins.

An example configuration adding support for 4 additional skinssets could look like this:

"Skins"
{
        "Termi"
        {
                "CT"        "models/player/soccer_mod/termi/2011/away/ct_urban.mdl"
                "T"         "models/player/soccer_mod/termi/2011/home/ct_urban.mdl"
                "CTGK"      "models/player/soccer_mod/termi/2011/gkaway/ct_urban.mdl"
                "TGK"       "models/player/soccer_mod/termi/2011/gkhome/ct_urban.mdl"
        }
        "PSL"
        {
                "CT"        "models/player/psl/public2014/ct/aus_neill.mdl"
                "T"         "models/player/psl/public2014/t/aus_neill.mdl"
                "CTGK"      "models/player/psl/public2014/gk/ct/aus_neill.mdl"
                "TGK"       "models/player/psl/public2014/gk/t/aus_neill.mdl"
        }
        "Natsu"
        {
                "CT"        "models/player/soccer_mod/natsu2021/away/ct_urban.mdl"
                "T"         "models/player/soccer_mod/natsu2021/home/ct_urban.mdl"
                "CTGK"      "models/player/soccer_mod/natsu2021/gkaway/ct_urban.mdl"
                "TGK"       "models/player/soccer_mod/natsu2021/gkhome/ct_urban.mdl"
        }
        "teamukr"
        {
                "CT"        "models/player/tusharsl/teamukr/ct_urban.mdl"
                "T"         "models/player/tusharsl/teamukr/ct_urban.mdl"
        }
        "teamrus"
        {
                "CT"        "models/player/tusharsl/teamrus/ct_urban.mdl"
                "T"         "models/player/tusharsl/teamrus/ct_urban.mdl"
        }
}

As you can see teamrus and teamukr could be assigned to both teams (which you would not want to do at the same time for obvious reasons). The other 3 sets are complete sets providing 2 skins per team. Ingame however you would be still able to use this example setup:

"CT"        "models/player/soccer_mod/termi/2011/away/ct_urban.mdl"
"T"         "models/player/tusharsl/teamrus/ct_urban.mdl"
"CTGK"      "models/player/soccer_mod/natsu2021/gkaway/ct_urban.mdl"
"TGK"       "models/player/psl/public2014/gk/t/aus_neill.mdl"

As you can see this file only determines which skins are choosable ingame and in which sub-menu (the sectionname) they are listed.

soccer_mod_cap_positions.txt

soccer_mod_positions.txt isn’t a config file and should not be edited manually! Doing so does not much harm, but the file is only intended to store the position values of your players. In addition to that the plugin reads those values from this file to add the selected positions of each player behind their name in the cap pick-menu.

The structure of the file should look like this:

"capPositions"
{
        "[U:0:0]"
        {
                "gk"        "0"
        }
        "[U:0:0]"
        {
                "gk"        "1"
                "lb"        "1"
                "rb"        "1"
                "mf"        "1"
                "lw"        "1"
                "spec"      "1"
        }
        "[U:0:0]"
        {
                "spec"      "0"
                "gk"        "1"
                "lb"        "1"
                "lw"        "1"
                "mf"        "1"
        }
}

soccer_mod_matchlogsettings.cfg

soccer_mod_matchlogsettings.cfg is a config storing settings to determine when SoMoE-19 should automatically turn on its matchlog feature.

Attention

These settings can be changed ingame. Editing them manually should be fine too.

The structure of the file looks like this:

"Matchlog Settings"
{
        "Days"
        {
                "Monday"      "1"
                "Tuesday"     "1"
                "Wednesday"   "1"
                "Thursday"    "1"
                "Friday"      "1"
                "Saturday"    "1"
                "Sunday"      "1"
        }
        "Starttime"
        {
                "Hour"        "8"
                "Minute"      "20"
        }
        "Stoptime"
        {
                "Hour"        "9"
                "Minute"      "20"
        }
}

The Days section determines the days on which the plugin should enable the matchlog option starting with the time given in the Starttime section. The Stoptime section is obviously used to disable the feature at a given time again. There is no individual setting per day, so a configuration like this

"Matchlog Settings"
{
        "Days"
        {
                "Monday"      "0"
                "Tuesday"     "0"
                "Wednesday"   "0"
                "Thursday"    "0"
                "Friday"      "0"
                "Saturday"    "1"
                "Sunday"      "1"
        }
        "Starttime"
        {
                "Hour"        "18"
                "Minute"      "0"
        }
        "Stoptime"
        {
                "Hour"        "22"
                "Minute"      "0"
        }
}

would enable the matchlog generation every saturday and sunday between 6 pm and 10 pm.

soccer_mod_replacer.cfg

soccer_mod_replacer.cfg is the config storing every decal you want to use ingame. The decals are intended to provide a way to replace outdated grasstextures by simply overlaying them, but in theory it allows you to place logos & images wherever you want them on a map on your server.

Attention

This has to be done manually for every decal/texture you intend to use!

The generated file comes with 2 pre-configured entries. You can simply add new files following their example by providing a NAME and the PATH to the textures .vmt file

The name is of importance when adding decals to a map. Each map will generate their own config file in cfg/sm_soccermod/grassreplacer.

A properly working file could look like this:

"Positions"                             // DO NOT CHANGE
{
        "grassreplacer"         // the name of the texture set in soccer_mod_replacer.cfg!
        {
                "pos1"          "-1024.000001 0.000001 0.031250"                // each centerposition of a texture
                "pos2"          "-512.000001 0.000001 0.031250"
                "pos3"          "0.000001 0.000001 0.031250"
                "pos4"          "512.000001 0.000001 0.031250"
                "pos5"          "1024.000001 0.000001 0.031250"

                "pos6"          "-1024.000001 -512.000001 0.031250"
                "pos7"          "-512.000001 -512.000001 0.031250"
                "pos8"          "0.000001 -512.000001 0.031250"
                "pos9"          "512.000001 -512.000001 0.031250"
                "pos10"         "1024.000001 -512.000001 0.031250"

                "pos11"         "-1024.000001 -1024.000001 0.031250"
                "pos12"         "-512.000001 -1024.000001 0.031250"
                "pos13"         "0.000001 -1024.000001 0.031250"
                "pos14"         "512.000001 -1024.000001 0.031250"
                "pos15"         "1024.000001 -1024.000001 0.031250"

                "pos16"         "-1024.000001 -1536.000001 0.031250"
                "pos17"         "-512.000001 -1536.000001 0.031250"
                "pos18"         "0.000001 -1536.000001 0.031250"
                "pos19"         "512.000001 -1536.000001 0.031250"
                "pos20"         "1024.000001 -1536.000001 0.031250"

                "pos21"         "-1024.000001 512.000001 0.031250"
                "pos22"         "-512.000001 512.000001 0.031250"
                "pos23"         "0.000001 512.000001 0.031250"
                "pos24"         "512.000001 512.000001 0.031250"
                "pos25"         "1024.000001 512.000001 0.031250"

                "pos26"         "-1024.000001 1024.000001 0.031250"
                "pos27"         "-512.000001 1024.000001 0.031250"
                "pos28"         "0.000001 1024.000001 0.031250"
                "pos29"         "512.000001 1024.000001 0.031250"
                "pos30"         "1024.000001 1024.000001 0.031250"

                "pos31"         "-1024.000001 1536.000001 0.031250"
                "pos32"         "-512.000001 1536.000001 0.031250"
                "pos33"         "0.000001 1536.000001 0.031250"
                "pos34"         "512.000001 1536.000001 0.031250"
                "pos35"         "1024.000001 1536.000001 0.031250"
        }
}

As you can see the setup is fairly easy since the shift from the previous set texture is simply equal to the size of the texture used. In this case the texture is 512px X 512px and therefore each change consists of adding or substracting 512 from the previous value.

Commands Information

SoMoE-19 features a row of chat commands you can use to quickly access certain features. Overall there are 38 chat commands, 15 Public Commands and 23 Admin Commands.


Admin Commands


General commands

sm_maprr / !maprr

Requires: GENERIC-flag (b or z) or SoccerMod Admin (mapchange)
Reloads the currently running map

sm_rr / !rr

Requires: GENERIC-flag (b or z) or SoccerMod Admin (match)
Restarts the current round

Match commands

sm_start / !start

Requires: GENERIC-flag (b or z) or SoccerMod Admin (match)
Starts a match

sm_matchrr / !matchrr

Requires: GENERIC-flag (b or z) or SoccerMod Admin (match)
Stops and restarts the current match

sm_pause / !pause | sm_p / !p

Requires: GENERIC-flag (b or z) or SoccerMod Admin (match)
Pauses a running match

sm_unpause / !unpause | sm_unp / !unp | sm_up / !up

Requires: GENERIC-flag (b or z) or SoccerMod Admin (match)
Unpauses a match

sm_stop / !stop

Requires: GENERIC-flag (b or z) or SoccerMod Admin (match)
Stops a running match

sm_forcerdy / !forcerdy

Requires: RCON-flag (m or z)
Forces every player to be 'ready' if the readycheck is enabled and the match was paused

sm_forceunp / !forceunp

Requires: RCON-flag (m or z)
Forces the match to unpause if the readycheck is enabled, regardless of individual ready states

Misc commands

sm_addadmin / !addadmin

Requires: RCON-flag (m or z)
Arguments: <#steamid> <flags> <clientname>
Add an admin to the admins_simple.ini file

sm_dpass / !dpass

Requires: RCON-flag (m or z)
Reset the server password to the default value set in your server.cfg

sm_gksetup / !gksetup

Requires: RCON-flag (m or z)
Opens a panel to set or change the gk areas of the current map.

sm_pass / !pass

Requires: RCON-flag (m or z)
Arguments: <password>
Set a custom server password

sm_rpass / !rpass

Requires: RCON-flag (m or z)
Sets a randomly generated server password

sm_spray / !spray

Requires: GENERIC-flag (b or z)
Re-Move the spraylogo you're looking at. (Actually gets moved to another position)

sm_ungk / !ungk

Requires: GENERIC-flag (b or z)
Arguments: <target>
Remove the gk skin of your target. DOES NOT set the gk skin on a target that is not using a skin.

sm_wiperanks / !wiperanks

Requires: RCON-flag (m or z)
Sets every value in the stats database for every entry to 0. THIS IS NOT REVERSIBLE! USE WITH CAUTION OR MAKE A BACKUP FIRST!

sm_jumptime / !jumptime

Requires: ROOT-flag (z)
Arguments: <time>
Set the time before you can use +duck after jumping again. Default: 0.45.

Public Commands

Menu commands

sm_menu / !menu

Opens the Soccer Mod main menu

sm_pick / !pick

Re-opens the Soccer Mod pick menu after a capfight

sm_stats / !stats

Opens the Soccer Mod statistics menu

sm_pos / !pos

Opens the Soccer Mod positions menu

sm_help / !help

Opens the Soccer Mod help menu

sm_admins / !admins

Opens a menu to display the currently active admins, separated into different lists

sm_commands / !commands

Opens the Soccer Mod commandlist menu

sm_info / !info

Opens the Soccer Mod credits menu

General commands

sm_gk / !gk

Toggles the Goalkeeper skin

sm_rdy / !rdy

Re-opens the Readycheck panel if its enabled and the game was paused

sm_lc / !lc | sm_late / !late

Displays an accurate numbered list of players. People leaving will only be completely removed from their position after being away for a specified timeframe. If a player leaves he won't be visible on the list and only reappear if he rejoins.

sm_pick / !pick

(Re-)Opens the cap pick menu.

sm_rank / !rank

Prints your match rank in the chat

sm_prank / !prank

Prints your public rank in the chat

sm_forfeit / !forfeit

Starts a forfeit vote if forfeits are enabled

sm_profile <name> / !profile <name>

Opens the steamprofile of the target in the MOTD window

sm_spec me/all/<name> / !spec me/all/<name>

Specs players depending on the given argument.
'me'    specs yourself
'all'   specs everyone
<name>  specs your target (e.g. !spec MK99 will spec the player with MK99 in his name)

SoMoE-19 Menu

Alot of settings and features of SoMoE-19 are accessible from its included menu. You can open said menu by using either !menu in chat or sm_menu in your console. Both commands can also be added as a bind:

bind "<key>" "say !menu"

or

bind "<key>" "sm_menu"

Example:
bind "k" "sm_menu"

An overview of its structure can be seen below.

  • sections marked with a (*) require generic sourcemod admin privileges, the respective SoccerMod Admin privileges or the public menu being activated.

  • sections marked with a (^) require at least generic sourcemod admin privileges.

  • sections marked with a (°) require rcon sourcemod admin privileges.

Unless an indicator is added, the indicator of the next higher menu applies to every sub-menu.

!menu
├─ Admins (*)
│  ├─ Match (*)
│  │  ├─ Start / Stop
│  │  ├─ Pause / Unpause
│  │  ├─ Match Settings
│  │  │  ├─ Period Length
│  │  │  ├─ Break Length
│  │  │  ├─ Golden Goal
│  │  │  ├─ Matchlog Settings
│  │  │  ├─ Forfeit Vote Settings
│  │  │  ├─ Team Name Settings
│  │  │  └─ Match Info Settings
│  │  │
│  │  ├─ Match Log (*)
│  │  └─ Current Matchsettings
│  │
│  ├─ Cap (*)
│  │  ├─ Put all players to spectator
│  │  ├─ Add random player
│  │  ├─ Start cap fight (weapon)
│  │  └─ Cap weaponchoice
│  │     └─ Weaponlist
│  │
│  ├─ Referee (*)
│  │  ├─ Yellow Card
│  │  ├─ Red Card
│  │  ├─ Remove Yellow Card
│  │  ├─ Remove Red Card
│  │  ├─ Remove All Cards
│  │  └─ Score
│  │
│  ├─ Training (*)
│  │  ├─ Cannon
│  │  │  ├─ Set Cannon position
│  │  │  ├─ Set Cannon aim
│  │  │  ├─ Cannon on
│  │  │  ├─ Cannon off
│  │  │  └─ Settings
│  │  │     ├─ Randomness
│  │  │     ├─ Fire rate
│  │  │     └─ Power
│  │  │
│  │  ├─ Personal Cannon (*)
│  │  │  ├─ Set Cannon position
│  │  │  ├─ Set Cannon aim
│  │  │  ├─ Cannon on
│  │  │  ├─ Cannon off
│  │  │  └─ Settings
│  │  │     ├─ Randomness
│  │  │     ├─ Fire rate
│  │  │     └─ Power
│  │  │
│  │  ├─ Toggle Goals
│  │  ├─ Spawn / Remove Ball
│  │  ├─ Prop Menu
│  │  └─ Advanced Training
│  │     ├─ Training Mode
│  │     ├─ Goaltargets
│  │     │   ├─ Mode (Single / Multi)
│  │     │   ├─ Toggle T Goal Target
│  │     │   ├─ Toggle CT Goal Target
│  │     │   ├─ Move Ball to closest spawnpoint
│  │     │   ├─ Toggle autorespawn for closest spawnpoint
│  │     │   ├─ Select Ball / Set spawnpoint (T Side)
│  │     │   └─ Select Ball / Set spawnpoint (CT Side)
│  │     │
│  │     │
│  │     └─ Cone Manager
│  │        ├─ Cone Type (Dynamic / Static)
│  │        ├─ Spawn / Remove selected cone
│  │        └─ Remove all cones of the selected type
│  │
│  ├─ Spec Player (*)
│  ├─ Change Map (*)
│  └─ Settings (^)
│     │
│     ├─ Manage Admins (°)
│     │  ├─ Add Admin (°)
│     │  ├─ Edit Admin (°)
│     │  ├─ Remove Admin (°)
│     │  ├─ Admin List (°)
│     │  └─ Online List (°)
│     │
│     ├─ Allowed Maps (^)
│     │  ├─ Add Map
│     │  └─ Remove Map
│     │
│     ├─ Public Mode (^)
│     ├─ Misc Settings (^)
│     │  ├─ Class Choice Toggle
│     │  ├─ Load Map Defaults Toggle
│     │  ├─ Remove Ragdoll Toggle
│     │  ├─ Duckjump Block Toggle
│     │  ├─ Kickoffwall Toggle
│     │  ├─ Hostname Updater Toggle
│     │  ├─ First12 Rule Toggle
│     │  ├─ !rank Cooldown Setting
│     │  ├─ Readycheck Toggle
│     │  ├─ Damage Sound Toggle
│     │  ├─ Killfeed Toggle
│     │  ├─ GK saves only Toggle
│     │  ├─ Rankmode Toggle
│     │  └─ Celebration Toggle
│     │
│     ├─ Skin Settings (^)
│     │  ├─ CT Skin
│     │  ├─ T Skin
│     │  ├─ CT GK Skin
│     │  └─ T GK Skin
│     │
│     ├─ Chat Settings (^)
│     │  ├─ Chat Style
│     │  │  ├─ Prefix Setting
│     │  │  ├─ Textcolor Setting
│     │  │  └─ Prefixcolor Setting
│     │  │
│     │  ├─ MVP Message Toggle (^)
│     │  └─ DeadChat Toggle (^)
│     │
│     ├─ Sound Control (^)
│     │  ├─ Remove Sound
│     │  ├─ Add Sound
│     │  └─ Overtime Warning Toggle (OFF, ON, SOUND, TEXT)
│     │
│     ├─ Lock Settings (^)
│     │  ├─ Enable Serverlock
│     │  ├─ Disable Serverlock
│     │  ├─ Player Threshold
│     │  ├─ Captcha Timer Setting
│     │  ├─ Captchamenu Timer Setting
│     │  └─ Current Locksettings
│     │
│     ├─ Shoutsettings (^)
│     │  ├─ Shout Mode Toggle
│     │  ├─ Global Shout Cooldown
│     │  ├─ Global Shout Volume
│     │  ├─ Global Shout Pitch
│     │  ├─ Global Shout Radius (if mode supports it)
│     │  ├─ Shout Commands Toggle
│     │  ├─ Shout Manager (°)
│     │  │  ├─ Add Shouts
│     │  │  ├─ Scan Sounds Folder
│     │  │  ├─ Edit Shouts
│     │  │  ├─ Remove Shouts
│     │  │  └─ Shout List
│     │  └─ Info / Help
│     │     ├─ About: Settings
│     │     ├─ About: Managing Shouts
│     │     ├─ Credits
│     │     ├─ Toggle Join Adverts
│     │     └─ Debug Toggle
│     │
│     └─ Debugging (°)
│        ├─ Debugging Toggle
│        └─ Scoredebugging Toggle
│
├─ Ranking
│  ├─ Match Top 50
│  ├─ Public Top 50
│  ├─ Match Personal
│  ├─ Public Personal
│  ├─ Last Connected
│  └─ Reset Rank
│     ├─ Reset Match Ranking
│     └─ Reset Public Ranking
│
├─ Statistics
│  ├─ Team CT
│  ├─ Team T
│  ├─ Player
│  ├─ Current Round
│  └─ Current Match
│
├─ Positions
├─ Help
│  ├─ Chat Commands
│  │  ├─ Admin Commands (*)
│  │  └─ Public Command List
│  │
│  └─ Guide
│
├─ Settings
│  ├─ Per Client Grassreplacer Toggle
│  ├─ Per Client Shout Toggle
│  └─ Sprintsettings
│     └─ Timer Settings
│        ├─ Timer Position
│        └─ Timer Color Settings
│           └─ Timer Color
│
├─ Shouts
└─ Credits

Admin

The admin portion of the menu is the central place to control most of SoMoE-19’s functions and settings. It is divided into the following sub-menus:

Note

The structure of the menu you can see ingame might vary depending on your permissions. See SoMoE-19 Menu for a rundown on the menu-trees structure and the required permissions.


Match sub-menu

This menu is used to control the matches. Next to options to Start and Stop them you can also Pause and Unpause them using this menu. While these options are also available as commands to be used as a shortcut (see Commands Information), the menu also features a sub-menu to control the Match Settings from within the game.

Another notable entry in this menu is the Matchlog Viewer.

The structure of the menu looks like this:

Match menu

  • Start / Stop

  • Pause / Unpause

  • Match Settings

  • Match Log (if enabled)

  • Info (Period length | break length)

  • Info (T name | CT name)

  • Info (Golden Goal | Matchlog)

Tip

The last 3 lines of the menu will give you a quick overview over certain match-related settings.


Match Settings

The match settings sub-menu can be used to control the following settings:

  • Period length - Set the length of the half (So obviously 2*<period length> = match length).

  • Break length - Set the length of the halftime break.

  • Golden goal - Set if the match will continue after full time if its a draw.

  • Matchlog Settings - Control aspects of the matchlogging. (see Matchlog Settings; relevant for Matchlog Viewer).

  • Forfeit Vote Settings - Control aspects of forfeit voting (see Forfeit Settings)

  • Team Name Settings - Control the teams names (see Team Name Settings).

  • Match Info Settings - Control the Match Info that is being displayed at the start of a match (see Match Info Settings).


Matchlog Settings

The Matchlog Settings can be used to toggle on or off matchlogging. It also features an optional time-based mode that will automatically enable this feature at set days, during a set period of time.

The last line in this menu also tells you whether your set period of time is valid or might cause problems.


Forfeit Settings

As the name suggests, this menu can be used to control various aspects of the optional forfeit vote system.

  • Forfeit Vote - Enable / Disable the feature.

  • Vote Condition - Set how many goals one team has to be in front before a forfeit vote (if enabled) is possible.

  • Availability - Allow everyone to start a vote or limit it to admins.

  • Auto-Spec - If enabled will put every player to spectator after a successful vote.

  • Cap-only Mode - If enabled will limit forfeit votes to cap matches only. (Forfeit Vote has to be set to ON!).


Team Name Settings

This menu allows you to set the teams names. The options marked with [Perm] will permanently change the names, options marked with [Match] will revert back to the permanent / default value after the next match ends.

Example

If you set the [Perm] name of the terrorists team to Terror and change the [Match] name of the terrorists team to FC before starting a match, the T team will be called FC. If you instantly restart the match with the !matchrr command the name will be reverted and the T team will be called Terror in the restarted match.

Note

I might add the team names to the soccer_mod_mapdefaults.cfg file at a later point so they will reverted to the default value on reloading the map only but currently this is not implemented.


Match Info Settings

This menu allows you to control the information displayed whenever a match starts. The full message (if every option in this menu is enabled) looks like this:

Matchinfo Example 1

[MatchInfo] Halftime length: 15:00 Minutes | Break length: 5 seconds | Golden Goal: On |
[MatchInfo] FF vote: Enabled | FF Condition: 4 goals | FF Auto-Spec: OFF | Matchlog: Off |

Only enabling the first 3 options would look like this:

Matchinfo Example 1

[MatchInfo] Halftime length: 15:00 Minutes | Break length: 5 seconds | Golden Goal: On |

As soon as you select 4 optinos at the same time the message will be split. Please note that the option Forfeit vote settings info does consist of 2 information strings (Condition & Auto-Spec) but still counts as only 1 option.


Matchlog Viewer

The Matchlog Viewer can be used to track the events of the currently running or last match. It keeps track of every goal together with its timestamp and the involved players (scorer & assister).

A submenu can also be used to track the given cards and their timestamp.


Cap sub-menu

This menu is used to control cap fights. It provides a fast option to prepare the upcoming cap fight by putting everyone on the server to spec as well as an option to randomly assign players to each team. (If you use the option twice, 1 player will be assigned to the T team, the other one will be put into the CT team)

The last notable option can be used to start the fight.

Starting the fight will freeze every player and start a countdown to prepare them for the fight. During a cap fight godmode will be deactivated and the HP of every participitating player will be set to 101. Sprint will be disabled during the fight.

The structure of the menu looks like this:

Cap menu

  • Put all players to spectator

  • Add random player

  • Start cap fight


Referee sub-menu

This menu is used to keep players in check breaking the rules. The effects are similar to those of the real-life sport. Giving a yellow card serves as a warning and should persuade the target to behave. A second yellow card will result in a yellow-red card and the same effects as a directly given red card. The targeted player will be instantly moved to spectator. This will repeat whenever he tries to join either team as long as the red or yellow-red card is in place.

It is possible to remove given cards, either individually (red or yellow) or by removing every currently given card at once.

It is alos possible to control the score of the current match by adding or removing goals for either team. This is useful if a team scored while one of the opponents was AFK or the running match was stopped and should be continued with its original score.

The structure of the menu looks like this:

Referee menu

  • Yellow Card

  • Red Card

  • Remove Yellow Card

  • Remove Red Card

  • Remove All Cards

  • Score


Training sub-menu

This menu provides tools to train your skills. You can create a global or personal ball cannon, can spawn or despawn an additional ball, as well as other props and can also disable or enable the goals. The ball cannons can be customized regarding their fire rate, randomness or power. You can also freely change their position and aim. The training props can be positioned freely aswell.

The structure of the menu looks like this:

Training menu

  • Cannon

  • Personal Cannon

  • Enable / Disable Goals

  • Spawn / Remove Ball

  • Spawn Prop Menu (only visible if at least 1 of the files exist)

  • Advanced Training

Both Cannon menus provide submenus to customize their settings.


Advanced Training sub-menu

WIP This menu provides additional tools to train your skills. Currently it allows spawning up to 30 cones and the use of 1 of 2 target training modes. It can also be used to enable a training mode which will lock the CT team to prevent players joining it and causing the round to restart.

The structure of the menu looks like this:

Advanced Training menu

  • Training Mode Toggle

  • Goaltarget Submenu (Spawn / Remove and QoL functions related to it)

  • Cone Manager


Spec Player sub-menu

This menu provides a list of all players in either CT or T. Selecting a name from this list will put the targeted player to spectator. This is intended to be used if a player is AFK and has to removed from the field to make place for his substitution.


Change Map sub-menu

This menu provides a list of all allowed maps found on the server. It can be used to change the currently running map.

Settings sub-menu

This menu provides various settings that can be adjusted ingame. Please refer to Admin - Settings for a detailed rundown.

Admin - Settings

As the name suggests is the Settings menu your go-to point if you want to adjust certain settings of SoMoE-19.

Note

To see and access the option you require sourcemod generic admin privileges (b). However, to access every part of it you require sourcemod rcon admin privileges (z).

The structure of this menu looks like this:

Settings menu

Items marked with a (*) require the rcon flag (z). Items marked with a (#) require an additional plugin to be loaded.


Manage Admins

This sub-menu allows you to manage your admins from within the game. To access the menu rcon-flag (z) permissions are required for obvious reasons.

The structure of this menu looks like this:

Settings menu

Items marked with a (*) require the rcon flag (z). Items marked with a (#) require an additional plugin to be loaded.


Add Admin

As the name suggests, this option is used to add players as an admin. After selecting a player from the list you can select what kind of admin privileges you intend to give. You can either add them to the sourcemod admin list or the SoccerMod admin list. In case of sourcemod admins you also got the choice between adding them to the admins.cfg file or the admins_simple.ini.

Note

The option to add players to the admins_simple.ini is not advised and was superseded by the admins.cfg option.

If the target it already an admin of any kind you won’t be able to proceed.


Edit Admin

As the name suggests, this option is used to edit your admins from within the game. The editing function is divided into 3 options:

Edit SM Admin

Allows you to change the Name, Flags, Immunity and Admin Group of your target.

Edit SoccerMod Admin

Allows you to enable or disable the access to certain modules of your target. The selectable modules are identical to the sub-menus of the admin menu, except for settings.

Promote Soccer Admin

Allows you to quickly remove your target from the SoccerMod Admin list and add it to the sourcemod admin list at the same time.


Remove Admin

As the name suggests, this option is used to remove players from the admin list. It is divided into 2 options, one targeting your sourcemod admins, the other one targeting your soccermod admins.


Admin Lists

This menu provides a quick and separated overview over your admins. It is divided into 3 possible displays:

  • SoccerMod List which displays only your SoccerMod admins.

  • admins.cfg List which displays every SourceMod admin in your admins.cfg file.

  • admins_simple.ini which displays every SourceMod admin in your admins_simple.ini file.


Online List

This menu provides a quick overview over the admins currently on the server.


Allowed Maps

This menu is used to add or remove maps from SoMoE-19’s allowed maps list. Certain features are only enabled if the current mapname is found in this file.

The structure of this menu looks like this:

Allowed maps menu

  • Add Map

  • Remove Map


Public Mode

SoMoE-19 features 3 different access modes which can be changed with this menu.

The structure of this menu looks like this:

Public Mode menu

  • Admin Access Only

  • Public !cap and !match

  • Public !menu

Admin Access Only blocks players from accessing the admin menu portion unless they’re found in any of the possible admin lists. Which parts of the menu will be visible and accessible depends on the admin type. In case of SoccerMod admins only the allowed modules will be visible. SourceMod admins will see everything by default.

Public !cap and !match is a combination of the other 2 modes. Every player can access a limited version of the admin menu, while admins can still access everything.

Public !menu allows every player to access every part a full SoccerMod admin could access whether they’re admins or not.


Misc Settings

The misc settings menu contains a collection of features that did not fit anywhere else.

The following features are toggleable or changeable:

  • Class Choice - Toggle - Enables or Disables the class selection screen after joining a team.

  • Load Map Defaults - Toggle - Enable or Disable loading per map defaults when loading that map.

  • Remove Ragdoll - Toggle - Select 1 of 3 modes of ragdoll handling (Do nothing / Remove ragdoll / Dissolve ragdoll).

  • Duckjump Block - Toggle - Enable or Disable the Duckjump preventions. Features 3 attempts at doing so.

1st attempt was created by Marco Boogers and relies on the player position. 2nd attempt blocks ducking for a configurable amount of time after jumping (autoreset as soon as you hit ground). 3rd attempt tries to block duck only at the highest point of the jump, but requires alot of testing to see its usefulness. - Hostname Info - Toggle - Enable or Disable status updates in the servers name. - !rank cooldown - Value - Change the cooldown between !rank usages - 0 to disable. - Ready Check - Toggle - Select 1 of 3 modes of unpause handling (Default / Auto-Unpause if everyone ready / Block unpause unless everyone is ready). - Damage Sounds - Toggle - Enable or Disable hurt-sounds when being hit by the ball. - Killfeed - Toggle - Enable or Disable the killfeed in the upper right corner. - GK saves only - Toggle - Enable or Disable save tracking only for players using the gk skin. If this option is enabled and no player of the team is using the gk skin, everyone will be able to earn saves in the gk area. - Rank Mode - Toggle - Select 1 of 3 ranking modes ( pts/matches, pts/rounds, pts). - Celebration - Toggle - Enable or Disable celebration weapons for the winning team. Also enables friendly fire and surpresses friendlyfire messages. - First 12 Rule - Toggle - If enabled blocks players who joined in on slot 13+ from being picked.


Skin Settings

This menu allows you to select the currently used skins from a list defined in soccer_mod_skins.cfg. Each skin can be set individually as long as its defined in the configuration file. There are 4 skinslots you can set:

  • CT Team

  • T Team

  • CT GK

  • T GK


Chat Settings

This menu allows you to adjust chat related settings. Next to the appearance of the messages (colors and prefix) you can also enable or disable MVP messages or toggle Deadchat options.

The structure of this menu looks like this:

Chat Settings

  • Chat Style - Allows changing the prefix, prefixcolor and textcolor for every plugin related chat message.

  • MVP Messages - Enable or Disable the display of MVP / MOTM messages and MVP stars.

  • DeadChat - Enable or Disable the display of messages written by spectators and dead players to everyone. Features 3 modes and additional visibility options.


Sound Control

This menu allows you to disable and re-enable ambient_generic sounds embedded in the map file.

A sound disabled this way will be only enabled at the specific map and will stay disabled until it gets reenabled again or is removed from the configfile. Removed sounds are stored in the mapdefault.cfg.

Re-enabling a sound will require a new round to start.


Lock Settings

Allows the configuration of any serverlock related setting. Serverlock is a feature to automatically change the servers password to a random value as soon as certain criterias are met. The main criteria is a started cap fight, a variable one is the number of players before the lock is activated. As soon as the playercount falls below the set threshold the password is reverted. This is to ensure that the required number of players for a match can still be achieved if people leave or are kicked because of inactivity. While the Serverlock is active an AFK-Kicker will also take effect, acting according to configurable time frames.

The structure of this menu looks like this:

Lock Settings

  • Enable Serverlock - Enable an automatic passwordchange if a cap fight is started and the number of players is higher than a set threshold.

  • Disable Serverlock - Disables the feature.

  • Player Threshold - Change the threshold of players that has to be crossed before the passwordchange takes effect.

  • Captcha Timer - Time of inactivity before the AFK-Kicker sends a captcha menu to inactive players to check whether they’re actually there.

  • Captchamenu Timer Time before the Captcha menu closes itself and considers an inactive player as AFK.

  • Serverlock Info (Status / Threshold value)


Shout Plugin

Access and configure settings related to shouting (playing sounds).

Debugging

Toggle the debugging modes. There are 2 possible modes. A complete debugging mode and one only checking for passes and losses.

Ranking

This submenu allows you to access certain ranking information. It also allows you to reset your ranks.

As their name s suggest, the Top 50 options will display a list of the 50 best ranked players. The personal options will allow you to review your own achievements. The Last Connected option displays a menu of everyone who connected to the server and the time since they played on the server. Reset Rank allows you to reset either your public or match rank.

Statistics

This submenu allows you to access certain statistics of the current round or match, as well as individual statistics.

The following statistics are visible in the different submenus:

  • Goals

  • Assists

  • Own Goals

  • Possession %

  • Saves

  • Passes

  • Rounds won

  • Rounds lost

  • Interceptions

  • Ball losses

  • Hits

  • (Name) in the display for individual players

Positions

The submenu used to set your positions for caps to see during the picking process. If you do not have any position set or have Spec only active the menu should open itself when a capfight start.

Help

The help submenu is kind of an ingame equvivalent of this documentation and features a commands list with a short description as well as a link to an ingame display of this docs. It also allows you to print the the urls of this documentation and the GitHub repo to your console (starting from 1.2.8).

Settings

This submenu can be used to change certain client settings. Most are resolving around the sprinting feature but you can also toggle whether you can hear shouts or see the grassreplacer.

The Sprintsettings consist of an additional submenu which features a short informational text, but is mostly used to enable or disable certain sprinting indicators such as:

  • Messages - Displays a chat message when you are sprinting, sprint ended or you can sprint again.

  • Progress Bar - Displays the defuse bar as a visual indicator for the sprint duration or cooldown.

  • Sound - Plays a sound when you activate sprint.

  • Timer - Adds a customizable numeric timer to your HUD.

The Timer also allows a range of customization. The position of the Timer is freely changeable and can be changed in the Timer Settings submenu. In this submenu is also another submenu called Color to freely adjust the timers color. The Option Display timer can be used to constantly display the timer while editing its color and position.

Shouts

Every player can access a list of enabled (per server) shouts from the main menu or by using ‘!shout’ in the chat. If the serverowner enabled it, the listed shouts can also be used as chat commands.

e.g.: A shout is called ‘holyshit’ in the list, then using ‘!holyshit’ would play the shout, as well as selecting the corresponding number in the shoutmenu.

Shoutsettings

This menu is only accessable for players with at least ‘generic’ sourcemod permissions. The menu can be used to control the general volume, pitch and so on of the shouts, as well as the playing mode and its radius if the mode allows it.

The different available modes are:
  • Ambient: Plays the sound from the position the shouter was when he shouted.

  • Everyone: Plays the sound to everyone, no matter where they are.

  • Team: Plays the sound to everyone in your team, no matter where they are.

  • Radius: Plays the sound to everyone in a certain radius around the ‘shouter’.

  • Radius(Team): Same as above, but limited to your own team

  • Disabled: No shouts :(

You can also enable the ‘command mode’ which will allow players to bind individual sounds to keys without having to access the shout menu if they want to use that shout (see the example above).

Players with elevated sourcemod permissions will also be able to access the shout manager. Using the manager you can (re-)scan the sounds folder for newly uploaded sounds as well as managing the available shouts. Sounds added to the ‘sounds/soccermod/shout’ folder should be added automatically to the shoutlist, every other sound in the sound folder (and its subfolders) has to be added manually ingame. Next to adding shouts you can also edit and remove shouts from this menu. Editing involves the renaming of a shout (and thus changing the command if its enabled) as well as per-shout volume and pitch. It also features a list of the currently added shouts.

Attention

Please note that not every soundtype is usable. e.g. mp3 and wav are fine, m4a however are not.

Credits

This submenu displays provides a display of the plugin version and shortcut to view the credits. Please refer to credits for more information.

Changelog

1.3.2 & 1.3.3 & 1.3.4 & 1.3.5.x & 1.3.6 & 1.3.7

New

  • Added Pre-Cap-Join option to First12 Toggle

  • Added notification if a player that shouldn’t be allowed to play joins a team / gets forced

  • Added !aim command to find out coordinates to use with replacer configs

  • Added optional (default ON) sound & text notification before a period ends

  • Added option to disable the ‘overtime-sound’ only.

  • Added option to set custom sounds for the overtime countdown via config.

  • Added per client toggleable chat/hud information.

  • Added per client toggleable grassreplacer.

  • Added per client toggleable shout playing.

Changes

  • Removed match reset at mapstart - sm_maprr;sm_start combination should work again

  • Debug mode can be toggled from the menu now.

  • Main menu now leads to Settings submenu instead of directly to the sprintsettings.

Fixes

  • More Fixes to joinlist

  • Minor fixes

1.3.1

New

  • Added First 12 Rule toggle

  • Added Grassreplacer

Changes

Fixes

  • Fixes to joinlist

  • Minor fixes

1.3.0 BETA

New

  • Added Advanced Training Mode (Lockable with a password in settings)

  • Added Training Mode

  • Added spawnable training props (Can, Hoop, Plate) (options won’t show up without the files)

  • Added option to spawn static or dynamic cones

  • Added 2 target training modes (configurable ball respawn)

  • Added “!profile <name>” command to quickly display the steamprofile of a target

  • Added !spec command

  • Added built-in Shout support

Changes

  • Minor cleanup

  • Added cancel option to some cannon settings

Fixes

  • Fixed Duckjumpblock v3

1.2.9.*

New

  • Added weaponchoice for capfights (1.2.9.3)

  • Added random option to capfight weapon selection (1.2.9.4)

  • Added third alternative duckjump-block method (1.2.9.6)

  • Added option to enable celebration weapons after scoring a goal (1.2.9.6)

  • Added toggleable invisible walls at kickoff (1.2.9.7)

  • Added top3 player display at halftime (1.2.9.7)

  • Added Mapsound control (Disable / Enable ambient_generic sounds per map) (1.2.9.7)

Changes

  • Caps won’t lose their knife if the weapon of choice is a gun (1.2.9.3 fix)

  • Cap HP during a HE-Grenade fight set to 98 to allow 1-hit kills (1.2.9.3 fix)

  • Removed Smokegrenade from capfight weapon selection (1.2.9.4)

  • Improved toggleable walls at kickoff (laser indicating borders, coloring) (1.2.9.7)

  • Changed final matchmessage to show top3 instead of only MOTM (1.2.9.7)

Fixes

  • Fixed sprint config section resetting (1.2.9.1)

  • Fixed sprint re-enabling itself after a cap fight even if it was disabled (1.2.9.2)

  • Fixed “set position”-Spam at capstart if no position set (1.2.9.4)

  • Fixed misplaced duckjump-reset function (1.2.9.5)

1.2.9

New

  • Added option to track only saves done by a player using the gk skin. If no player of the team is using the gk skin everyone of the team is able to earn saves inside the gk area.

  • Added admin command !ungk <target> (<target> can be either a player or t/ct).

  • Added match tracking. Everyone who is in CT or T when a round ends during a match will have his match number increased when the end ends or it is stopped (at least played till halftime). Resetting the stats is highly recommended if you intend to use the ranking based on matches.

  • Added 2 alternative commands. (!late - same as !lc; !up - same as !unp / !unpause)

  • Added new preferred duckjumpblock-mode. Duckjumpblock setting now allows 3 settings: OFF, ON, ON (NEW). Old version remains in case of unforseen issues.

  • Added ROOT command to adjust resettime for new duckjumpblock.

Changes

  • !gk limited to one player per team.

  • Ranking can now be sorted by either pure pts, pts/matches (match rankings only) or pts/rounds.

  • Changed rank reset options to set every value to 0 instead of deleting the row.

  • Stats will only count in matches if it both teams have 5 players at the end of the round.

  • Added join number to pick menu

  • Added join number message for each player when cap fight starts

  • Added GK skin check prior to setting GK skin. Hopefully removes erroreneous entries from GK skin array.

Fixes

  • Fixed !pos menu being displayed everytime a cap is started instead of only if no position or “Spec only” is set again.

  • Fixes to rounds won / lost tracking.

  • Fixed gk skin being locked if a gk skin user joins spectator before leaving.

  • Fixed issues with !spray command.

  • Added missing ball entity check.

1.2.8

New

  • Added option to the help menu to print the url of this documentation and the github project in console.

  • Added option to the help menu to open this documentation in the motd.

  • Added command to adjust GK areas ingame (!gksetup; requires RCON-flag).

  • Added option to disable the killfeed (Always enabled during capfights).

  • Added command to ‘remove’ spraylogos (!spray; requires GENERIC-flag). Intended to remove sprays from the ball.

Changes

  • Saves only count if the last hit before the gk’s was done by an opponent now.

  • Reworked credits menu.

  • Reworked help menu.

Fixes

  • Fixed hostname status not being applied after !matchrr usage.

  • Fixed stoppage time not working properly on maps rotated by 90°.

  • Fixed !pos menu being displayed everytime a cap is started instead of only if no position or “Spec only” is set.

1.2.7

New

  • Added !lc command to provide an accurate overview of the join order.

  • adjustable rr tolerance to be used in conjunction with !lc.

  • Added optional hostname statuses displaying various states (f.ex. [PICKING], [HALFTIME] or the timestamp of the current match).

  • Added optional cooldown for !rank usage.

  • Added (requires Steamworks extension) a custom game description.

  • Added optional and configurable map defaults for periods, periodlength and breaklength.

  • Added option to change teamnames for the upcoming match only.

  • Added optional class selection screen disabler.

Changes

  • Reorganized settings and its submenus

Fixes

  • Minor fixes.

1.2.6

Changes

  • !rank command divided into 2 commands: !rank for match rankings and !prank for public rankings

Fixes

  • Various fixes related to ranking & statistics.

1.2.3 - 1.2.5

Fixes

  • Fixes to customizable sprint timer added in 1.2.3.

1.2.2

New

  • Added Duckjump toggle to settings menu.

Changes

  • Adjustments to the duckjump toggle command according to the menu changes.

1.2.1

Changes

  • Changes to the admin menu.

1.2.0

Changes

  • Global ballcannon should no longer ask to select a ball if there is a soccer ball found in the map.

1.1.6

New

  • Added modular permissions for soccermod admins

Fixes

  • Various minor fixes.

1.1.5

Fixes

  • Various text fixes.

  • Other minor fixes.

1.1.4

New

  • Added option to remove ragdolls after playerdeath.

Changes

  • Changes to soundhandling.

  • Changed default lockset value to 0.

1.1.2 - 1.1.3

Fixes

  • Various minor fixes.

1.1.1

New

  • Added customizable Hud-Timer displaying sprint duration & cooldown.

Fixes

  • Fixed Unpause not working after pausing the game for 5 minutes.

  • Other minor fixes.

Indices and tables