Tuesday, March 19, 2024

BuriBuriNekoManma

Team Fortress 2 Server Powered by Noob93

Archive for the ‘Topic’ Category

プログラム異常終了時にメールで知らせる

Posted by noob93 On 5 月 - 21 - 2011

【2011/06/04追記】

先日の大幅アップデート以降SRCDSが頻繁に異常終了するようになってしまいました。そこでSRCDSの異常終了を検知してメールで知らせるようにしたいと思います。Windowsの場合はタスクスケジューラーのイベントビューワータスクで、異常終了のイベントをトリガーにメールを送る機能が元々ついてるのですが、SMTPサーバーも同時に稼動してる事が前提なのか、サブミッションポートやSMTP認証に対応していません。これでは現在一般的なプロバイダが提供するSMTPサーバーを使用する事ができませんので、コマンドラインでメールを送信できるSMAILを使用します。

下記のSMAIL作者のサイトからプログラムをダウンロードし適当なフォルダに展開します。
http://dip.picolix.jp/disp2.html

まず展開したフォルダの中の「smail.exe」を起動します。SMTPサーバーの設定にプロバイダの指定する値を入力します。POPサーバーは使用しませんのでdummyのままにして「保存」ボタンを押します。

smail

展開したフォルダ(smail.exeと同じ階層)に「body.txt」というファイル名のテキストファイルを作成し、そこにメール本文を記入します。

次はイベントビューワータスクの設定です。「管理ツール」から「イベントビューワー」を開きます。

e382a4e38399e383b3e38388e38393e383a5e383bce382a2e383bc

「Windowsログ」の「アプリケーションログ」一覧のApplication Errorでsrcds.exeの項目を右クリックし「このイベントにタスクを設定」を選択。

名前はなんでもいいです。

そのまま「次へ」

「プログラムの開始」を選択して「次へ」

「プログラム/スクリプト」にsmail.exeの場所を入力。
引数の追加 「-d -h<SMTPサーバー名> -f<送信元メールアドレス> -s”<件名>” -F”<body.txtの場所>” <送信先アドレス>」
hオプションとSMTPサーバー名の間や、-fオプションと送信メールアドレスの間にスペースなどは入りません。続けて入力してください。

 

【以下2011/06/04追記】

このままでは全ての異常終了に反応してしまうので、SRCDSの異常終了のみ反応するようにします。

トリガーの編集で「カスタム」にチェックを付け「イベントフィルターの編集」ボタンを押します。

XMLタブで「手動でクエリを編集する」にチェックを付け入力欄に下記のように記述します。SRCDSのパスは適時読み替えてください。

<QueryList>
  <Query Id=”0″ Path=”Application”>
    <Select Path=”Application”>*[System[(Level=2) and (EventID=1000)] and EventData[(Data="F:\SRCDS\tf2\orangebox\srcds.exe")]]</Select>
  </Query>
</QueryList>

 

これでSRCDSの異常終了にのみ反応するようになります。

BeroBeroNekoManmaでは異常終了を検知したら、アラーとメールを管理人に送信→SRCDSを起動→ツイッターで告知。という流れにしています。ツイッターへの告知はTweetConsoleを利用しています。

 

 

 

 

 

 

 

SRCDSアップデートバッチ

Posted by noob93 On 12 月 - 20 - 2010

TF2などのSRCDSをアップデートした際に、勝手にマップサイクルが書き変わってしまうことがあり不便なのでバッチプログラムで「SRCDSアップデート」→「あらかじめバックアップしておいたマップサイクルなどのファイルの復元」→「SRCDS起動」という一連の操作を自動化したいと思います。

mapcycle.txt、maplist.txt、motd.txtをそれぞれbackup_mapcycle.txt、backup_maplist.txt、backup_motd.txtと別名で同じフォルダにコピーします。 メモ帳を開き下記プログラムをコピペし保存します。 その後、ファイル名の拡張子を.txtから.batに変更してください。 あとはSRCDS終了後、その.batファイルをダブルクリックで起動します。

 

echo update
start /wait F:\SRCDS\HldsUpdateTool.exe -command update -game tf -retry -verify_all -dir F:\SRCDS\

