Gamespy.com->Openspy.net

旧Gamespy.comが何年か前に滅亡したのですが、互換のOpenspy.netが動いてます。

ということで、バイナリでもソースレベルでも”gamespy.com“を”openspy.net“に置換すると関連プログラムは動くことが多いです。まずはLuigi Auriemma氏のgslist(Game Server List)を動かしてみましょうかね。彼のサイトは、

です。ここからgslist.zipをダウンロードします。今はLinuxでmakeします。別記事で立ち上がった直後のDebianなので、まず開発システム(gccやらmakeやら)を入れます。suするかsudoして、

apt install build-essential

zipを展開(解凍ともいふ)して、Makefileのあるディレクトリで、makeします。エラーが出ますので、必要なheaderやらlibraryやらをinstallします。無事

make

でエラーがでなければ、実行形式のgslistができあがりますが、これはgamespy.comベースなので、動きません。文字列gamespy.com->openspy.netの置き換えをしましょうかね。ソースコード(*.cと*.h)のあるディレクトリで、

sed -i.bak 's/gamespy.com/openspy.net/g' *.c *.h

を実行します。ちまちま各ファイルをviとかで開いて文字列の置換をするのは大変なので、sedの力を借りました。これでmakeすると、無事openspy.net版のgslistができました。実行してみましょうかね。昔のゲームでBattleField 2142というのがありましたが、そのサーバーをリストアップしてみましょう。

./glist -n stella
nao@fenix:~/oops$ ./gslist -n stella

Gslist 0.8.11a
by Luigi Auriemma
e-mail: aluigi@autistici.org
web:    aluigi.org

Gamename:    stella
Enctype:     -1
Filter:
Resolving    stella.ms5.openspy.net ... 134.122.16.249:28910
Gamename:    stella
MSgamename:  gslive
MSgamekey:   Xn221z
Random id:   ud~Ih"],
Info query:
Receiving:   . 199 bytes
-----------------------
138.201.117.108   29900
   95.31.234.79   29900
   76.10.178.44   29900
  93.89.131.172   29900
 209.114.176.52   29900
136.243.102.107   29900
   71.135.13.34   29900
216.128.141.114   29901
  118.86.33.178   29900

9 servers found

サーバーは9個見つかりました。これらのサーバーはopenspy.netにハートビートを定期的に送っていますので、openspy.netのサーバーリストで見えているはずです。openspy.netへブラウザでアクセスすると、

左上の”Server List”から

ここのサーバーリスト(右のServer List)をクリックすると、

各サーバーの現状がわかります。”日の丸”付きが一つありますね。(笑)

今回はgslistのソースでgamespy.com->openspy.netの置換をして動かしましたが、バイナリに対してもこの手が使える場合があります。

コメント