【2011/06/04追記】
先日の大幅アップデート以降SRCDSが頻繁に異常終了するようになってしまいました。そこでSRCDSの異常終了を検知してメールで知らせるようにしたいと思います。Windowsの場合はタスクスケジューラーのイベントビューワータスクで、異常終了のイベントをトリガーにメールを送る機能が元々ついてるのですが、SMTPサーバーも同時に稼動してる事が前提なのか、サブミッションポートやSMTP認証に対応していません。これでは現在一般的なプロバイダが提供するSMTPサーバーを使用する事ができませんので、コマンドラインでメールを送信できるSMAILを使用します。
下記のSMAIL作者のサイトからプログラムをダウンロードし適当なフォルダに展開します。
http://dip.picolix.jp/disp2.html
まず展開したフォルダの中の「smail.exe」を起動します。SMTPサーバーの設定にプロバイダの指定する値を入力します。POPサーバーは使用しませんのでdummyのままにして「保存」ボタンを押します。
展開したフォルダ(smail.exeと同じ階層)に「body.txt」というファイル名のテキストファイルを作成し、そこにメール本文を記入します。
次はイベントビューワータスクの設定です。「管理ツール」から「イベントビューワー」を開きます。
「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を利用しています。
Add A Comment