echo copy
copy /Y F:\SRCDS\orangebox\tf\backup_mapcycle.txt F:\SRCDS\orangebox\tf\mapcycle.txt
copy /Y F:\SRCDS\orangebox\tf\backup_maplist.txt F:\SRCDS\orangebox\tf\maplist.txt
copy /Y F:\SRCDS\orangebox\tf\backup_motd.txt F:\SRCDS\orangebox\tf\motd.txt

echo sart srcds
start F:\SRCDS\orangebox\srcds.exe -game tf -console -secure -port 27015 -command +map koth_nucleus +maxplayers 26 +sv_lan 0 +servercfgfile server_bot.cfg

 

各種パスや設定は適時読み替えてください。2行目の-dirの指定はドットだと、batファイルのある場所にDLしてしまうのでフルパスで指定してください。

 

 

 

 

Mumble設定(クライアント編)

Posted by noob93 On 6 月 - 18 - 2009

Mumble設定(サーバー編)の続きです。(バージョン1.1.8についての記事です。)

Mumbleダウンロードサイトはこちら(サーバーもクライアントも同じです)
http://sourceforge.net/projects/mumble/

mumble_101クライアント編は設定ウィザードからいってみます。

 

mumble_102システムですが、VistaならWASAPI。XPならDirectSoundを選択しましょう。オーディオデバイスがASIO対応ならASIOで。未確認ですがXPの場合ASIO4ALLを挿してレイテンシー(音声遅延)を押さえる事ができるかも。ちなみにVistaはWASAPIが選択できればレイテンシー面ではASIO4ALLとほぼ同等と考えていいと思いますので必要ありません。

デバイスはデフォルトデバイスを選んだ場合は、コントロールパネルで既定に設定されているデバイスを自動的に選択します。ボイチャ専用のデバイスがある場合は選択してください。

 

mumble_103まずコントロールパネルのサウンド設定画面の録音音量設定画面を開きます。大きな声で喋りながら、ギリギリ赤い区域にかからない最大ボリュームになるようにコンパネ側のスライダーで調節してください。(この画面のスライダーではありません。)この設定は音割れしない程度に最大音量を確保する為なのでゲーム中あまり大きな声で話さない人はそんなにムキになって大声出さないでもいいです。

その後小さな声で喋りながら画面のスライダーを調節し喋ってる間はギリギリ緑、喋っていない時は青のエリアに入るように調整してください。これもノイズゲートの範囲を決定する為なので結構大きな声で喋る人は逆にあんまりボソボソ声で調整しない方がいいです。

 

mumble_104どのタイミングで他のユーザーに声を届けるかの設定です。「キー押下で有効化」に設定してマウスのサイドボタンなどを割り当てるか、「音声信号の大きさ」で自動的に検出する設定がオススメです。S/N比検出は一般的なヘッドセットでは設定しにくいと思います。

「音声信号の大きさ」を選択した場合はその下のスライダーの設定が必要です。上段のスライダーは音声認識ONとなる境目です。あまり小さいとキーボードのカチャカチャや生活雑音に反応してしまったり、逆に大きく設定すると声が小さいときに反応しなかったりするのでしっかり調整しましょう。

下段のスライダーは音声認識OFFとなる境目です。上段とほぼ同じかやや小さい程度でいいと思います。

最下段のスライダーは音声認識ONの状態から、音声認識OFFとなって実際に切れるまでの時間です。音声認識OFF以下になってから、このスライダー値の時間以内に再度音声認識OFF以上の音量を検知すれば音は途切れません。あまり短いと句読点の部分で切れ次の発声の最初が聞こえなかったりします。逆に長いと余計な雑音を拾います。これも声がきちんと全部聞こえる範囲でギリギリ短い時間に設定してください。

この辺の設定は後からオプションの設定で変更できます。実際に相手と試しながらベストな設定を見つけてください。画面上では音声ONならクチビルが赤くなります。

 

mumble_105対応のゲームに限りますが、プレーヤーの位置とそのプレーヤーの声の聞こえる方向、距離を再現する事ができます。(要はゲーム内で、右にいるプレーヤーの声は右に聞こえ、遠くにいるプレーヤーの声は小さく聞こえます。)

 

mumble_106おつかれさまです。

 

 

 

 

 

mumble_001設定→設定からも同様の設定ができます。

 

