FreeBSD/Linux環境でのMETAーMOD
目次
1. META-MODとは?
2. 必要になるファイル
3. 各MODへのインストール
4. META-MOD導入後の起動試験
1.META-MODとは?
 META−MODとは、Half-LifeやCounter-Strikeサーバで同時に他のサポートソフトを動かすのに必要なソフト(正確にはライブラリ)です。これをインストールすることで、この後出てくる様々なサポートツールを同時に動かすことができます。逆を言えば、META−MODが無ければHalf-LifeやCounter-Strikeサーバは、ただゲームを提供するもので終わってしまいます。しかしここにMETA−MODが入ることで、残り時間を喋らせることや与えたダメージ一覧表を出すことができ、ゲームの深みが増します。

2.必要になるファイル
 必要になるファイルは現時点(2002 10/24)では になります。このファイルは比較的頻繁に更新されるため、このサーバ上には置きません。ファイル容量もそれほど大きなものでは無いので、以下のオフィシャルサイトからダウンロードしてください。 ダウンロードが終了したら、早速解凍してみます。以下のようにコマンドを打ち、metamod_i386.soファイルができあがったのをlsコマンドで確認してください。ちなみに.gzファイルはgzip圧縮と呼ばれ、gunzipコマンドで解凍できます。
>ls
hlds_l          metamod_i386.so.gz
>gunzip metamod_i386.so.gz
>ls
hlds_l          metamod_i386.so
>
metamod_i386.so.gzに代わり、metamod_i386.soが出てくればひとまず必要なファイルはそろいました。
3.各MODへのインストール
 解凍して出てきたmetamod_i386.soファイルを適切な場所にコピーし、設定ファイルを書き換えることでHalf-LifeやCounter-Strike以外にも、TeamFortressClassicやDeathMatchにも組み込むことができます。今回はCounter-Strikeに組み込んでみることにします。他のMODへのインストールも同じですが、installとmvで移動させるディレクトリだけ違います。入力するディレクトリを以下の表に示します。
インストールするMOD名 移動させるディレクトリ
Counter-Strike cstrikeの中
TeamFortressClassic tfcの中
DeathMatchClassic dmcの中
今回はCounter−Strikeへ組み込むため、cstrikeディレクトリの中へmetamod_i386.soファイルを移動(コピー)させます。以下の様にinstallとmvコマンドを入力してMETA−MODをインストールします。
>ls
hlds_l          metamod_i386.so
>install -d hlds_l/cstrike/addons/metamod/dlls
>mv ./metamod_i386.so hlds_l/cstrike/addons/metamod/dlls/metamod_i386.so
最後までエラーメッセージがでず移動できれば、ファイルのインストールは完了です。しかしこのままではファイルを移動しただけで、設定は何も変わっていません。META−MODを動かすためには、次にliblist.gamというファイルを編集します。liblist.gamはhlds_lの中のMODのディレクトリ(Counter-Strikeの場合にはcstrikeディレクトリ)の中にあります。cdコマンドでいったんホームディレクトリに戻ってから、hlds_lの中、cstrikeの中に進み、lsコマンドでliblist.gamを確認してみましょう。
>cd
>ls
hlds_l
>cd hlds_l
>cd cstrike
>ls
dlls sound
gfx sprites
logs config.cfg
manual mapcycle.txt
maps motd.txt
models metamod_i386.so
readme.txt liblist.gam<以下略>
>
liblist.gamがあれば、次にそのファイルを編集します。無い場合には、Counter-Strikeを再インストールしてみてください。間違って消してしまった可能性があります。liblist.gamの編集はviコマンドを使います。編集する行は以下の1行だけです。
  • gamedll_linux "dlls/cs_i386.so"
  • gamedll_linux "addons/metamod/dlls/metamod_i386.so"
