« Version0.8.17公開します | トップページ | さて次はなにをやろうか »

2008/05/03

天鳳の牌譜フォーマットの形式

有償のWindows版の天鳳をダウンロードしてプレイしてみた。

なぜか、ただでもプレイできたけど!?体験期間等の設定があるのかな。HPのマニュアル等を読んでみたけれど該当する記述はなかったが……


さて、私としては、対局そのものより、牌譜の取り扱いが気になるところ。

どうも、Windows版はローカルに牌譜が記録される模様です。すばらしいですな。天鳳や東風荘以外でもドンドンこうなってほしいものです。

そこで、早速中身を見てみたが、残念ながら、バイナリファイルだった。
すぐには解析できそうに無かったが、悔しいので調べてみた。

まずは、パケットモニタリングソフトを使って、ネット版の牌譜とローカル版を比較。
その結果、どうも同じ形式らしいということが判明。

ネット版の牌譜を送信しているHTTPのレスポンスヘッダーをしらべたところ、
Content-Encodingにgzipが指定されている。
gzipで圧縮されていることが分かったので、ローカル版のファイルに拡張子gzipをつけて
解凍ツール(lhaplus)に掛けてみたところ、うまく解凍できた。

中からでてきたファイルはどうやらXMLの模様。ちょこっと見た感じだと割りと簡単に解析できそうな雰囲気。


UNタグのn0~n3がプレイヤーのハンドル、danが段、rateがRate、sxが性別
GOタグのTypeが卓種別?
INITタグのseedは良く分からん(供託立直棒などかな)、tenは持ち聴、oyaは親、hai0~h3が牌牌かな?

牌の番号表記はどうやら、
1萬=0~3、2萬=4~7って感じみたいだな。


あとは、ツモと打牌らしいが、何ゆえに、T D U E V F W Gなのかはよく分からんが、おそらく、ID=0のユーザのTがツモの頭文字、Dはドロップの頭文字で、UはT+1、VはT+2、WはT+3って感じなんだろうな。

ほかの情報もあっさり解析できそうだから。東風荘ログ<->天鳳ログの相互コンバートツールならすぐにでも作れそうだけど、既ににだれかチャレンジしてるのでしょうか?私は天鳳関連のBBSとかぜんぜん見ていないので、そういった情報しりません。知っていたら情報ください。できれば自分ではやりたくないってのが本音です。

ちょっと、気になるのが、バージョンが2.3というところ。
つまり、結構頻繁にフォーマットを変えているということなのかな。


<mjloggm ver="2.3">
<GO type="1" />
<UN n0="名前のため消去" n1="名前のため消去" n2="%6B%6D%6F%32" n3="名前のため消去" dan="11,0,1,8" rate="1616,1500,1519,1328" sx="M,M,M,M" />
<TAIKYOKU oya="0" />
<INIT seed="0,0,0,2,4,62" ten="250,250,250,250" oya="0" hai0="28,0,25,22,110,40,1,50,2,104,23,64,120" hai1="27,7,122,11,91,126,95,87,121,16,100,26,82" hai2="105,17,80,92,3,115,112,53,37,127,90,55,113" hai3="134,98,86,109,54,68,21,119,12,41,46,5,19" />
<T42 /> <D120 /> <U74 /> <E74 /> <V66 /> <F127 /> <W77 /> <G119 /> <T81 />
<D104 /> <U72 /> <E72 /> <V123 /> <F123 /> <W96 /> <G5 /> <T57 /> <D81 />
<U88 /> <E126 /> <V132 /> <F105 /> <W20 /> <G109 /> <T94 /> <D94 /> <U93 />
<E100 /> <V129 /> <F129 /> <W33 /> <G134 /> <T38 /> <D38 /> <U58 /> <E82 />
<V84 /> <F132 /> <W106 /> <G33 /> <T125 /> <D125 /> <U79 /> <E79 /> <V10 />
<F37 /> <W116 /> <G116 /> <T83 /> <D83 /> <U114 /> <E114 /> <V124 /> <F124 />
<W117 /> <G117 /> <T30 /> <D110 /> <U18 /> <E27 /> <V69 />
<F80 /> <W15 /> <G106 /> <T99 /> <D99 /> <U9 /> <E122 />
<V8 /> <F8 /> <N who="1" m="3145" /> <E121 /> <V78 /> <F78 />
<W128 /> <G128 /> <T6 /> <D6 /> <U76 /> <E7 /> <V63 />
<REACH who="2" step="1" /> <F17 /> <REACH who="2" step="2" /> <N who="1" m="6761" />
<E76 /> <V24 /> <F24 /> <W65 /> <G65 /> <T73 /> <D73 />
<U70 /> <E26 /> <V75 /> <F75 /> <W97 /> <G97 /> <T101 />
<D101 /> <U71 /> <E58 /> <V47 /> <F47 /> <W85 /> <G85 />
<T48 /> <D48 /> <U45 /> <E45 /> <V44 /> <F44 /> <W51 />
<G51 /> <T13 /> <D13 /> <U52 /> <E91 /> <V43 /> <F43 />
<W32 />
<G32 />
<T89 />
<D89 />
<U34 />
<E34 />
<V118 />
<F118 />
<W107 />
<G107 />
<T108 />
<D108 />
<U60 />
<E88 />
<V131 />
<F131 />
<W102 />
<G102 />
<T4 />
<D4 />
<AGARI ba="0,1" hai="3,4,10,53,55,63,66,69,84,90,92,112,113,115" machi="4" ten="40,2600,0" yaku="1,1,52,1,53,0" doraHai="62" doraHaiUra="14" who="2" fromWho="0" sc="250,-26,250,0,240,36,250,0" />

以下省略

|

« Version0.8.17公開します | トップページ | さて次はなにをやろうか »

コメント

ID入力画面のところにちっちゃい字で以下の記述があります。

>2008/04/21に有料版利用期間14日分の補償を実施しました

サーバ落ちが何度があったようなので、そのお詫びということでしょうか。

投稿: non | 2008/05/04 01:41

「2008/04/21に有料版利用期間14日分の補償を実施しました」
おや、本当だ。こんなど真ん中に書いてあって見落とすとは……

しかし、料金払ってないひとにも保障するとは、太っ腹ですな。
おかけで良いデータがとれましたが。

投稿: kmo2 | 2008/05/04 01:47

おお、ファイルフォーマットを明らかにされたとはさすがですね。
私など手も足も出ませんでした。

ファイルフォーマットについて検索かけたりは何回もしてますが、情報は得られていません。チャレンジしている人は少ないのでしょうかね。

補償が無料版ユーザにも行われていたとは。実はバグだったりしてw

投稿: 我打麻将 | 2008/05/05 17:38

はじめまして。
windows版ならメニュー→牌譜解析スクリプト→牌譜内容の表示→すべての牌譜をファイルに保存でmjscoreっぽい形式に変換されませんか?

投稿: フサ | 2008/05/05 22:04

>フサ さん

変換されますね。ですから、ローカルに蓄積された牌譜を解析するなんてのは無意味ですな。

私が、本当にやりたいのは、Windows版でダウンロードされたログファイルのコンバートではなくて、無償版でもローカルにファイルに蓄積できるようにするツールを着くこととか、観戦データをオートマチックに牌譜にしたいってことです。

ま、仮に作ったとしても公開しませんけど。

投稿: kmo2 | 2008/05/05 22:30

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 天鳳の牌譜フォーマットの形式:

« Version0.8.17公開します | トップページ | さて次はなにをやろうか »