You are here

Part 13 - Installing Mani Admin Plug-in

To get started, grab a CSS copy of Mani Admin Plug-in from its website:

The zip file has 4 sub-folders in it: addons, cfg, materials, and sound.

Mani Admin Plug-in can be run in two different ways - as a normal Valve server plug-in or as a Metamod:Source plug-in. Since I've already discussed the benefit of running Metamod:Source, Mani Admin Plug-in will be run as such.

Extract addons\mani_admin_plugin to your cstrike\addons folder.

Extract cfg\*.* to your cstrike\cfg folder. This will include mani_server.cfg and a mani_admin_plugin sub-directory.

Extract materials\decals to your cstrike\materials\decals folder. This will create two new folders custom and mani_admin_plugin that contain Mani logo files. You may wish to use these later on (depending on your Mani config). If you do, this will need to be uploaded to your fast download.

Extract sound\admin_plugin to your cstrike\sound folder. Upload the entire admin_plugin folder to cstrike/sound on your fast download.

Once you launch your server, you will need to load Mani manually. This is only done once, as Mani automatically creates a addons\metamod\mani_admin_plugin.vdf file for you. Type the following into your server console:

meta load addons/mani_admin_plugin/bin/mani_admin_plugin_mm

You will see the plug-in start:
L 05/26/2014 - 13:46:03: [MANI_ADMIN_PLUGIN] Starting plugin.
Loading Mani Admin Plugin 2014 V1.2.22.17 SMM CS:S,
Plugin "Mani Admin Plugin" loaded with id 5.

Mani Admin Plug-in should now load successfully on server start-up. Output from meta list and meta info:

Listing 5 plugins:
[01] Mani Admin Plugin ( SMM) by Mani
[02] SourceMod (1.5.3) by AlliedModders LLC
[03] CS Tools (1.5.3) by AlliedModders LLC
[04] SDK Tools (1.5.3) by AlliedModders LLC
[05] SDK Hooks (1.5.3) by AlliedModders LLC

Plugin 1 is running.
Name: "Mani Admin Plugin" by Mani
Version: SMM
Description: Fully loaded admin tool
License: close source
Details: API 015, Date: Apr 20 2014
File: T:\srcds\27015\cstrike\addons\mani_admin_plugin\bin\mani_admin_plugin_mm.dll

Mani Admin Plug-in is configured primarily through cfg\mani_server.cfg and its cfg\mani_admin_plugin\*.txt support files. Tweaking Mani Admin Plug-in settings is beyond the scope of this guide. The Mani Admin Plug-in forums are full of useful information and helpful users to assist with plug-in configuration.

* Setting up Mani administrators *

Mani Admin Plug-in can use a text file or a MySQL database to store administrators. Since I use a web utility to add/change/remove admins, I use the MySQL option. As previously mentioned, I use phpMyAdmin to administer my MySQL databases.

In phpMyAdmin, login to your MySQL server and click the Privileges tab. Choose Add New User.

Type in the user name, assign the host scope (I pick localhost), and type in a password. Under the Database for user options I pick Create database with same name and grant all privileges. Click Go to create the user and database.

In the cfg\mani_admin_plugin folder, open up database.txt. Fill out the appropriate fields:

"db_enabled" "1"
"db_host" "localhost"
"db_user" "mani-27015"
"db_password" "mani-27015-password"
"db_name" "mani-27015"
"server_group_id" "Surf Servers"
"server_name" "Surf Server"
"server_ip_address" ""

Next, restart your server and type ma_client upload in the console. You should see output similar to the following:

Uploading data.....
Creating DB tables if not existing....
Creating map_client
Creating map_steam
Creating map_nick
Creating map_ip
Creating map_flag
Creating map_server
Creating map_group
Creating map_client_group
Creating map_client_flag
Creating map_client_level
Creating map_level
Creating map_client_server
Creating map_version
Checking map_version
No rows found, inserting into map_version
Generating DB access flags if not existing....
Checking class [Immunity] flag_id [a]
Inserting class [Immunity] flag_id [a]
Checking class [Admin] flag_id [z]
Inserting class [Admin] flag_id [z]
Updating version id..
Exporting data from clients.txt to DB....
Deleted existing DB data for this server....
Generated server details....
Generated level groups....
Generated DB global groups....
Building DB client data for 0 clients
Clients built on DB
Upload suceeded

Finally, add at least one admin at the server console:

ma_client AddClient Jason

* Setting up maniwebadmin *