編集が終わったら、catコマンドでliblist.gamを見てみましょう。以下のように表示されていれば、問題ありません。
>cat ./liblist.gam
game "Counter-Strike"
url_info "www.counter-strike.net"
url_dl ""
version "1.5"
size "184000000"
svonly "0"
secure "1"
type "multiplayer_only"
cldll "1"
hlversion "1110"
nomodels "1"
nohimodel "1"
mpentity "info_player_start"
gamedll "dlls\metamod.dll"
gamedll_linux "addons/metamod/dlls/metamod_i386.so"
trainmap "tr_1"
>
これで、インストールは完了です。

4.META-MOD導入後の起動試験
META-MODのインストールが完了したところで、早速テストしてみましょう。hlds_lの中へ移動し、早速以下のサーバ起動コマンドを打ってください。うまくいけば、下のようなメッセージがでるはずです。
>cd hlds_l
>./hlds_run -game cstrike +map de_dust
Auto-restarting the server on crash
Host_Init
Added packfile /usr/compat/linux/usr/games/hlds/hlds_l/valve/pak0.pak (985 files)
Protocol version 46
Exe version 3.1.1.0
Exe build: 14:46:34 Jun 11 2002 (2056)
WON Auth Server
Server logging data to file /usr/compat/linux/usr/games/hlds/hlds_l/cstrike/logs/L1025000.log
L 10/25/2002 - 01:48:36: Log file started (file "/usr/compat/linux/usr/games/hlds/hlds_l/cstrike/logs/L1025000.log") (g
ame "cstrike") (version "46/3.1.1.0/2056")
Server IP address 192.168.1.4:27015

Metamod version 1.13.1, Copyright (c) 2001-2002 Will Day <willday@metamod.org>
Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `meta gpl' for details.

L 10/25/2002 - 01:48:36: [META] Metamod v1.13.1, 2002/10/06
L 10/25/2002 - 01:48:36: [META] by Will Day <willday@metamod.org>
L 10/25/2002 - 01:48:36: [META] http://www.metamod.org/
L 10/25/2002 - 01:48:36: [META] compiled: Oct 6 2002, 18:49:00 Eastern (optimized)
L 10/25/2002 - 01:48:36: [META] Recognized game 'cstrike'; using dllfile 'cs_i386.so'
L 10/25/2002 - 01:48:37: [META] Game DLL for 'Counter-Strike' loaded successfully
L 10/25/2002 - 01:48:37: [META] ini: Begin reading plugins list: metamod.ini
L 10/25/2002 - 01:48:37: [META] ini: Finished reading plugins list: metamod.ini; Found 0 plugins to load
L 10/25/2002 - 01:48:37: [META] ERROR: ini: Warning; no plugins found to load?
L 10/25/2002 - 01:48:37: [META] dll: Loading plugins...
L 10/25/2002 - 01:48:37: [META] dll: Finished loading 0 plugins
Downloading Security Module from Speakeasy.net ...
[META]〜〜というものが見えましたでしょうか?(-insecureオプションをつけていると、すごい勢いで文字が流れていくので見えないかもしれません)これでMETA-MODがインストールされていることが分かります。ちなみに、この後ほっておくとサーバが起動しますが、以下のコマンドを打つとMETA-MODが現在読み込んでいるプログラムが表示されます。
Adding master server 198.74.32.53:27010
Adding master server 198.74.33.62:27010
Adding master server 198.74.32.52:27010
L 10/25/2002 - 01:49:07: World triggered "Round_Start"
meta list
Currently loaded plugins:
          description            stat    pend    file                    vers           src     load     unlod
0 plugins, 0 running
このままでは、meta listコマンドの結果を見て貰えれば分かるように、0running、つまり何もプログラムを読み込んでいないため、このままLanゲームで入っても普通の時と何も変わりません。META-MODが真価を発揮するのは、ここにプログラムを組み込んだときになります。プログラムの組み込み方を次節以降で取り上げていきたいと思います。

ご感想・ご意見は次のところまで : 管理者