goodgames
04-01
最終更新:
goodgames
-
view
番犬
GS機を使用されている鯖管さんはGSのサイトにWatchDog(番犬)なる機能があるのを御存知だと思います。
これは本来ハードウェアに搭載される機能ですが、
何らかのトラブルにより機器がハングアップしたような場合に、
自動で障害を検知し再起動するための機能です。
何らかのトラブルにより機器がハングアップしたような場合に、
自動で障害を検知し再起動するための機能です。
あくまでも装置本体に再起動信号を送信するだけですので、
故障してしまった場合などにはなんら効果がありませんが、
些細なことが原因でフリーズ状態に陥った場合などには有効な機能です。
故障してしまった場合などにはなんら効果がありませんが、
些細なことが原因でフリーズ状態に陥った場合などには有効な機能です。
ちなみに最近のモデルについてはわかりませんが、
昔はIntelのCPUにもこのWatchDog(正確にはWatchDogTimer)が搭載されており、
CPUの演算回路など主要部が正常に稼動していないと判断されると、
自動的にリセット信号を送信し再起動を試みる機能が搭載とされていました。
昔はIntelのCPUにもこのWatchDog(正確にはWatchDogTimer)が搭載されており、
CPUの演算回路など主要部が正常に稼動していないと判断されると、
自動的にリセット信号を送信し再起動を試みる機能が搭載とされていました。
PCがフリーズした後、勝手に再起動が始まることがありますが、
もしかすると前述の機能がハード的に実装されているのかもしれません。
もしかすると前述の機能がハード的に実装されているのかもしれません。
どうでもいい話が長くなりました。
さて本題。
さて本題。
以前にもこちらに記載いたしましたが、
その後もGS機で全プレイヤーが切断される現象は続いています。
正確に申し上げるとプレイヤーが切断されたと言うよりは、
ゲームサーバとEAマスターサーバ間の接続が切断されているようです。
その後もGS機で全プレイヤーが切断される現象は続いています。
正確に申し上げるとプレイヤーが切断されたと言うよりは、
ゲームサーバとEAマスターサーバ間の接続が切断されているようです。
ゲームサーバ自体は何らトラブル無く稼動しているのですが、
マスターサーバに接続出来なければあらゆる情報が連携出来なくなります。
マスターサーバに接続出来なければあらゆる情報が連携出来なくなります。
この不具合でゲームサーバが稼動しなくなった場合、
前述のWatchDog機能を有効にしていれば自律復帰出来るサーバも多かったでしょうが、
実際にはゲームサーバが生きているためWatchDogが作動することはありません。
前述のWatchDog機能を有効にしていれば自律復帰出来るサーバも多かったでしょうが、
実際にはゲームサーバが生きているためWatchDogが作動することはありません。
本日だけでウチのサーバは6回ほどこの不具合の影響を受けていますが、
幸いにもプレイヤーさんから連絡を頂いたおかげで職場から再起動することにより復旧しました。
しかし、国内サーバ稼働状況のログを見ると、
日中に155台前後の稼動が記録されていますが、01:39現在、139台となっています。
幸いにもプレイヤーさんから連絡を頂いたおかげで職場から再起動することにより復旧しました。
しかし、国内サーバ稼働状況のログを見ると、
日中に155台前後の稼動が記録されていますが、01:39現在、139台となっています。
この復旧出来なかったノードのエンドポイント情報(IPアドレスなど)を調べ、
ゲームポート及び管理ポートに対しTCPセッション接続のリクエストを送出すると、
何事も無かったかのように接続出来てしまいます。
(もちろん、この後で認証がありますのでこの先には進めませんが)
ゲームポート及び管理ポートに対しTCPセッション接続のリクエストを送出すると、
何事も無かったかのように接続出来てしまいます。
(もちろん、この後で認証がありますのでこの先には進めませんが)
つまり、間違いなくゲームサーバは稼動しているにも関わらず、
マスターサーバとの接続が回復しないため見えない状態のままになっているサーバが、
数時間が経過した現在でも15台程度存在することになります。
マスターサーバとの接続が回復しないため見えない状態のままになっているサーバが、
数時間が経過した現在でも15台程度存在することになります。
しかもこの現象はほぼ毎日発生しています。
大変残念ながら本格的にGSが本来の姿に戻りつつあります。
大変残念ながら本格的にGSが本来の姿に戻りつつあります。
最近はモノ作りに関する問い合わせが増えているため
参考までに番犬の作り方を簡単に記述いたします。
参考までに番犬の作り方を簡単に記述いたします。
この現象に対応した「最低限」の番犬を作るのは比較的容易です。
趣味の範疇であっても、ちょっとしたシステム開発経験をお持ちの方であれば半日作業だと思います。
趣味の範疇であっても、ちょっとしたシステム開発経験をお持ちの方であれば半日作業だと思います。
但し、この種の機能は誤判定のリスクがあるため、
何重にも不具合事象発生のチェックを行う必要があるでしょう。
何重にも不具合事象発生のチェックを行う必要があるでしょう。
1.プレイヤー数が急激に減少しゼロになった(元からゼロだった場合には、本項は無視)
2.EAマスターサーバに該当ゲームサーバが登録されていない(BattleLogの検索でヒットしない)
本項については一定時間の間隔をおいて、複数回のチェックを行う必要があるでしょう。
本項については一定時間の間隔をおいて、複数回のチェックを行う必要があるでしょう。
3.ゲームポート(and/or)管理ポートへの接続は可能
これらの条件を満たしている場合に、
GSの管理画面へhttpsで接続し再起動指示のパラメータ(たぶんPOST)を送信するだけで完了です。
GSの管理画面へhttpsで接続し再起動指示のパラメータ(たぶんPOST)を送信するだけで完了です。
その後、再起動完了と正常な状態へ復帰したことを確認するため、
上記2.と3.についてチェックすれば完了です。
上記2.と3.についてチェックすれば完了です。
( - )