csgo_sourcemod

Ansible Role: csgo-sourcemod

An Ansible role that installs and configures SourceMod, a Metamod:Source plugin.

This project is a fork from https://github.com/tleguern/ansible-role-sourcemod

Requirements

An ansible role dedicated to the installation of SteamCMD such as ansible-steamcmd or any role providing the {{ steamcmd_user }} variable.

An ansible role dedicated to the installation of Counter-Strike: Global Offensive such as ansible-role-csgo or any role providing the Restart {{ metamod_source_game }} handler.

An ansible role dedicated to the Installation of Metamod:Source such as ansible-role-metamod-source, or any role providing the {{ metamod_source_install_path }},

Role Variables

Variable Description Default
steamcmd_user User name for steamcmd steam
sourcemod_url URL pointing to sourcemod releases https://sm.alliedmods.net/smdrop
sourcemod_branch Release branch (should generally be the same as {{ metamod_source_branch }} 1.11
metamod_source_install_path Installation directory mandatory
sourcemod_admins_simple SourceMod admin declaration via the flat file format See below
sourcemod_plugins List of plugins to enable or disable See below
follow_guidelines Set false when you need FollowCSGOServerGuidelines set to No. Required for some plugins to function. Your GSLT could potentially be banned when this is disabled. true

sourcemod_admins_simple

A list of hashes containing the identity and flags of any server administrator. Optionnaly immunity levels and password can be suplied.

Key Description
identity A SteamID3 formatted SteamID, a bang-prefixed IP address or a simple name
flags Letter encoded permission levels
immunity Immunity level
password Password, only for somple name identity

More information here.

Example:

sourcemod_admins_simple:
  - identity: STEAM_0:1:16
    flags: bce
  - identity: "!127.0.0.1"
    immunity: "99"
    flags: z
  - identity: BAILOPAN
    flags: abc
    password: Gab3n

sourcemod_plugins

Allows to install, remove, enable or disable plugins.

Key Description
name The plugin's name without file suffix
state Only absent, disabled or enabled

If the state is either disabled or enabled and the variable sourcemod_extra_plugins_directory is not an empty string the corresponding plugin will be looked for as {{ sourcemod_extra_plugins_directory }}/{{ plugin.name }}.smx and uploaded on the remote server.

Example:

sourcemod_plugins:
  - name: funcommands
    state: disable
  - name: unwanted
    state: absent
  - name: swapteam
    state: enabled

Dependencies

None

Example Playbook

- hosts: game
  vars:
   sourcemod_admins_simple:
     - identity: STEAM_0:1:16
       flags: z
  roles:
    - role: ansible-steamcmd
    - role: ansible-role-cstrike-source
    - role: ansible-role-metamod-source
    - role: ansible-role-sourcemod

License

ISC

Contributing

Please send a Gitlab Pull Request to contribute to this project. https://gitlab.com/csgo-services/ansible-role-csgo-sourcemod

Author Information

CJ Pfenninger cjpf@charliejuliet.net

About

Configure SourceMod - CS:GO

Install
ansible-galaxy install cjpf/ansible-role-csgo-sourcemod
GitHub repository
License
isc
Downloads
20