ラベル Game の投稿を表示しています。 すべての投稿を表示
ラベル Game の投稿を表示しています。 すべての投稿を表示

2010年1月7日木曜日

ロシア版ポトリスのハッシュ値等

自分がダウンロードしたゲームクライアントのサイズやハッシュ値を調べて署名してみました。検証用。

ロシア版ポトリス公式ダウンロードリンク
http://files.fortress2.ru/fotress2_v1.0.1_installer.exe


遅い場合はこちらなら早いかも。
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Filename: fotress2_v1.0.1_installer.exe
Size: 41977670
MD5sum: 2b2ce63753ea5f54ca5d10a4a475afe9
SHA1: f40b35bc0fe8366474b90d7975153dc7703e890b
SHA256: 8db84baede244bd5329a24738fcc8dba90c0c4c1e3682d7ca4dac9096032cbf1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAktEsJsACgkQZaieldfhGSv2xwCeN+uVXDQOSzufWWVd9kEWyKkq
bzwAoIT3rflHNneFhIA0etTrJY0ucCYY
=FM0T
-----END PGP SIGNATURE-----

以下は以前に書いたポトリスに関する記事です。

ロシアでポトリス
ロシアでポトリス2
Wineでロシアでポトリス
ロシア版ポトリスのDLが遅い原因
 

2009年11月29日日曜日

ロシア版ポトリスのDLが遅い原因

ゲームクライアントのダウンロードが遅いのはDNSラウンドロビン経由で応答のないサーバーにアクセスしてしまっているためだと分かりました。その調査レビューです。

結論から書くとこちらですぐにダウンロードできる! ※できなくなってるかもしれません


ことの発端

公式からダウンロードしようとすると異常に遅い!公式自体も落ちていることがあるみたい。

ダウンロードリンク -- ロシア版ポトリス公式
http://files.fortress2.ru/fotress2_v1.0.1_installer.exe

普通にゲームクライアントをダウンロードできるときもあるのですがリンクをクリックしてからダウンロードが始まるまで30分待たされたり、"Bad Request (Invalid Hostname)"と表示されたり挙動がまちまち…近くて遠い国、ロシアだからかなぁ?などと漠然と考えていたのですがもう少し具体的に調べてみました。


7IPへのDNSラウンドロビン

files.fortress2.ruのDNSレコードを取得してみる。
$ dig files.fortress2.ru
...
;; ANSWER SECTION:
files.fortress2.ru. 30804 IN A 92.241.170.96
files.fortress2.ru. 30804 IN A 92.241.170.101
files.fortress2.ru. 30804 IN A 92.241.170.104
files.fortress2.ru. 30804 IN A 81.177.139.5
files.fortress2.ru. 30804 IN A 81.177.139.22
files.fortress2.ru. 30804 IN A 81.177.139.23
files.fortress2.ru. 30804 IN A 92.241.170.90
...
7つのIPアドレスにDNSラウンドロビンされてることが分かった!負荷分散のためでしょうか。


正常なホストは1つだけ

この7つのIPアドレスのホストが正常にWEBサーバーとして動作してるか調べてみる。
$ nmap -PN -p T:80 92.241.170.96 92.241.170.101 92.241.170.104 81.177.139.5 81.177.139.22 81.177.139.23 92.241.170.90

