キモブロ

Please spy check please, Fucking retard

SourceEngineのDEMO Fileについて

DEMファイルのフォーマットとパーサーの作り方についてはValveが仕様を公開しててこのページがそう。前にDEMファイルのパーサーをC++で書いたことがあるんだけど、サーバー探したんだけど見つからなかった。どこかにあると思うんだけど。。
https://developer.valvesoftware.com/wiki/DEM_Format

このページを読む感じだと、DEMファイルにはSteamIDに類するものは無さそうな感じがする。単なるクライアントのユーザー名は記録されてるっぽい。


一応SourceSDKだかを入れるとdemoinfoコマンドってのがあってそれ使うとたしかdemoファイルの情報がみれたはず。。CS:GOの場合はわからないですが、おそらくCS:GO Authoring Tools的なのをインストールするとどこかのbinフォルダにdemoinfo.exeがあるんじゃないかなぁと推測。


DEMにはたしかそのユーザーが試合中に使ったcvar/commandが記録されてて、先ほどのページにあるdem_consolecmdっていう種別のDataチャンクに入ってた記憶。あとは視点の動きとかプレイヤーの座標に関する情報がダーッと入ってたイメージ。


Dota2のDEMファイル(replay?)のパーサーは有志が作成中みたい。これが流用できるかも?ただしCS:GOよりもDota2のほうがEngineのバージョンが上なので使えない可能性あり(Google Protocol Buffer使ってるのか)
https://developer.valvesoftware.com/wiki/Dota_2_Demo_Format
https://github.com/cursedcoder/dota2-demostats

かれらはdemoファイル内からsayコマンドとその引数を抽出して、試合中に発せられたチャットを検索できるようにしよう、みたいなことしてるっぽい。いいっすねぇ。