hl2mpのビルド

いろいろ考えるに、 sourcesdkでまんだら屋マップをサーバに公開して誰でもログインできるようにするには、 counter-strike:sourcehalf-life2 deathmatchなどのマルチプレイヤーのものでなくてはならず、 half-life2本編ではダメだ。 counter-strike:sourceもしくはhl2 deathmatchを使うとして、 まず武器を持たせないようにしないといけないのだが、 server.cfgで武器を持たせないという設定はどうもできないようだ。 まんだら屋の登場人物がみんな武器をもってたらまんだら屋になりゃしない。 hl2 singleplayerならば武器を持ってない設定は簡単なんだが。

admin用のmodとかpluginとかいろいろ出ているのでそれらを利用すれば武器を持たないことも可能かもしれんが、 modのコンパイルをこの際一から勉強した方がよさそうだ。 しかも外部公開サーバなんでlinux版のserverをビルドしなきゃならんだろうね。 windows serverとか使いたくないし。

linuxのことはそのうち考えるとしてまずはwindowsでやるとして、 counter-strike:sourceのmodは作れないのでhl2mpでやることになる。 client.dllとserver.dllのうちserver.dllだけ作り替えれば、 hl2mp持っている人はだれでもログインできるはずだと思われる。 なんで次なる目標は、武器を持たないプレイヤーがただうろつき回るだけの hl2mpのserver.dllをビルドすることだということになる。

で、さっそくhl2mpをビルドしてみたのだが、 hl2と違ってただReleaseにしただけではビルドが成功しないんでリンカーの入力の無視するライブラリの当たりをちょこちょこいじった。 するとビルドはできたのだが、起動して途中で hl2.exe application errorなどで落ちる。 何だか良くわからずいろいろ試してみて原因らしきものは、 hl2はビルドしただけでも一応そのまま走るのだが、 hl2mpの場合は自動生成されるgameinfo.txtが間違ってる (type multiplayer_onlyになっていたりとか、SteamIDとかAppIDが間違ってたりとか)ので、 hl2mpのgameinfo.txtをコピーしてくるなりしないとエラーが起こるのだった。 たったそれだけわかるのに半日かかった。