Starting Nmap 5.00 ( http://nmap.org ) at 2009-11-29 22:24 JST
Interesting ports on 92.241.170.96:
PORT STATE SERVICE
80/tcp filtered http

Interesting ports on 92.241.170.101:
PORT STATE SERVICE
80/tcp filtered http

Interesting ports on 92.241.170.104:
PORT STATE SERVICE
80/tcp filtered http

Interesting ports on 81.177.139.5:
PORT STATE SERVICE
80/tcp open http

Interesting ports on 81.177.139.22:
PORT STATE SERVICE
80/tcp open http

Interesting ports on 81.177.139.23:
PORT STATE SERVICE
80/tcp filtered http

Interesting ports on 92.241.170.90:
PORT STATE SERVICE
80/tcp filtered http

Nmap done: 7 IP addresses (7 hosts up) scanned in 3.11 seconds
TCP80番ポートがopenなホスト=正常にWEBサーバーとして動作してるホストは、7つのうち2つ、81.177.139.5と81.177.139.22だけ!しかも、後者は"Bad Request (Invalid Hostname)"が返ってきてゲームクラアントのダウンロードができない状態でした。

つまり、正常なホストは1つだけでした。


まとめ

ホスト名"files.fortress2.ru"は7つのIPアドレスにDNSラウンドロビンされているが、そのうち1つのIPアドレス(81.177.139.5)のホストだけしか正常に動作してない、ということのようです。正常に動作してないホストのIPアドレスがWEBブラウザーにキャッシュされて困ってたみたい。

早い話が下のURLからならゲームクライアントのダウンロードがすぐに始まる。
※ダウンロードできなくなっているかもしれません

http://81.177.139.5/fotress2_v1.0.1_installer.exe

4game.ruの管理人さん、対応してくれ!…とロシア語でお願いできれば良いのだけれど。以前、別件でinfo@4game.ruに問い合わメールを送ったんですがリジェクトされました(gmailから送った)。文面は英語で書いたのだけどスパム扱いされたのだろうか…ロシアとロシア語に明るい方いらっしゃれば、ぜひ公式に問い合わせてみて頂けないでしょうか。


参考リンク

チープなDNSラウンドロビンは高価なロードバランサの座を奪い返せるか -- CNET Japan
http://japan.cnet.com/blog/neta/2006/08/10/dns_ecfc/

記事の趣旨は本件と異なるのですが参考になりました。

DNSラウンドロビン -- ウィキペディア(日本)
http://ja.wikipedia.org/wiki/DNS%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E3%83%AD%E3%83%93%E3%83%B3

負荷分散に使われる技術らしい。でも色々と問題点もあるみたい。


環境

OS: Linux
debian-lenny
dig-9.5.1-P3
nmap-5.00 (公式ソースmake)


以下は以前に書いたポトリスに関する記事です。

ロシアでポトリス
ロシアでポトリス2
Wineでロシアでポトリス
 

2009年10月4日日曜日

Wineでロシアでポトリス

Wineを使いLinux上でロシア版ポトリスを動かしてみたレビューです。
ロシア語を文字化けなく綺麗に表示できた!





その他のスクリーンショット


戦車で交互に撃ち合う2Dネットゲーム「ポトリス」。日本やアメリカ等で遊べたんですが、現在、日本人がプレイできるのはロシア版のポトリスだけのようです。Linux上で動かすためにVMwareを使ってたんですが、Wineでより軽く速く動かすことができるようになった!ありがとうWine開発者。

Linux上でロシア語のロケールを設定するとWine内部で自動的にポトリスのロケールも適切なもの(CP1251)を選んでくれるようで、ロシア語(キリル文字)を文字化けなく綺麗に表示できます。日本語ロケールを選べば日本語表示&入力もできます。

公式のAppDBに登録しておきました。

WineHQ - Fortress2 Blue Forever 1.0.1
http://appdb.winehq.org/objectManager.php?sClass=version&iId=17995


以下、ロシア版ポトリスをWineで動かすための詳しい手順です。


Wineでロシア版ポトリスを動かす手順
  • 1. Wineのインストール

  • 2. オーディオの設定

  • 3. フォントの設定

  • 4. ロシア語ロケールの設定

  • 5. ロシア版ポトリスのインストール

  • 6. ロシア版ポトリスの実行

  • (7. 動作安定化: レジストリーの編集)

  • (8. MIDIの設定: DLLのオーバーライド等)


1. Wineのインストール

公式で開発版のwine-1.1.30をダウンロードしてmake、インストールしました。
特に必要となるようなconfigureオプションはありませんでした。
安定版(1.0.1)では動作しませんでした。

※wine-1.1.31〜wine-1.1.36でも動きました [2010-01-09]


2. オーディオの設定

ALSAで音が鳴るように設定します。

以下実行したコマンドです。
$ winecfg
"Audio"タブを選択。



ダイアローグがポップアップ。OK"を押す。
過去に設定済みの場合はこのダイアログは出ない。



自分の環境では何もしなくても、この時点で自動的に以下のように設定された。





3. フォントの設定

ロシア語の表示にはlucon.ttf、日本語の表示にはmsgothic.ttcがいい感じです。
「$HOME/.wine/drive_c/windows/Fonts」以下にコピーまたはシンボリックリンクを作成。
※自分が持っているWindowsXPのフォントフォルダーから持ってきました。ライセンス違反かも?

以下実行したコマンドです。
$ cd $HOME/.wine/drive_c/windows/Fonts
$ ln -s $SOMEWHERE/lucon.ttf
$ ln -s $SOMEWHERE/msgothic.ttc

4. ロシア語ロケールの設定

ロシア語ロケール「ru_RU.UTF-8」を使えるようにします。/etc/locale.genを編集。「# ru_RU.UTF-8 UTF-8」のコメントを外しました。

※ロシア版ポトリス内部ではCP1251を使っているようです。SCIMでの入力のためにru_RU.CP1251でなくUTF-8を選びました。ru_RU.UTF-8の替わりにru_RU.CP1251でもru_RU.KOI8-Rでもロシア語を表示できました。Wineが自動的にCP1251に合わせてくれてる?

以下、その後に実行したコマンドです。
# locale-gen
Generating locales (this might take a while)...
(中略)
ru_RU.UTF-8... done
(中略)
done
Generation complete.

5. ロシア版ポトリスのインストール

公式からダウンロードしてきてWineで実行しました。

以下実行したコマンドです。
$ LANG=ru_RU.UTF-8 wine fotress2_v1.0.1_installer.exe
Далее = Next、Отмена = Cancel



ライセンスに同意=上にチェックを入れてNextを押す。



インストール最後の画面。2つのチェックは外す。チェックしたままでも問題なくインストールは終わるがエラーダイアログが出る。



※翻訳してみた
Запустить Fortress2 Blue Forever
→ Run Fortress2 Blue Forever: インストーラー終了後ポトリスを起動する
Домашняя страница Fortress2 Blue Forever
→ Home Fortress2 Blue Forever: 公式webサイトをブラウザーで開く
Зарегистрироваться в игре Fortress2 Blue Forever
→ Sign in game Fortress2 Blue Forever: ログインアカウントを作成するサイトをブラウザーで開く



6. ロシア版ポトリスの実行

以下実行したコマンドです。
$ cd $HOME/.wine/drive_c/Program\ Files/Innova/Fortress2
$ LANG=ru_RU.UTF-8 wine GAME.exe
パッチサーバーに接続、ログインするサーバーを選択したのちログイン画面に到達します。
後はアカウントとパスワードを入力するだけ!アカウントの取得方法はこちらのサイトが参考になりました。



以上でロシア版ポトリスが動きました!


(7. 動作安定化: レジストリーの編集)

手順1-6まででとりあえずロシア版ポトリスを起動できますが、自分の環境では安定動作しませんでした。
起動してしばらくたつと以下のエラーが連続して表示され画面の描画が止まってしまう…
fixme:d3d:stretch_rect_fbo >>>>>>>>>>>>>>>>> GL_INVALID_FRAMEBUFFER_OPERATION (0x506) from glBlitFramebuffer() @ device.c / 6434
レジストリーを編集することで解決しました。
以下の2行のテキストファイル「pbuffer.reg」を適当な場所に作成します。
[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"OffScreenRenderingMode"="pbuffer"
以下、その後に実行したコマンドです。
$ wine regedit pbuffer.reg
以上で安定動作するようになりました。


(8. MIDIの設定: DLLのオーバーライド等)

手順1-7までで安定動作しますが、MIDIのBGMが鳴りませんでした。音が鳴るのは効果音だけ。
DLLのオーバーライドとgm.dlsのコピーが必要でした。
※普段ミュージックOFFにしてポトリスする人にはこの設定が必要ないと思います。

1) ダウンロード

「DirectX 9.0c」に必要なDLL等が含まれています。
マイクロソフト公式から「DirectX 9.0c Redistributable」を探してダウンロードします。

2) DLLとgm.dlsのコピー
ダウンロードした「DirectX 9.0c Redistributable」を解凍してDLL等をコピーします。
解凍にはcabextractが使えました。

