旧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の置換をして動かしましたが、バイナリに対してもこの手が使える場合があります。
コメント