or, Snaller's Heavily Adapted Step-by-step Guide To Installing Admin Mod manually
Note: This portion of the guide discusses a manual installation of the Admin Mod, and is not recommended for people who do not have a clear understanding of directory structures, file editing, etc. For a script-based, more automated installation, please read the Running the Windows Installation Script section. However, no matter what type of installation you are undertaking, there is a lot of good information to learn from here, so be sure to read it at some point in time, even if you do script-based installation.
What was done in the process of describing this installation was for CS under WinNT, but there isn't any great difference for TFC and Linux (if that's what you are using), for example.
The Counter-Strike mod directory is called cstrike, and everything takes place in there (Your mod directory might be called something else, like tfc if you are running a Team Fortress Classic server, etc.).
We are going to assume you have the latest version of the Admin Mod (always get the latest).
First, stop your server. Unpack/unzip the file you downloaded, being sure to allow the directory structure in the ZIP file to be recreated when the files are unzipped (If you are using WinZip, you should make sure the box labeled "Use folder names" is checked before you extract the files from the zip archive).
Inside the files and directory structure you just unpacked (by default the top level directory will be called Admin), there is a dlls directory. Copy everything from that directory to the dlls directory inside your MOD directory:
If you are running Counter-Strike, you should copy everything in the half-life\Admin\dlls directory to the half-life\cstrike\dlls directory.
If you are running TFC, you should copy everything in the half-life\Admin\dlls directory to the half-life\TFC\dlls directory.
Other mods, same procedure, just different directory names
This shouldn't overwrite anything (unless you have had the mod installed before, in which case if you followed the first instruction in this manual, you are okay, because you've backed up your files). And the fact that these are new dll 's doesn't upset the server at all (it doesn't even know they are there yet).
If for some reason the directory structure that was created when you unzipped the Admin Mod distribution archive does not have subdirectories in it, or if things just don't seem to match up, delete the Admin directory and all its contents, and unzip again, being sure to preserve the directory information as described above while unzipping.
Now, into in your mod directory you copy the content only of each of the sample configuration files you find in the directories called "Admin/config" and Admin/config/samples" into the files of the same name in your mod directory:
Note that we are not saying to copy the files directly to the mod directory, because you might overwrite a file of the same name when what you need to do is take the content from the sample file and add it to your existing file.
In other cases, you will find that some of the files do not exist yet in your mod directory. In that case, just copy the who file over and save some effort.
Now you need to edit some of the configuration files. Start by editing your main server.cfg file (this should be in your mod directory). Note that if you are running a listen server, you need to work with the listenserver.cfg file, so anywhere we mention server.cfg here, just do the same thing to the listenserver.cfg on your computer.
Suggestion: Scroll to the bottom of the server.cfg file and make a separating comment line, so you know where the Admin Mod stuff begins. Then copy all the text from the server.cfg file in the samples directory in to the one in your mod directory (and then we won't use the sample server.cfg in the examples directory anymore, only the one in your mod directory).
Now - check the file size of your server.cfg file and make sure it is under 16 bytes. It takes a lot of junk in the server.cfg to make it 16 bytes or larger, but rest assured that if it is too big, HLDS won't use it when it runs, and that would be bad. On the off chance your file is over the limit, start deleting comments from the file to free up some space.
Now you need to edit the file paths listed in the server.cfg as shown below so they point correctly to the other config files (assuming you want to use those files - if you are not going to use any of these files, you can set the cvar in server.cfg to 0 [zero]):
users_file " users.ini "
models_file " models.ini "
maps_file " maps.ini "
words_file " wordlist.txt "
Or, alternatively, to show you do not want to use a particular file (in this case you are not going to use a word filter file):
words_file 0
It seems that under Windows NT at least, you need to specify them all or the mod may crash. If all else fails, specify them all. Cant hurt.
Now you need to know what kind of scripting you are going to use. Probably you are going to use the modular plugin-style scripts that are provided as the default scripting style with Admin Mod 2.50 -- In that case, you need to copy all of the files than end with an .amx extension from admin\scripting\binaries to the [mod_name]\dlls directory.
However, if you have a single old-skool script file that you want to use, you'll get a chance to deal with that now... Put a copy of it in the mod/dlls directory now. Just keep in mind that the officially-support scripting model going forward will be the modular-style scripts mentioned above, so it's a good idea to make that change either now or in the near future. Most all the functions from the older style scripts developed and distributed via the Admin Mod forums (and some new features and functionality as well) are available in the default plugin scripts. Plus, as people develop new plugins, all you have to do is drop the plugin script into place and you are done - no more recompiling everything to add new features!
Okay. Here comes the dinner menu part. Please choose ONE of the selections below and follow the instructions given. You options are "Old Skool" and "Plug-In"
Plug-In (supported model) -- IF YOU ARE USING THE PLUGIN STYLE SCRIPTS (recommended), you need to be sure the admin_plugin_file cvar in your server.cfg file is pointing to "plugin.ini"
Old Skool (unsupported for development in the future) -- ONLY IF YOU ARE USING A SINGLE OLD_STYLE SCRIPT, you need to locate the cvar field called "script_file" (still in server.cfg) and make sure it's pointing to the right file, usually called admin.amx
Now save the server.cfg file. There are a bunch of other settings that you can (and probably should) configure for your server. For more information about doing that, please see the section called "Setting up your server.cfg file" in this documentation. Nothing bad has happened to your server yet: If you restart your server it will still be the old faithful, it won't know or care about the extra things you have written to the server.cfg file.
Now you need to edit the other configuration files that you have copied into your mod directory.
The wordlist.txt file is a list of terrible words, plain text with one bad word per line. This is your censor list, if you want one. If you add a word here, people can't use that word when they chat. If you don't want to censor anything you can set the "words_file" cvar in the server.cfg to a value of "0" (zero). To enable it, specify the filename in the words_file cvar in your server.cfg.
The ips.ini file is used if you want to give players reserved spots based on their IP address, and examples are provided in the file. If you don't want anything to be reserved, just delete all the lines, or set the cvar in server.cfg to "0"
The maps.ini file contains a list of maps that the players can vote for, one map per line, in the exact same format as the mapcycle.txt file that your mod uses (of course Counter-Strike has built-in voting, but this enhances voting greatly).
The users.ini file is where you put the nicknames, passwords and security level of those people to whom you want to give some kind of admin rights. You should at least put yourself in here and give your username maximum rights. Note that permission levels are slightly different in version 2.50 and later than they were in previous versions, and that there is no longer a file used to reserve player nicknames, because this is now done using a security level.. See "Setting up your users.ini file" in this manual for more information on setting up this file, its format and access levels.
Your plugin scripts are listed in the plugin.ini file -- Be sure to uncomment (by removing the leading semicolon ";") the TFC or CS lines if you are running one of those mods, otherwise the commands and features from those scripts will not be available to you! You can also add new compiled plugins, many of which are available at the AScript web site, to your mod's dll directory, and then specify them in the plugin.ini in order to activate them on your server.
Hint: if you ever want to know what scripts are running on your server at any given point in time, run an admin_version command. The resulting output will show all the scripts currently active on your server. If the information is so long it scrolls in your game console, try using "admin_command admin_version" in the dedicated server console.
The metamod.ini file is a simple file that specifies the DLL (dynamic link library) file to run when using meta mod in conjunction with Admin Mod. By default, it already has the settings you need to run Admin Mod preconfigured in it.
How this all works: Starting with Admin Mod version 2.50, here is what happens:
HLDS executes metamod.dll
Metamod in turn executes admin_mm.dll.
By default, this file's contents are preconfigured to point to the correct Admin Mod DLL files necessary for running Admin Mod. You may wish to see an example of how other mods, like bots, can be used in this way. See "How to Use Bots with MetaMod (AM 2.50)" for more information about Metamod and running multiple HLDS modifications at the same time.
In the next step we will edit another file (liblist.gam), the one which will call the Metamod DLL file. Once Metamod is running, it will look for the last file we discussed (metamod.ini) to determine which other DLLs should be loaded. This is where Admin Mods DLL files are specified.
Admin Mod is almost ready, but not quite. One last thing is still missing:
In your mod directory there is a file called liblist.gam - make a backup of this now (in other words put a copy of it in a safe place you won't forget), so that if you ever want to remove the Admin Mod, all you have to do is put your backup file back in place of the one you are about to edit.
If you have not stopped your dedicated server yet, do so now.
Open the liblist.gam file and find the line starting with gamedll_linux or gamedll (depending on your OS) and replace the text with either "dlls/metamod_i386.so" or "dlls\metamod.dll" respectively. (i.e. for Windows it's gamedll "dlls\metamod.dll" )
Now when you restart your server, it will start with the Admin Mod running. (When we say restart the server, we mean completely stopping it - quit in the console and then restart it from cold state).
Prior to connecting, you will need to type setinfo pw-field your_password in the console where pw-field is the field defined in your server.cfg as the password field and your_password should be replaced with your real password. This has to be entered prior to each server login attempt, as it is erased from your profile upon successful login.
Note: You can get more information about setting up and automating entry of the "setinfo" commands for the client (game) setup in the section entitled "Required Client Configuration Instructions" elsewhere in this documentation.
You can then join the server and type admin_help in the console and see a list of the commands available to you through the Admin Mod!
Thanks to Snaller for providing the huge majority of this tutorial, which was adapted heavily for this version of the Admin Mod.