*Note: Since I wrote up the last version of this guide, the maniwebadmin package appears to have been pulled from the internet. The Mani forums have a discussion about it:

The directions that follow below still apply as someone has mirrored the package at the Mani website.

A few years back, a German fellow put together a web admin package for Mani Admin Plug-in:

As explained in the SourceMod / Mani Admin Plug-in section, there was a time that Mani development idled. This lead many people to believe that the Mani Admin Plug-in was dead.

Consequently, this maniwebadmin pacakge also ceased development. The code is many years old, but I have yet to have any functional issues with it. The developer has pulled the direct download link, but it is still accessible. That means this package comes with many self-described warnings:

ALPHA-Quality Software
This software is in ALPHA state. That means it is still in a very early state of development. Still not all features are implemented and there are many undiscovered bugs and security leaks, so I'm open for any kind of help.
ATTENTION! This software comes with absolutely no warranty. I'm not responsible for loss or damage of data or any other problem that may result from using mwa. As it is ALPHA I highly suggest to not use it in a productive environment.

There's also another warning on his news page announcing the discontinuation:

Notice of Discontinuation (15th July 2007 18:00 (CEST))
I think most of you are aware that Mani Admin Plugin is no longer under active development.
As a consequence I have now decided that maniwebadmin will not be continued either.
There will be no longer updates to this script nor will I release security fixes, nor will I provide support. This decision is to be considered final.
For the sake of the security of your server(s) you should stop using this script immediately and remove all files from your server.

If you're comfortable with the risk of running this package, continue following these directions. Otherwise, skip to Quake Sounds or on to the next section.

Since we're dealing with alpha-quality software that the developer considers insecure, one possible way to mitigate the security threat is to control access to the web directory the files will reside in. On your web server, create a directory for maniwebadmin (e.g. mwa). It should now be accessible:


At the moment, this directory is available to your entire LAN (or the entire internet). Let's use .htaccess and htpasswd to create a username and password to password protect this web directory. While not the most secure, it is better than leaving the page available to anyone.

To get started, locate htpasswd.exe. It should have come with your Apache install. In our example, it is located at S:\httpd\bin\htpasswd.exe. Open a command prompt and use htpasswd to create a password file for the user name admin:

S:\httpd\bin>htpasswd -c mwapw admin
Automatically using MD5 format.
New password: ************
Re-type new password: ************
Adding password for user admin

This creates a password file mwapw. This file needs to be accessible to the web server but to the entire internet. Move this file to S:\httpd\.

Next, create a file called .htaccess and place it in your mwa web directory. It should contain the following:

AuthType Basic
AuthName "Restricted Area"
AuthBasicProvider file
AuthUserFile S:\httpd\mwapw
Require user admin

Now, when you go to access http://your.web.server/mwa/ you should be prompted for a user name and password. The user name will be admin and the password is what you typed in htpasswd previously. If you are not prompted for a user name and password, your web server is not setup properly to check .htaccess files.

To install maniwebadmin, download a copy from the author's hidden download page: (

Once extracted, visit your mwa web page and follow the installation instructions. At the database setup page match the options from the Mani database directions above:

Host: localhost
Username: mani-27015
Password: mani-27015-password
Database: mani-27015
Prefix: map_
Language: English
MD5 Encryption: (leave checked)

The final part of the installation will have you select a Mani admin and create a web password. Once installation is complete you will be at a login screen.

At this time I recommend editing the file. The package loads a "news" page from the author's website (which has a big, annoying red warning) and also the live status code is no longer compatible with the current version of the Source dedicated server engine (showing unreadable text). The two lines to update are:

define("LIVE", FALSE);
define("NEWS", FALSE);

At this point your maniwebadmin is setup and ready for use. Your basic rundown of admin setup is:

  • In the user section, add a Steam ID to your first user (in the format STEAM_0:0:123456789)
  • In the server section, navigate to your server
  • Add an Admin group to the server (and set the desired flags)
  • Assign the first user to the Admin group
  • Restart the server and test

It should be noted that admin/immunity changes do not take effect until the server is restarted, the map is changed, or the command ma_reloadclients is used on the server console.

* Setting up Quake sounds *

Download the Quake sound pack from the Mani website. Extract the zip file to the appropriate directory on your game server.

Upload the sound/quake directory to your fast download under cstrike\sound.

Open the file cfg\mani_quake_sounds.cfg and tweak as desired. At the very least, make sure you turn on Quake sounds:

mani_quake_sounds 1