以下実行したコマンドです。
$ cabextract directx_9c_redist.exe -d /tmp/directx_9c_redist
$ cabextract /tmp/directx_9c_redist/DirectX.cab -d /tmp/DirectX

$ cd $HOME/.wine/drive_c/windows/system32
$ cp /tmp/DirectX/dm{band,ime,loader,synth,usic,style}.dll ./
$ cd drivers
$ cp /tmp/DirectX/gm16.dls ./gm.dls
※「gm16.dls」は「gm.dls」へリネームが必要

3) DLLのオーバーライド
以下実行したコマンドです。
$ winecfg
"Libraries"タブを開く。



6つのDLLをAddする。



以上でMIDIのBGMが鳴りました。

※wine-1.1.33以降はデフォルトで6つのDLL(dmband.dll, dmime.dll, dmloader.dll, dmstyle.dll, dmsynth.dll and dmusic.dll)を持っていますが、これらデフォルトbuilt-inのDLLではMIDIのBGMが鳴りませんでした。上記の方法と同様にして6つのDLLを入れ替える必要がありました。 [2009-12-20]

※wine-1.1.33以降、BGMをOFFにしていても6つのDLLをオーバーライドしないと"error:dsound:DSOUND_MixOne Fatal error. ..."が断続的に表示された後、"wine: Assertion failed at address ..."と表示されWineが止まることがありました。wine-1.1.33以降のビルトインDLLがエンバグしてる?とりあえず、6つのDLLを上記方法で入れ替えオーバーライドすると落ちなくなりました。 [2009-12-05]


