Remember - help is available in the Admin Mod web forums, if your questions cannot be answered in the documentation.
Firstly, do you have the latest version of Admin Mod. If it is not 2.50.60, use the link on the left to upgrade.
Next have you read the Configuration section of the Manual? If so and it still doesn't work, here is a diagnosis process:
If you get the error message (popup dialog on Windows, in the log on Linux):
[ADMIN] ERROR: ********************************** You must define either "admin_plugin_file" or "script_file" in your adminmod.cfg file before you can use Admin Mod.
Do the following:
Ignore the bit about script_file, that's legacy stuff.
Check that you have the line to exec adminmod.cfg in your server.cfg and/or listenserver.cfg. Also check the path on this line is a correct relative path - i.e. it doesn't begin with a slash. The normal line is: exec addons/adminmod/config/adminmod.cfg
Check that you have the admin_plugin_file line in your adminmod.cfg and that it isn't commented out - i.e. doesn't begin with //. Again this line should be a relative path and should not being with a slash. It must point to a plugin file that does exist and contains at least one uncommented plugin name. The normal line is: admin_plugin_file addons/adminmod/config/plugin.ini
Note that if you get this message, Admin Mod is being loaded and you do not have a problem with metamod. It is also not caused by anything in your users.ini.
If you are having problems, try and get it working with a dedicated server - its easier to diagnose problems. Once you've done that and understand it a little better you will then probably be able to install it on a listen server without problems. Also ensure "log on" is in your autoexec.cfg and "admin_debug 1" is in your addons/adminmod/config/adminmod.cfg. You can remove these once you have got it working if you like.
Type "meta list" in the server console. One of 3 things will happen:
It will list loaded metamod plugins including Admin Mod.
It will list loaded metamod plugins, not including Admin Mod.
Absolutely nothing happens.
If c) happens, check metamod is installed. See the metamod manual for help. If b) happens check Admin Mod is listed in your addons\metamod\plugins.ini file (NOTE: This file could be called metamod.ini and be in your mod folder if you have upgraded manually), and that the admin_MM dll/so file and amx_admin dll/so are both in your game mod's addons/adminmod/dlls folder. If a) happens, carry on...
Type "admin_command admin_version" in your server console. It will either:
Show the admin mod version and a list of loaded plugins.
Crashes the server and says in the log / a message box "[ADMIN] You must define admin_plugin_file or script_file in your adminmod.cfg file before you can use Admin Mod".
Do nothing.
If b) happens, either admin_plugin_file is missing from your adminmod.cfg, or far more likely, you are do not have "exec addons/adminmod/config/adminmod.cfg" in your server.cfg or listenserver.cfg, or one of these two files is missing (Windows users, check its isn't really called server.cfg.txt) If c) happens, post to the win32/linux help forums and attach your log file, explaining you were following this guide and it went wrong at this step.
At this stage we now know Admin Mod is installed into half-life correctly - any further problems are with your configuring your user as an admin (See Q2).
Q2: Admin Mod is working but I can only access public commands / I get the messages "Password Received" or "That name is reserved on this server" when connecting.
Firstly decide which of the following configurations applies to you:
INTERNET: You are setting up a server using SteamIDs or WONIDs on the Internet for public or private play. (dedicated only)
STATIC LAN: You are setting up a server on a LAN where no WONIDs are available, but each user has a fixed IP address. (dedicated or listen server)
DYNAMIC LAN: You are setting up a server on a LAN where no WONIDs are available and user's IP addresses change over time. (dedicated or listen server)
If you already have one admin working correctly and you are having problems adding more, skip this step.
Perform the following steps to check that Admin Mod is installed properly:
Open the file addons/adminmod/config/users.ini in a text editor (e.g. notepad)
Remove all lines that do not begin with the characters //
Save the file
Start your server
Connect to it
In your console type: admin_version
This should show the Admin Mod version number followed by a list of plugins. If it doesn't then you don't have Admin Mod installed correctly - see Q1 above.
We are now going to add an admin building up the security level as we go and testing at each stage. Open the file addons/adminmod/config/users.ini and add a line as follows:
INTERNET users add the following (replacing WONID with the admin's WONID or SteamID):
STEAMID::49151
STATIC LAN users add (replacing IP with the admin's IP address):
IP::49151
DYNAMIC LAN users add (replace NAME with the admin's player name):
NAME::49151
Save the file then start your server and connect to it. You should now have admin rights - type admin_help to check if all the commands are listed. If you do not:
Ignore any messages about "[ADMIN]Password received" - that isn't relevant yet.
Check your log file. When Admin Mod loaded there should be a line that says something like "Reading users.ini, found 1
If this line does exist in your log, double check you are using the correct WONID/SteamID/IP address/Name
Bear in mind that no client settings such as setinfo lines can affect anything in this configuration except to cause a rogue "[ADMIN]Password received" message
If you are still stuck post in the forums for help stating you are stuck on Question 2, Step 2 of the FAQ.
At this stage, you have admin access and (as far as we know) INTERNET and STATIC LAN users are now secure assuming no-one else has access to their machine. However, security can be increased by adding a password. DYNAMIC LAN users must add a password as anyone can connect using the admin's name and get admin rights at the moment:
Reopen the users.ini file
Add a password between the two colons in the line contain the WONID/SteamID/IP/Name
Save the file and restart your server
Connect to the server
At this point you should be able to connect, but will not have any admin rights. To authorise yourself type in the console:
admin_login YOUR PASSWORD
You should now get the message "[ADMIN] Password accepted for user...." and have access to the administrator commands. If you do not:
If you see "[ADMIN] Password received" when you run the admin_login command instead of "[ADMIN] Password accepted for user" this means that Admin Mod can't find the password you are providing in users.ini for your WONID/SteamID/IP/Name.
As you just connected and got admin rights ok without using a password (because you are following each step as we go aren't you?) you know that the WONID/SteamID/IP/Name is correct, so it must be the password that is wrong. Double check it or try using a simpler password.
If you are still stuck post in the forums for help stating you are stuck on Question 2, Step 3 of the FAQ.
If this is working ok, and you want to continue using this method of authentication you can save time by binding the admin_login command to a key - e.g. To bind it to the F11 key type:
bind F11 "admin_login YOUR PASSWORD
You should also be aware that due to a bug in Admin Mod on some servers rights are intermittently lost when a map change occurs. If this happens to you, press F11 to re-auth on the new map.
The story so far: You have admin rights on your server and you have a password set. If you don't want to keep pressing F11:
In your adminmod.cfg file there is a setting called password_field. It should say "_pw-home". If it doesn't that's ok as long as the value does start with an "_" character. If it doesn't change it. If it doesn't say "_pw-home" use whatever it does say instead of "_pw-home" below.
Create a text file on your client machine in the game mod folder (e.g. cstrike). This file is traditionally called "adminpass.cfg" but can have any name you like. However, do not use any existing config file such as "config.cfg" or "autoexec.cfg".
In this file add a line (including the quotes):
setinfo "_pw-home" "YOUR PASSWORD"
Save this file
Make a copy of the short cut you use to start the game client on your desktop or start menu.
Edit the properties of the copy of shortcut and add to end of the command line (substituting your cfg filename if you didn't call it adminpass.cfg):
+exec adminpass.cfg
You can also save time by adding a connect statement to the end of you command line to automatically connect to your server (supplying the dns name or IP address of your server as an argument:
+connect myserver.mydomain.com
Your command line should now look something (but not exactly) like this:
C:\Half-Life\hl.exe -console -game cstrike
+exec adminpass.cfg +connect myserver.mydomain.com
Now start your server and you should see the "[ADMIN] Password accepted for user..." message during the connection messages and have admin access. However, you may still encounter the bug where you loose rights on a map change; if this happens you will need to use the admin_login command as described above to get them back (or reconnect).
If you are still stuck post in the forums for help stating you are stuck on Question 2, Step 4 of the FAQ.
Finally the last step is protecting your name so other players cannot use it. The method depends on which group you are in:
INTERNET users and STATIC LAN users:
Open users.ini in your text editor.
Add another line below the existing line for the admin in question (substituting the player name):
NAME:WONID:-16384
Do not put a password on this line between the colons - put the WONID or SteamID (or for STATIC LAN users the IP address), and note the "-" sign before the access level.
Save the file.
DYNAMIC LAN users:
Open users.ini in your text editor
Change the access level from 49151 to 65535
You must now use the "adminpass.cfg" method of connecting described above or you will get the dreaded "[ADMIN]That name is reserved on this server" message.
If necessary INTERNET and STATIC LAN users can protect multiple names for each WONID/SteamID/IP by adding multiple lines to users.ini. DYNAMIC LAN users can protect multiple names by setting each name up as an admin.
If you are still stuck post in the forums for help stating you are stuck on Question 2, Step 5 of the FAQ.
Q3: I get an error "Info string length exceeded" when connecting
Half-life has a limited amount of space for the client to send all "setinfo" lines to the server. "setinfo" lines hold things like your name, player model, and your Admin Mod password. Other plugins such as statsme also store settings in there. The limit is on the overall length of all of your setinfo lines put together, not the number of lines or the length of any individual line. If you get this error you will have to remove some unnecessary strings, or simply use a shorter player name.
To view what info strings you have set, type "setinfo" on its own in the client console. To unset a string, type "setinfo <settingname>" "". Alternatively remove the setinfo lines from your config.cfg file.
The following are standard info strings and will be set when you join a server, so there is no point in removing them : cl_dlmax, cl_lc, cl_lw, cl_updatedate, bottomcolor, topcolor. Another will be "_pw-home", or whatever else you set your Admin Mod password to. Anything else is a candidate for removal.
Q4: I've installed Admin Mod, and HLDS crashes as soon as I start it, before I get to type any server console commands or a player joins.
Check your log file. If you don't have one, put "log on" in your autoexec.cfg. Logs are created in the "logs" folder of your game mod - e.g. cstrike\logs.
If the last few lines of the log are:
[ADMIN] Fully initializing data. L 08/02/2002 - 00:43:38: Started map ,,,, L 08/02/2002 - 00:43:38: Log file closed
the problem is that Admin Mod is not loading any amx plugins - in this situation it brings down the server. Possible causes are:
Another common cause of this is that the version of metamod you are using is not compatible with your game mod. Visit www.metamod.org and read the release notes for information about compatibilitiy. Often, the version of Metamod mod available there is newer than that shipped with Admin Mod.
The first step in diagnosing this sort of problem is to determine if it is Metamod that is causing your server to die, or a Metamod plugin (Admin Mod or other). Comment out every line in addons/metamod/plugins.ini (metamod.ini on old-style installs) by putting a ; in front, and then run the server.
Q5: What are the differences between the 2.50.26 and 2.50.60 file layout?
Virtually all files from versions 2.50.50 and later live inside <mod folder>\addons\adminmod:
All of Admin Mod's ini files now live in addons\adminmod\config.
All Admin Mod specific settings that were in server.cfg or listenserver.cfg are now in addons\adminmod\config\adminmod.cfg.
There is now a line to exec addons\adminmod\config\adminmod.cfg in server.cfg and/ or listenserver.cfg.
Admin Mod's DLLs now live in addons\adminmod\dlls.
Compiled amx scripts now live in addons\adminmod\scripts.
Map specific configuration files remain in the same place - the mod folder.
Version 1.13 of metamod also introduces some changes:
Metamod's DLL file now lives in addons\metamod\dlls
Metamod's configuration file, previously called metamod.ini is now called addons\metamod\plugins.ini
IMPORTANT: Metamod's new configuration file is called "addons\metamod\plugins.ini". Admin Mod uses a configuration file "addons\adminmod\config\plugin.ini". Make sure you don't confuse them with each other.
Due to these changes to layout, many settings in configuration files that set files names have to be updated. e.g. addons\adminmod\config\adminmod.cfg sets users_file to "addons\adminmod\config\users.ini" whereas it used to simply set it to "users.ini". Beware of outdated instructions in plugin manuals / forum posts etc. Also the lines in plugin.ini that used to say e.g. "dlls\plugin_base.amx" now must specify the path to the script folder - e.g. "addons\adminmod\scripts\plugin_base.amx".
Also you will have to use some intelligence when you are told to put things in server.cfg / listenserver.cfg. If it is an Admin Mod setting, it now belongs in addons\adminmod\config\adminmod.cfg. If it is a standard half-life setting, such as "mp_timelimit", it still belongs in server.cfg / listenserver.cfg.
Q6: All of my players are being kicked on a map change.
This is not Admin Mod, it is hlds and the speed of your machine. To improve it you can try the following, but please don't post to the Admin Mod forums bitching about it, or if you really must, put it in the non-adminmod forum:
Custom.hpk may have become too big - this file is where custom logos are stored, and has to be loaded on map change. If it's big, delete it.
On windows, the hlds window is not selected. This is a bigger problem on Windows 9x Os than NT/2000/XP. You can reduce the impact of this in the performance properties of "my computer". It moves around a bit in the different versions of windows, but its normally in "performance" and "advanced", You need to turn off boosting the performance of the foreground application and instead choose to optimise for server/ background processing.
You don't have enough ram - map changing works faster with more ram. Kill other unnecessary memory intensive processes or simply buy some more.
You're computer is simply too slow to process the map change fast enough.
Q7: All of my players with admin access or reserved slots are being kicked on a map change or loose their admin rights.
This (unfortunately) is Admin Mod. You can try the following:
Setup your admins as shown in Step 3 of Question 2 above. This means they will only loose admin rights on map change instead of being kicked. All they have to do is use the admin_login command to re-authenticate.
!2SX! has written a plugin that fixes it for some people. The latest version can be downloaded from !2SX!'s Site, or you can read discussion on it in this forums thread.
You can also try setting admin_reconnect_timeout in addons/adminmod/config/adminmod.cfg to more than mp_timelimit * 60. Doing this will probably generate a warning from Admin Mod, but it is just that - a warning, not an error.
Q8: What is the highest access level / How do access levels work?
Access levels are numbers which should be thought about in binary rather than decimal. e.g. 13 = 1011. A '1' in the binary number turns it on, and a '0' turns it off. The access levels are named after the position of the digits so if you set access to 13, you are giving levels 1,2 and 8, but not 4. Now here is the important part: Some levels give access to Admin Mod commands, but some control per-user options. You do not want to just set every level to 1 without thinking about it - doing so may prevent you from connecting to your server..
However, you'll be glad to hear that you don't need calculate them yourself. Visit the Access Level Calculator page in the manual, read about each level and tick the box to the left of those you require. Then press the calculate button at the bottom of the page and read the access level number.
Things to consider when setting your level are:
You may not want immunity for your admins (level 4096). Although it means they can't be slapped etc., it also stops many other "fun" commands working on them.
You should not set reserved name access (level 16384) if you are putting a WONID, SteamID or IP address in users.ini.
Custom plugins can put their commands at any access level, including those numerically higher than those Admin Mod itself users.
For some reason, people keep setting their access to 65536. This is not a sensible access value and will only give you access to 4 commands!
-16384 is a special access level to link a name to a WONID, SteamID or IP address. You should not try and apply the normal rules or combine it with any other access level.
Q9: I have/ want to setup a reserved slot for myself, but when my server is full, I cannot join.
See the section in the manual for the "reserve_type" cvar setting. The most common configuration is to set reserve_slots to 1 and reserve_type to 1.
Note that with any of the reserved slots configurations, if the server is actually full (e.g. because enough players with reserved slot access are already connected) you will not be able to join no matter how high your admin access level. Also note that if the server looks full (i.e. there no public slots free, only reserved slots free) an admin with reserved slot access can only connect via the client console since the in-game browser mistakenly thinks that the server is really full. To connect via the client console type "connect <servername or ipaddress>". You can also create a special shortcut on your desktop with "+connect <servername or ipadddress>" in the command line options.
People often ask if the reserve slots mechanism can be changed so that someone (e.g. lowest scoring/pinging player) can be kicked from a full server to make room for an admin trying to join. The answer is no - don't you think it would already work that way if it were possible?
Q10: How do I stop every player from being able to use "public" commands like admin_vote_kick etc.
Set default_access to 0 in your addons/adminmod/config/adminmod.cfg file. If you want to change access to individual commands, you will have to recompile the plugin that implements them: search the sma files for calls to "plugin_registercmd" and edit the access level of those commands you want at different levels. Then recompile the plugins (See Q20)
Q11: How do I remove the warning message about the administrator being able to execute commands when a client connects?
Set "allow_exec_client" to 0 in your adminmod.cfg file. It is not possible to remove this message without editing Admin Mod itself. Many people have asked how to remove this - none have come up with a good reason why it should be removed.
Q12: When I type admin_map <map name> it says "bad map name".
There two solutions to this one:
Q13: Everything works except admin_t, admin_ct and admin_restartround.
Remove the ; or # in front of plugin_cs.amx in your plugin.ini file.
Q14: How can I protect my clan tag?
You need to use something called regular expressions, or "dredge". This is a special way of matching strings, with certain tags specifying ways of matching patterns. Go here for a guide to using regular expressions.
To enable regex you have to add the following to your adminmod.cfg:
use_regex 1
Protecting your clan is easy. What you need to do is to protect each user that needs a special access level, and then you protect the general tag. So, for example, to protect the [CLA] tag you would enter this in your users.ini where WONID1,WONID2,WONID3, etc. are the IDs of your clan members.
STEAMID1::20480 STEAMID2::20480 STEAMID3::20480 \[CLA\]:passwordnooneknows:16384
Notice the "\" characters. These characters are "escaping" the "[" and "]" characters as they have special meaning in a regular expression. Escaping them tells regex to treat them as ordinary characters.
NOTE: In this example your clan members are being given minimal access (1). You may want to add more levels such as a reserved slot - see the Access Level Calculator in the manual for more details.
Q15: I stuffed up my passwords and now I am locked out of my server!
Just fix up your config files, put them on your server and wait for a map change. All config files are reloaded on a map change (or via the admin_reload command).
Q16: Why do all scripts that run commands on client's fail on my server?
You need to change allow_client_exec to 1 in your addons/adminmod/config/adminmod.cfg file.
NOTE: This will cause a warning to appear to all players when they connect to your server that you are able to run commands on their client.
Q17: Have a script that accesses files and it doesn't work
You need to set file_access_read to 1 in your adminmod.cfg file to enable file reads, and file_access_write to 1 to enable writes.
Q18: Anyone know which is the plugin that does XYZ?
Next time you see something you like and do not recognise on someone else's server and no-one on the server can tell you what it is, go to your client console and type admin_version. This will show you the list of Admin Mod plugins installed.
The metamod plugins most frequently confused with Admin Mod plugins are:
clanmod - Provides many server management commands similar in purpose to Admin Mod.
statsme - Displays statistics on your performance when you die, and your teams performance at the start of each round.
amxmod - An alternative to Admin Mod with its own set of plugins.
Otherwise, click on the Plugins link on the left and press Ctrl-F (in Internet Explorer) to search within the page.
Q19: Plugin xyz used to work with an older version of Admin Mod but doesn't anymore - why?
OK, firstly, recompile the plugin from the SMA file using the latest version of Admin Mod. If it doesn't compile, see Q20. If it does compile, and your recompiled version fails to work properly, the following changes to Admin Mod may be affecting it.
If you see one of the following in the log:
"[ADMIN] (exec) You cannot use exec() starting with 'admin_command'"
"[ADMIN] (exec) You cannot use exec() containing with 'admin_command'"
Then the plugin is trying to use the exec() function to run another plugin's command. You need to replace the call to exec() with a call to plugin_exec(). You are also no longer allowed to use ; characters in exec() to run multiple commands.
If you see one of the following in the log:
"[ADMIN] (exec) What, changing file_access_? Playing with yourself again? STOP THAT!"
"[ADMIN] (exec) Trying to be sneaky by manipulating amv_register_cmds? STOP THAT!"
"[ADMIN] (exec) Illegal use of exec('allow_client_exec') detected. Command ignored."
Then the plugin is trying to adjust the Admin Mod security cvars in the adminmod.cfg file. However, this is can usually be ignored - you can make the plugin work by setting the cvars the way the plugin wants them (turned on probably). NOTE: This might not make the message go away.
Another change that affects some plugins are access rights are propagated through timer calls and through calls to plugin_exec. So if a user calls a function, the function starts a timer and the user only has ACCESS_MAP then the code that runs when the timer completes will also only have ACCESS_MAP rights. In the previous version it had unlimited access.
Also any code that runs in plugin_init, a timer started from plugin_init or as a vote response runs with the same access level as the server console.
If you see the following in the log:
[ADMIN] ERROR: A plugin is attempting to kill a timer index 1 that it does not own.
[ADMIN] ERROR: Calling [various things can appear here] returned error 10
Then as the error says, one plugin is trying to kill another plugins timer, due to a logic error in the plugin. Versions of Admin Mod prior to 2.50.52 allowed this to happen. Versions 2.50.52 and later prevent this and raise the above error crashing the plugin with the faulty logic, rather than allowing it to corrupt other plugins. Contact the plugin author for a new version. If you are the plugin author, set any variable holding a timer index to 0 after you kill a timer.
Q20: I've downloaded a plugin, but all I've got is this sma file - what do I do with it?
Firstly if you are on linux you need to make sure your "sma" file contains linux style line-feed only characters at the end of each line, not windows style carriage return line-feeds. There are at least 7 ways to do this:
Next you need to compile the sma file into an amx file. To do this you will need to use the folder where you unzipped Admin Mod. NOTE: The script compiler is not installed when you run the Admin Mod installer - you will need to download Admin Mod again if you no longer have the folder where you unzipped it.
In this folder you will find a directory called "scripting\myscripts". Copy the sma file into this folder (after you have converted it if you are on linux). If the plugin comes with any "inc" files you will have to copy these into either "scripting\include" or "scripting\myscripts" - if one location gives an error message try the other or see the readme with the plugin.
Now run the compile_all.bat file (Windows) or compile_all.sh file (Linux) in the "scripting\myscripts" folder. NOTE: On Windows it is best to open a command prompt window then run the compile_all.bat file from the command line rather than double clicking on it in explorer. Then if any errors occur you get time to read the error messages.
If any errors do occur, see Q21 below for help
The compiled amx file is produced in the "scripting\mybinaries" folder. Copy this to the addons\adminmod\dlls folder inside your game mod folder (e.g. C:\games\half-life\cstrike\addons\adminmod.dlls). Check that it isn't a 0Kb file - this means an error occurred.
Now open the file addons\adminmod\config\plugin.ini and add your new plugin. Its usually best to put them at the end of the file, but check the readme file for the plugin for more specific information. However, normally regardless of what the readme says should you not put a plugin above plugin_antiflood.amx in the plugin.ini file (unless of course it is another antiflood plugin.
If you have a Linux server that you cannot execute programs on (e.g. a rented server), you can compile the plugin on any Windows machine that you have unzipped the windows version of Admin Mod on (you do not need to install it) and then use the AMX Converter (Windows version or Linux version) to convert the compiled Windows AMX file to a Linux AMX file. However, it is recommended that your compile the plugin on the native operating system where possible. NOTE: The AMX Converter is not the same thing as Wraith's converters; as its name suggests, the AMX converter converts compiled AMX files, whereas Wraith's converters convert uncompiled SMA files.
Q21: I get errors when compiling.
Here are some common compilation errors that occur on plugins which worked for the author, but are failing when you try and compile them:
Q22: Is there a plugin to kick people with kick pings?
No there isn't and Admin Mod plugin's API specifically doesn't make it possible to write one. Don't post on the forums asking for one unless your heating has failed and you need some flames to warm you up.
Q23: Where can I learn how to write plugins?
There are 3 primary resources:
Q24: How do I make Pod/Real/Someother Bot work with Admin Mod?
If your bot is metamod compatible, all you need to do is add a line to your addons/metamod/plugins.ini (formerly metamod.ini) pointing to the bot dll. E.g.
win32 addons/mybot/dlls/mybot.dll
If the bot doesn't use Metamod, on Windows:
Install Admin Mod and then install your bot (unless your bot is already installed of course). Configure and test Admin Mod before installing the bot
Open the file liblist.gam in notepad and look for the line that begins "gamedll". This should be set to "addons\metamod\dlls\metamod.dll". If it isn't change it
Edit the properties of the shortcut on the desktop or start menu that you use to start your server. Add to the end of the line:
+localinfo mm_gamedll PATHTOYOURBOTDLL.dll
Note that the path to your DLL is relative to the game mod folder and must use / characters and not \ to separate folders - e.g. +localinfo dlls/podbot.dll
On Linux:
Install Admin Mod and then install your bot (unless your bot is already installed of course). Configure and test Admin Mod before installing the bot
Open the file liblist.gam in your favourite text editor (such as vi) and look for the line that begins "gamedll_linux". This should be set to "addons/metamod/dlls/metamod_i386.so". If it isn't change it.
+localinfo mm_gamedll PATHTOYOURBOTDLL_i386.soNote that the path to your DLL is relative to the game mod folder - e.g. +localinfo dlls/realbot_i386.so
Bear in mind that even once you have everything working, you won't be able to do everything to bots that you can do to human players. In particular anything that involves executing a client command won't work on a bot, as they have no client. You should also ensure you have set admin_bot_protection to 1 in your adminmod.cfg file.
Q25: How can I make my server less laggy?
Buy a faster computer and a faster Internet connection? OK, if your server is slow, the first thing you need to determine is *why* - blindly installing every pingbooster you can find will probably make things worse, not better. Also remember a higher frames per second doesn't necessarily mean it will play faster.
The server can be slow for 3 main reasons.
The best way to test how to speed things up is to have a friend out on the Internet. Firstly, you should run a dedicated server and have your friend join and wait for a reasonable sized game to get going. Do not join the game yourself unless you have another computer. While the game is being played use Task Manager/Perfmon (NT/2000/XP), System Resource Meter (9x) or top (Linux) to monitor CPU usage and page faults.
If page faults are extremely high and the disk is whirring, you probably need more memory. If the CPU load is maxed out your game is using all available processing power. In some cases where this happens, it may help to lower the frame rate, not raise it. Hullu's HLBooster can be configured to lower the frame rate instead of boosting it. If the CPU load is quite low, use a pingbooster to increase the frame rate - your machine can cope with more processing.
If you normally run a listen server, ask your friend how the dedicated server compared - if performance was OK on the dedicated but normally isn't on the listen server then your computer is struggling with running the server code and the game GUI at the same time.
Another good test if you have the hardware is to run a LAN game. If your LAN game is fast but your Internet games are slow it is your Internet connection that is the problem, not your computer. A ping booster will make it worse not better (although it will make the LAN game better).
There are three well known ping boosters to consider:
All of these boosters increase the number of server frames processed per second. A "frame" is where the server processes the updates it has received from clients recalculates positions of entities and recognises any events that have occurred - e.g. a bullet hitting a target. Doubling the number of frames doesn't double the CPU load, as fewer things will have changed within the frame. However, each frame processed can cause server to client network traffic.
Therefore running these ping boosters will increase the network load of your server. It will run with lower pings when a few players are connected but it will "choke" at a lower number of players than it would have without being boosted. You can monitor choke and packet loss by typing "net_graph 3" in your client console.
Choking is where you get intermittent but extremely serious lag (order of 1-10 seconds). This is normally caused by the server's network connection being flooded with too much data. The server uses the UDP/IP protocol rather than TCP/IP. This means that when there is too much data, instead of queuing it so it can be delivered later, it just throws the excess away. If too much for a particular client is thrown away it freezes until it gets enough packets to work out what's going on in the game. A second cause of choking is if you are using the PC for something else, or have a periodic background process running with Windows Task Scheduler or cron on Linux. The fix for these situations should be obvious though....
If you are suffering from choking problems, I suggest you try Ravenous Bugblatter Beast's rate management plugin which attempts prevent the server from sending more data than your network connection can handle and/or use HLBooster to lower sys_ticrate - don't try and increase the frame rate.
Now if you have anything more to say about this subject, post it in the non-admin forum where it belongs.
Q26: How do I uninstall Admin Mod?
To uninstall Admin Mod, comment out or remove the line contain admin_mm.dll or admin_mm_i386.so from your addons/metamod/plugins.ini file and comment out or remove the line in your server.cfg/listenserver.cfg file that contains "exec addons/adminmod/config/adminmod.cfg". If you are permanently removing it you can delete the folder addons/adminmod.
If you also want to remove metamod, edit the file "liblist.gam" and change the line that begins "gamedll" (or gamedll_linux if you are on linux) back to the normal dll name for your game mod (e.g. dlls/mp.dll for Counter-strike on windows. You can remove the addons/metamod folder if you are permanently removing it.