mumble_003ちなみにここのループバックをサーバーにすると、実際に相手が聞こえてる声と同じ声を聞くことができます。音量を調節や遅延の状況の確認に使えます。音質が悪い場合はレイテンシーを増やしてみましょう。また、ループバックをローカルにすると、動画キャプチャソフトなどで自分の声も動画に含めることができます。

 

mumble_002このオーバーレイはフルスクリーンでゲームをしていてもユーザーの表示がされたり誰が喋ってるか光って教えてくれる便利な機能ですが、Killing Floorなどの一部のゲームに対応していません。その場合はチェックボックスを外しましょう。

 

ボイスチャットをする際はスピーカー&卓上マイクだとキーボードの音などいろいろな音を拾いすぎてうるさいです。またハウリング(スピーカーから出る音をマイクが拾い、その音がまたスピーカーから出て増幅し続ける事)も起こしやすいので是非ヘッドセットを使ってください。安いものは1000円程度からあります。選ぶ際は「ステレオであること」に注意してください。手元にボリューム調整やマイクのON/OFFスイッチのあるものが便利です。

 

ノバック リアル 5.1ch USB サラウンドヘッドホン CHAMPION HP-855U
いまはコレ使ってます。USB接続で5.1ch(L4Dとか迫力ヤバイ!)リモコン付きで値段もお手ごろ。オススメです。でも、頭の締め付けが強い(使ってるうちに良くなりますが)のとなんだか新車臭いのが欠点。あと、ものすごい音漏れしますので注意。

 

あと1000円前後だとこの辺オススメです。音質はそれなりですが、十分遊べます。

 

Mumble設定(サーバー編)

Posted by noob93 On 6 月 - 10 - 2009

mumbleオンラインFPSにおいて必須ソフトと言えばボイスチャット(VC)ソフトです。ボイチャがあればゲームの楽しさはリアルに3倍以上増します。まだ導入してない人は是非導入してみてください。ボイチャにはTS2やスカイプなど色々ありますがレスポンスの速さや設定の容易さ(日本語対応)においてMumbleがおススメです。

下記のサイトからダウンロードして、インストールしてください。
http://sourceforge.net/projects/mumble/

サーバー機は指定ポート(デフォルトでは64738)を通す設定と、ファイヤーウォールの設定を行なってください。クライアント側は不要です。
また固定IPではない場合、ダイナミックDNSを利用すれば、毎回クライアントにIPアドレスを通知しないでもダイナミックDNSのホスト名で接続できるので便利です。

で、サーバー側設定について記載しようと思ったのですが、にくきゅう見習いさんのブログが大変詳しく書かれてて、これ以上書く事もないのでこちらをご参照ください :-P

次回クライアント設定はまじめに書きます・・・・では

Voice Chat

Posted by noob93 On 6 月 - 5 - 2009

ボイスチャットソフト

・mumble
オープンソースで開発されているVC(ボイスチャット)ソフト
同じVCソフトで有名どころのTS2(Teamspeak2)よりも高音質で遅延も少なくFPSに適しています。

公式ページ
http://mumble.sourceforge.net/

・Teamspeak 2
こちらも有名なVCソフト。
mumbleに比べると音声の遅延有。

公式サイト
http://www.teamspeak.org/

Steam Card

Posted by noob93 On 6 月 - 1 - 2009

■Steam Card
Steamでプレイしている「ゲームプレイのデータ」の表示が可能。
リアルタイムでは表示されないが、アバターとプレイ時間が長いゲームが順番に3つまで表示されます。

http://steamcard.com/

Steam ID(コミュニティのURLの最後の部分)が数字の場合は
「プロフィールの編集」でカスタムURLで「http://steamcommunity.com/id/」の後を文字に編集してください。

■Steam Forum Signatures
表示されるゲームはプレイ時間が最も長いゲームのみ。
こちらはリアルタイムでプレイしている状態の表示が可能。

http://steam-gamer.com/signatures.php

Steam ID(コミュニティのURLの最後の部分)が数字の場合は
「プロフィールの編集」でカスタムURLで「http://steamcommunity.com/id/」の後を文字に編集してください。

Steam Forum Signaturesを貼り付ける場合は下記のタグで貼り付けてください。
<a href=”http://steamcommunity.com/profiles/プロフィール番号”><img src=”http://steam-gamer.com76561198003526976/steam_sig.png”></img></p>