Monday, November 25, 2024

BuriBuriNekoManma

Team Fortress 2 Server Powered by Noob93

Archive for 5 月, 2011

BeroBeroNekoManma

Posted by noob93 On 5 月 - 21 - 2011

先日の大幅アップデート以降各種MODがなかなか安定動作せず困ってます。そこでミラーサーバーとして利用していた「BuriBuriBuriBuriNekoManma」を、MOD試験用サーバー「BeroBeroNekoManma」としてリニューアルしました。現在はSaySoundsやクラス制限(スナ、エンジ、スパイ各2)をテスト中です。お試しください。

あと現在BBNMでは問題があり、プレーヤー待ち時間として30秒設定しているので、マップがロードされてから30秒後にリスタートがかかりその後セットアップタイムが始まるように設定してあります。しかし1人でもマップのロードが終るとBOTが充填され、結果プレーヤーが十分居ると判断され(SRCDSの仕様)プレーヤー待ち時間をスキップし即セットアップタイムに移行してしまいます。これではマップロードが遅いプレーヤーがセットアップに参加できずエンジの建造物が間に合わなかったりユーバーのチャージができない状況になっております。どなたか良い設定方法やMODをご存知でしたら教えてください。

何かご意見・ご要望等あればこちらまでお願い致します。

 

 

 

 

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

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を利用しています。