Vaduz

 

CS サーバ関連で使っているシェルスクリプトと PHP スクリプトを git にあげてみました。

http://github.com/Vaduz/cs/tree/master

hlds_renice.sh

hlds プロセスの優先度をあげます。ただそれだけです。root 権限が必要です。
hlds.pid のプロセスIDを元に renice します。

hldsctl

hlds の起動・停止をします。screen で hlds という名前のセッションを作成してそこに hlds コンソールを立ち上げます。
アタッチするときは、

$ screen -r hlds

などとします。
使うときは basedir を適当に変えてください。

hltvctl

hldsctl と似たスクリプトで、hltv の起動・停止を管理します。hltv の起動に hltvstarter (後述) が必要です。
screen で hltv という名前のセッションを作成してそこに hltv コンソールを立ち上げます。
アタッチするときは、

$ screen -r hltv

などとします。
使うときは basedir を適当に変えてください。

hltvstarter

hltv を起動するためだけのスクリプトです。
同じスクリプト内で起動したいのですが、ML を見てもみなこんな感じでどうもうまい方法が見つかりませんでした。

index.php

hltv の demo ビューアです。hltv の demo があるディレクトリに入れて apache で demo が出力されているディレクトリを見られるようにすると、そこにある demo のリストを見ることができます。
実際にはこんな感じになります。
不要な demo を掃除する機能と、demo の大体の長さを見られる機能がついています。

これらのツールが CS サーバ運用の参考になればと思います。

 

長いこと放置しておくといろいろおかしくなってしまってたので、久々にサーバをいじりました。

メールサーバ

送信できずに返ってきていました。早く直そうと思っていたのですが、ちょっとはまってしまいました。
原因は再起動時に amavisd が停止したままだったのと、amavisd になぜか amavis-milter が必要になっていたことでした。
ひとまず amavisd を起動して status すると、amavis-milter が停止していることがわかりました。そのせいで mailq をすると大量のメールが貯まってしまいました。

1
2
3
$ /etc/init.d/amavisd status
amavisd (pid 19343 19342 19340) を実行中...
amavis-milter は停止しています

amavis-milter が動いてなさそう。amavis-milter なんてあったかな。

1
2
$ rpm -qa | grep amavisd
amavisd-new-2.5.4-1.el5.rf

ないので入れます。

1
2
3
4
$ yum install amavisd-new-milter -y
$ /etc/init.d/amavisd restart
Mail Virus Scanner (amavisd) を停止中:                     [  OK  ]
Mail Virus Scanner (amavisd) を起動中:                     [  OK  ]

無事起動しました。
たまっていたメールキューを再送して・・・

1
2
3
$ postsuper -r ALL
$ mailq
Mail queue is empty

これでメールが一斉に送信され、キューが空になりました。

HLTV

今まで HLTV の名前を http://hltv.vaduz.tk にしていたのですが、// の部分がコメントアウトとして解釈されてしまい、HLTV 再起動時に名前が http: になってしまっていました。全体をダブルクォートでくくっても現象は同じでした。ただ、HLTV のコンソールで name “http://hltv.vaduz.tk” などとすると変更されますが、コンフィグの名前自体を変えることにしました。現在はこのような名前に変更されています。

1
name "hltv.vaduz.tk"
 

IMG_2580

会社の同期と HIS の激安ツアーで上海に 3 泊 4 日の旅をしてきました。すごく疲れたけど、濃厚で充実した旅になりました!中国には初めて行ったのですが、良いところもそうでないところも見ることができて面白かったです。旅行中は一眼レフを首から提げていたので良く物を売りつけられそうになりつつも、たくさん写真を撮ってきました。撮った写真を flickr にアップしてみました。

http://www.flickr.com/photos/vaduzjp/sets/72157616440495324/detail/

スライドショーで見るのもお勧めです。

 

Google Adsense を導入したことなので、ついでに Amazon アソシエイトも登録してみました。
せっかくなので、4月1日から値下げされたみんな大好き Microsoft マウスの名機 IntelliMouse Explorer 3.0 のリンクを貼ってみますね。

 

優待やらナニやらでこれでもかというぐらい特典がついていたので、以前から気になっていたもののいまいち購入に踏み切れなかった iPhone をようやく手に入れました。購入したのは iPhone 3G 8GB 黒 モデル。8GB モデルだと割賦で月額の支払いがなくなるのと、今 16GB の iPod touch を使っていてそんなに容量を使っていないのでまあ十分だろうと思ってこれに決めました。
今まで AU の My割で契約していたので、その違約金が約10000円と、MNPの事務手数料が2000円ぐらいかかりました。
特典としては、Softbank の MNP プログラムのクーポンが 5000円分と、友人がちょうど機種変更で iPhone に代えていたので「ただとも」プログラムのクーポン 5000円分も使うことができました。これで違約金分がチャラになりました。
ついでにアレな特典がついていたので事務手数料以上が浮いて、結果プラスになりました!わーい。
ただこのクーポンも3月までに開通しなければ特典が無効になるそうで、慌ただしく手続きは進みました。Softbank の必死さが伝わってきます。
無精な自分にはありがたいのですが、身分証明書も画像アップを使ったのとセットアップも自分で全てやったので、結局一度も Softbank ショップに行っていません。メールのパスワードの設定で、ケース・センシティブなミスを連発して軽くはまったものの、それ以外はスムーズに設定できました。後はアドレス帳を移動するだけです。けどこれは大変そうです><
触りだしたら手垢で汚れて目立つので液晶フィルムとかケースカバーが欲しくなりました。

 

以前からやろうやろうと思っていて後回しにしていたことを一気にやりました。

