Metamod Admin plugin for CS2 with SM style configuration and SB++ support.
Shared maplist with cs2-rockthevote.
Other Metamod: Source plugins can access public methods found in ics2admin.h and forwards.h
#include "interfaces/cs2admin/ics2admin.h"
// In AllPluginsLoaded or later:
ICS2Admin *admin = (ICS2Admin *)g_SMAPI->MetaFactory(
CS2ADMIN_INTERFACE, nullptr, nullptr);
if (admin && admin->HasFlag(slot, CS2ADMIN_FLAG_BAN))
// player can ban#include "interfaces/cs2admin/forwards.h"
ICS2AdminForwards *fwd = (ICS2AdminForwards *)g_SMAPI->MetaFactory(
CS2ADMIN_FORWARDS_INTERFACE, nullptr, nullptr);- CS2 Server (Recommended to use SteamRT3 Docker)
- MetaMod: Source 2.0
- sql_mm
- (Optional) MySQL Database
- (Optional) SB++ Web Panel (Tested only on 1.8+)
- (Optional) mm-cs2menus - when loaded, targeting commands typed with no arguments (e.g.
!ban,!kick,!mute,!report,!map) open an in-game picker instead of printing usage. Players are grouped by team, and the ban/mute/gag/silence/kick/report form sets duration and reason on one screen. Its "Other" reason takes the next chat line, hidden from everyone.!addbanpicks from recently disconnected players. - (Optional) mm-cs2rockthevote -
!mapand!mapsuse its map list, and!mapshows!nominate's table.
- Get the latest release for your operating system (linux/windows).
- Extract the contents of the release archive in your server's root folder
/game/csgo/. - Configure the main cfg in
/game/csgo/cfg/cs2admin/core.cfgwith database credentials and other preferences. - Configure Admins in
admins.cfgoradmins_simple.ini, Admin Groups inadmin_groups.cfgand Admin overrides inadmin_overrides.cfg(these can be directly copied from existing SM cfg with the same names). They andtags.cfgship as*.example.*, copy each without the.example. - Create a new file called
maplist.txtor rename the bundledmaplist.example.txtfile to it, then add your maps to the file. Not needed when mm-cs2rockthevote uses the CS2KZ API pool (KzApiMaplist).
The cs2admin plugin mirrors SourceMod's Admin configuration structure completely. This means the following articles are valid here too:
See COMMANDS
- This repository is cloned recursively (ie. has submodules)
- python3
- ambuild, make sure
ambuildcommand is available via thePATHenvironment variable; - MSVC (VS build tools)/Clang installed for Windows/Linux.
mkdir -p build && cd build
python3 ../configure.py --enable-optimize
ambuilddocker compose run --rm buildFeel free to create PRs or issues regarding anything, but this is very much just for fkz and I will not implement bloat like funcommands.