If you want to install metamod by hand, here's what you have to do:
half-life/cstrike/addons/metamod/dlls/metamod.dll
Note that it's only really necessary to change the line corresponding to your OS (win32 or linux); you can leave the other line unchanged, or you can change it - it doesn't matter.
Configuration
Metamod uses several config options and config files (listed in order of
priority), where "$gamedir" indicates the game directory, ie
"cstrike":
Config file: plugins.ini
Default location: $gamedir/addons/metamod/plugins.ini, ie
"cstrike/addons/metamod/plugins.ini".
Plugins are described in a file "plugins.ini" and each line describes a plugin to load:
Fields are whitespace delimited (tabs/spaces).
For instance, in "cstrike/addons/metamod/plugins.ini" these are all valid lines:
// linux dlls/mybot.so
# win32 dlls/mybot-old.dll Mybot old
win32 dlls/mybot.dll Mybot current
linux dlls/mm_stub_i386.so
win32 dlls/mm_stub_i386.dll
linux dlls/mm_trace_i386.so
win32 dlls/mm_trace_i386.dll
linux dlls/admin_MM.so
win32 dlls/admin_MM.dll
Note that order in the plugins.ini file is significant.
The file is re-read at changelevel, as well as on demand (via "meta refresh" console command; see below). When the file is re-read, it will:
The game dll is auto-detected, along the same lines AdminMod operated (looking at the "gamedir"); see "mm_gamedll" below if you want to use a "bot" DLL.
You can override the name of this file by specifying it via the +localinfo field "mm_pluginsfile".
For compatibility with previous versions, Metamod will also look for a file "metamod.ini" under the gamedir, ie "cstrike/metamod.ini".
Config file: exec.cfg
Default location: $gamedir/addons/metamod/exec.cfg, ie
"cstrike/addons/metamod/exec.cfg".
You can override the name of this file by specifying it via the +localinfo field "mm_execcfg".
For compatibility with previous versions, Metamod will also look for a file "metaexec.cfg" under the gamedir, ie "cstrike/metaexec.cfg".
NOTE! This file is no longer supported! -- use instead the
+localinfo field
"mm_gamedll".
Config file: metagame.ini
Config option: +localinfo
Several of metamod's configuration options can be specified by the
"+localinfo" facility on the hlds command line. This is similar to the
"setinfo" console command, where the syntax is:
This replaces using the metagame.ini file. With previous versions of AdminMod (2.10 and earlier), this same functionality was provided by the file "admin.ini".
./hlds_run -game cstrike +localinfo mm_pluginsfile mylist.ini ./hlds_run -game cstrike +localinfo mm_execcfg mysettings.cfg ./hlds_run -game cstrike +localinfo mm_gamedll dlls/pod_bot.so ./hlds_run -game cstrike +localinfo mm_debug 7
Note, paths should use unix-style forward slashes (/) and not backward slashes (\), even on windows platforms.
All console command functionality is provide by a single command "meta", with multiple sub-commands:
usage: meta <command> [<arguments>]
valid commands are:
version - display metamod version info
list - list plugins currently loaded
cmds - list console cmds registered by plugins
cvars - list cvars registered by plugins
refresh - load/unload any new/deleted/updated plugins
load <name> - find and load a plugin with the given name
unload <plugin> - unload a loaded plugin
reload <plugin> - unload a plugin and load it again
info <plugin> - show all information about a plugin
pause <plugin> - pause a loaded, running plugin
unpause <plugin> - unpause a previously paused plugin
retry <plugin> - retry a plugin that previously failed its action
clear <plugin> - clear a failed plugin from the list
force_unload <plugin> - forcibly unload a loaded plugin
where <plugin> can be either the plugin index number, or a non-ambiguous prefix string matching description or file.
Also, a single cvar is available:
meta_debug - set debugging level
For instance with:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Trace HLSDK API RUN - mm_trace_i386.so v0.90 ini ANY Pause
[ 2] adminmod RUN - admin_MM.so v2.11 ini Start Start
[ 3] stub RUN - mm_stub_i386.so v0.90 ini ANY Pause
2 plugins, 2 running
You could then do any of the following to unload the API Trace plugin:
meta unload 1 meta unload trace meta unload mm_trace
Here's some other example output:
meta info admin
name: adminmod
desc: Adminmod
status: running
action: none
filename: dlls/admin_MM.so
file: admin_MM.so
pathname: /home/willday/test/cstrike/dlls/admin_MM.so
index: 3
source: ini file
loadable: at server startup
unloadable: at server startup
version: 2.11
date: 2001/02/04
author: Alfred Reynolds <alfred@mazuma.net.au>
url: http://www.adminmod.org/
logtag: ADMIN
last loaded: Mon Feb 5 02:06:34 2001
DLLAPI functions:
GameDLLInit
DispatchThink
ClientConnect
ClientCommand
ClientUserInfoChanged
ServerActivate
6 functions (dllapi)
No DLLAPI-Post functions.
No NEWAPI functions.
No NEWAPI-Post functions.
No Engine functions.
No Engine-Post functions.
Registered commands:
admin_command
1 commands
Registered cvars: float value string value
users_file 0.000000 users.ini
maps_file 0.000000 mapvote.txt
default_access 1.000000 1
ips_file 0.000000 0
reserve_slots 1.000000 1
reserve_slots_msg 0.000000 0
admin_debug 1.000000 1
password_field 0.000000 admin_password
alarm_message 0.000000 0
alarm_time 0.000000 0
use_regex 1.000000 1
models_password_field 0.000000 0
models_file 0.000000 models.ini
models_kick_msg 0.000000 Invalid model
script_file 0.000000 cstrike/dlls/admin.amx
help_file 0.000000 admin_help.txt
vote_freq 360.000000 360
encrypt_password 1.000000 1
pretty_say 1.000000 1
admin_mod_version 2.110000 2.11
reserve_type 1.000000 1
map_ratio 60.000000 60
kick_ratio 75.000000 75
words_file 0.000000 0
password_timeout 1800.000000 1800
file_access_read 0.000000 0
file_access_write 0.000000 0
public_slots_free 20.000000 20.000000
allow_client_exec 0.000000 0
admin_balance_teams 0.000000 0
30 cvars
meta cmds
Registered plugin commands:
plugin command
[ 1] API trace trace_version
[ 2] API trace trace
[ 3] API trace untrace
[ 4] API trace showtrace
[ 5] Adminmod admin_command
5 commands, 5 available
meta cvars
Registered plugin cvars:
plugin cvar float value string value
[ 1] API trace trace_debug 3.000000 3.000000
[ 2] API trace trace_dllapi 8.000000 8
[ 3] API trace trace_newapi 0.000000 0
[ 4] API trace trace_engine 8.000000 8
[ 5] Adminmod users_file 0.000000 users.ini
[ 6] Adminmod maps_file 0.000000 mapvote.txt
[ 7] Adminmod default_access 1.000000 1
[ 8] Adminmod ips_file 0.000000 0
[ 9] Adminmod reserve_slots 1.000000 1
[ 10] Adminmod reserve_slots_msg 0.000000 0
[ 11] Adminmod admin_debug 1.000000 1
[ 12] Adminmod password_field 0.000000 admin_password
[ 13] Adminmod alarm_message 0.000000 0
[ 14] Adminmod alarm_time 0.000000 0
[ 15] Adminmod use_regex 1.000000 1
[ 16] Adminmod models_password_fiel 0.000000 0
[ 17] Adminmod models_file 0.000000 models.ini
[ 18] Adminmod models_kick_msg 0.000000 Invalid model
[ 19] Adminmod script_file 0.000000 cstrike/dlls/admin.amx
[ 20] Adminmod help_file 0.000000 admin_help.txt
[ 21] Adminmod vote_freq 360.000000 360
[ 22] Adminmod encrypt_password 1.000000 1
[ 23] Adminmod pretty_say 1.000000 1
[ 24] Adminmod admin_mod_version 2.110000 2.11
[ 25] Adminmod reserve_type 1.000000 1
[ 26] Adminmod map_ratio 60.000000 60
[ 27] Adminmod kick_ratio 75.000000 75
[ 28] Adminmod words_file 0.000000 0
[ 29] Adminmod password_timeout 1800.000000 1800
[ 30] Adminmod file_access_read 0.000000 0
[ 31] Adminmod file_access_write 0.000000 0
[ 32] Adminmod public_slots_free 20.000000 20.000000
[ 33] Adminmod allow_client_exec 0.000000 0
[ 34] Adminmod admin_balance_teams 0.000000 0
34 cvars, 34 available
meta unload stub
Unloaded plugin 'Stub plugin'
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Trace HLSDK API RUN - mm_trace_i386.so v0.90 ini ANY Pause
[ 2] adminmod RUN - admin_MM.so v2.11 ini Start Start
2 plugins, 2 running
meta load stub
Loaded plugin 'stub' successfully
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Trace HLSDK API RUN - mm_trace_i386.so v0.90 ini ANY Pause
[ 2] adminmod RUN - admin_MM.so v2.11 ini Start Start
[ 3] stub RUN - mm_stub_i386.so v0.90 cmd ANY Pause
3 plugins, 3 running