まとめ

Linuxネイティアプリかのようにポトリスが動いて感動!W:ETとポトリスが主力になりそうです。
ロシア語が読み書きできるようになった!ロシア人ルームで「Привет(こんにちわ)」とコピペしたらbanされずロシア人と一緒に遊べました。ポトリス内掲示板の翻訳とかもできそう。挑戦してみたいと思います。


参考リンク

Wine公式
http://www.winehq.org/


Wine AppDB
http://appdb.winehq.org/

Wineで動くアプリケーションやその動かし方の情報が蓄積されてます。

ロシア版ポトリス公式
http://www.fortress2.ru/


ロシア版手順 -- ポトリス博物館
http://www.potohaku.com/russian/

アカウント取得方法等を解説されてます。

Wine上でMSGSの音を鳴らす -- 試験運用中なLinux備忘録
http://d.hatena.ne.jp/kakurasan/20080331/p1

MIDIを鳴らすための設定に関し参考にさせて頂きました。


環境

OS: Linux
debian-lenny (i386)
wine-1.1.30 (公式ソースmake)
wine-1.1.36 (公式ソースmake) ※更新しました [2010-01-09]
VGA: GeForce 9600GT
VGA driver: NVIDIA-Linux-x86-177.82-pkg1.run (公式バイナリー)
VGA driver: NVIDIA-Linux-x86-180.44-pkg1.run (公式バイナリー) ※更新しました [2009-10-24]


以下は以前に書いたポトリスに関する記事です。

ロシアでポトリス
ロシアでポトリス2
 

2009年2月15日日曜日

ロシアでポトリス2

レアタンク100%

日本時間 2月15日 21:00 頃、ランダムタンクを選ぶと
100%レアタンクになってしまうようになっていました。
なんじゃこりゃー!






ランダムタンクを選んだ場合のみレアタンクになるみたいです。
レアタンクの前には他のタンクなぞ紙も同然!


 

その後、ステージが変わっても、何度もレアタンク100%は続きました。



  

火力が戦場を支配する!
敵・味方の死体が増えるにつれホーミングを当てづらくなります。


ロシアサーバーの不具合でしょうか?
公式を見てもイベントのニュースはなかったみたい。
22:00頃に他の部屋へも行ってみたんですが状況は同じだったみたいです。
謎は深まるばかり…


こちらは以前書いたロシアポトリスの記事です。

 

2009年2月13日金曜日

ロシアでポトリス

戦車で交互に撃ち合う2Dネットゲーム「ポトリス」。
軽い暇つぶしのつもりが完徹…そんな中毒性のある楽しいゲームなのですが、
残念なことに、昨年、日本や米国でサービスが終わってしまいました…
しかし、ロシアでならできるぜ!という話を聞きつけ実際やってきてみたレビューです。




アカウントの取得とゲームのダウンロード

こちらを参考にアカウントを作成しました。
ゲームのダウンロードはこちら。近くて遠い国、ロシアなのでダウンロードが始まるまで遅いことがままあります…約40MBのダウンロード。

こちらならもう少し早いかも。


起動直後 言語
 
デフォルトでwindowモードになってます。少し便利。 当然ながらロシア語です。


部屋の作成