微妙に納得できてなかった WordPress のテーマを DeepBlue というテーマに変更しました。これのおかげで Ads が貼りやすくなりました。

Google Adsense を追加しました。以前から Google Adsense 自体は登録していたのですが、テーマの関係上貼ってないままでした。 DeepBlue では Ads 用にスタイルが用意されているので、埋め込むだけで適用できました。

WordPress で言うページがなかったので、自己紹介ページを作りました。

http://blog.vaduz.tk/about/

これで一気にそれっぽいブログになりました!

 

Twitter に Widgets 機能が追加されたので早速使ってみました。

http://twitter.com/widgets

導入の仕方はこんな感じです。

  1. その他を選択
  2. Flash ウィジェット
  3. Interactive Widget
  4. デザインを選択
  5. 生成されたソースをコピー
  6. WordPress の管理画面でウィジェットを選択
  7. テキストを選んで好きな場所に追加
  8. タイトルを Twitter とかにして設定を保存

これでできあがりです。
全部 GUI でできるので簡単ですね。

3月 282009
 

桜がこれから見頃なので、比較的早めに咲いているところを狙って花見をしてきました。

 

CS1.6 のカスタムマップをサーバから高速にダウンロードさせる設定をしてみました。
CS1.6 では、デフォルトで sv_allowdownload という CVAR があり、クライアントが持っていないファイルをサーバからゲームサーバ経由でダウンロードする機能がついていますが、帯域が非常に狭く、ダウンロードするのに非常に時間がかかってしまいます。目安としては先ほどテストしたところ、8MB のファイルのダウンロードに 5 分以上かかっていました。
ところが、ウェブサーバ経由でファイルをダウンロードさせると、帯域の制限なしにファイルを送信できるので、高速にダウンロードできるようになります。ウェブサーバ経由でのダウンロードには、sv_downloadurl という CVAR を使い、その値に cstrike ディレクトリを設定します。

ゲームサーバで使うカスタムマップファイルは、ゲームサーバとは別にホスティングして利用することを考えましたが、新たなマップを追加したり削除したりする際に、ファイルホスティングしている方も同期させるのが運用上手間になるため、今回はサブドメインに hlds という VirtualHost を立てて、そこに cstrike 以下が見られるように設定しました。cstrike 以下には server.cfg があるため、ゲームサーバのパスワードや rcon パスワードが見られてしまうため、隠蔽する必要があります。そこで、空の document root を作り、そこからの alias で必要なディレクトリが見られるようにしました。Apache の設定は以下のとおりです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<VirtualHost *:80>
    ServerName hlds.vaduz.tk
    DocumentRoot /var/www/hlds
    Alias /maps /usr/games/hlds/cstrike/maps
    Alias /models /usr/games/hlds/cstrike/models
    Alias /gfx /usr/games/hlds/cstrike/gfx
    Alias /overviews /usr/games/hlds/cstrike/overviews
    Alias /sound /usr/games/hlds/cstrike/sound
    <Directory /var/www/hlds/>
        AllowOverride All
        order deny,allow
        deny from all
        allow from all
    </Directory>
</VirtualHost>

Apache からでもアクセスできるように該当のディレクトリのオーナーを確認してください。
また、ファイルの中にはパーミッションが正しく設定されていない場合があるので、注意してください。
今回は一括で以下のコマンドで変更しました。

1
2
find /usr/games/hlds -type f -print0 | xargs -0 chmod 644
find /usr/games/hlds -type d -print0 | xargs -0 chmod 755

ウェブサーバからカスタムマップをダウンロードする設定が整いました。
ゲームサーバの設定を変更して、ウェブサーバ経由でファイルをダウンロードするように変更します。
server.cfg を以下のように変更します。

1
2
sv_allowdownload 0
sv_downloadurl "http://hlds.vaduz.tk/"

sv_allowdownload が有効のままだとウェブサーバ経由にならないので、オフにします。
sv_downloadurl は ” でクオートして、127 バイト以内に収めます。

設定後、試しにサーバに入ってみると、ほぼ一瞬でダウンロードが終了しました。
通常ファイルがない場合はサーバに入ることができないため、ないマップをダウンロードして、Steam フォルダに展開して・・・という手間が要らずに直接入ることができます。クライアントにとってもサーバに入る際の敷居が低くなるでしょう。

これは個別の問題ですが、de_russka を使用する際に、

1
cannnot continue without models/de_russka_tree_noleaves.mdl

というエラーがでてしまうことがあります。
ファイル自体は

1
models/de_russka/russka_tree_noleaves.mdl

にありますが、見ているディレクトリが違うようで、正しくダウンロードできません。
結構利用されているマップなので、透過的にダウンロードできるようにシンボリックリンクを貼っておきました。

1
2
cd /usr/games/hlds/cstrike/models
ln -s de_russka/russka_tree_noleaves.mdl de_russka_tree_noleaves.mdl
 

Sunrise Empire で使っていた練習用サーバで評判の良かったおすすめ AMX Mod X を紹介します。

  • Admin Ammo
    これは、使用する武器の弾を無限にすることができるプラグインです。
    リロードもする必要がなくなるので、壁抜きの練習などで活躍します。

    amx_ammo @ALL

    とコンソールで打つだけで利用可能です。
    他にも便利な使い方があるので、詳細はページを確認してください。

  • Nade Modes
    これは投げられるグレネードの数を無限にするプラグインです。
    投げ物の練習に活躍します。味方に効果を与えないHEグレネードやFBグレネードなどがあり、様々なオプションがクライアント側から設定可能な高機能なプラグインです。
© 2011 vaduz.tk blog Suffusion theme by Sayontan Sinha