部屋をつくって人を待ってみる。
ロシア語が日本の環境では化けて見づらいことこの上なし。 ※ロシア語を綺麗に表示する方法を見つけました [2009-10-04]
レアボス部屋にすると、結構、日本の方が来てくれる気がします…
日本、米国、中国や韓国から来てる方も多いみたい。というか確実に露人より多い!

※現在、日本人9割以上、ロシア人1割以下の人口比になっているようです。一時期から日・露人しか見なくなったような… 噂ですが、中国では個人が立てたエミュ鯖が人気だとか。日本時間で21〜01時帯に人が多いと思います。 [2009-11-23]


試合中



人が集まった!れっつぷれい。
王かつレアタンク、まさに集中砲火されるために産まれてきたような存在。



逆さ喰らいました;;


仮想化環境



vmware上でWindowsと露ポトを動かしています。
むろん、普通にWindowsでも動くと思いますが未確認…


参考リンク

ロシアポトリス公式
http://www.fortress2.ru/

ロシア語!キリル文字!!読めなーい!!!

ロシア版手順 -- ポトリス博物館
http://www.potohaku.com/russian/

露ポトのアカウント取得方法等を解説されてます。
ロシア語が読めなくてもよく分かる!ありがたいです。


環境

OS: Linux
debian-lenny (i386)
vmplayer-2.5.1
GUEST OS: Windows XP Pro
 

2008年12月15日月曜日

W:ETでALSAが使える!

OSを選ばず動作するマルチプラットフォームかつフリーなFPSゲーム
Wolfenstein: Enemy Territory (通称W:ET、ET)についての記事です。




公開されたのが5年前にもかかわらず国内サーバーも常時立っており
人気FPSゲームといっても過言ではないでしょう。
要求スペックが低く軽いが本格的。実際やってみるとかなり楽しい!
Windows、Linuxで動作しフリーです。未体験の方はぜひ試してみてください。

ただ、ALSAに対応しておらずLinux上で動かそうとするとサウンドデバイスを
占有され、他の音声ソフトから音がでなくなる問題があり困っていました。

debian-wikiを流し読みしてると、たまたまソリューションを発見。
下のサイトで公開されているet-sdl-soundを使うことで解決できます。

et-sdl-sound
http://nullkey.ath.cx/~stuff/et-sdl-sound/



et-sdl-soundでET起動



実際にプレイしてる場面のスクリーンショットです。
Xfmediaで音声ファイルを再生しながらETができるう!
peercastで他のゲーム配信も同時に視聴してたりもします。

これまで音楽を聴きながらETすることはなかったのだけど、
やってみると足音等の小さい音が聞こえ辛くなって逆に耳が塞がれた気分になりました。
ともあれALSA経由で音が出る!リスポン待ちの空き時間を潰せて楽しいです。


et-sdl-soundの使い方

1. 配布サイトからet-sdl-sound.gzを頂いてきます

2. 解凍して実行できるようにします

$ gzip -d et-sdl-sound.gz
$ ls -l
-rw-r--r-- 1 user user 117995 Dec 15 00:00 et-sdl-sound
$ chmod 755 et-sdl-sound
$ ls -l
-rwxr-xr-x 1 user user 117995 Dec 15 00:00 et-sdl-sound

3. 実行します

$ ./et-sdl-sound


et-sdl-soundの詳細その他

et-sdl-soundの中身はシェルスクリプトです。
/tmp以下にALSAを使えるように改造したlibsdl.soを展開して
LD_PRELOADに指定した上でETを実行します。

/opt、/usr以下をfindコマンドを使ってETの実行ファイル(et.x86)を
探して実行します。
なので、変な場所にETをインストールしてるとfindに時間がかかり、起動が遅くなります。

時間がかかりすぎる場合はet-sdl-soundを編集して起動方法を変えます。
1. 26行目のコメントアウトを解除しETのpathを直接指定
2. 37行目のfind設定を"no"に変更

例えば/usr/local/package/etにETをインストールしている場合、
編集したあとのet-sdl-soundの該当部分は以下のようになります。

# You can set this in GAME_PATH environment variable
GAME_PATH="/usr/local/package/et"
...
# Use 'find' if can't locate the game or libSDL otherwise
USE_FIND="no"


ソースコードも配布されています。libsdlのヘッダーがあればmakeできます。


環境

OS: Linux
debian-lenny(i386)
et-2.60b
 

2008年4月29日火曜日