Dota 2 Game State Integrationで遊んでみよう #2 準備編
Game State Integration(GSI)とはどのようなものなのか、どんなことが可能なのかについては#1をご覧ください。
この記事では、Node.jsとdota2-gsiを使用することにしました。
始めるために
前提として、Node.jsとnpmがインストールされている必要があります。
steamapps\common\dota 2 beta\game\dota\cfg\
にgamestate_integration
フォルダを作り、そのフォルダ内にgamestate_integration_*.cfg
ファイル(*は任意の名前で置き換える)を以下の内容で作成する。"dota2-gsi Configuration" { "uri" "http://localhost:3000/" "timeout" "5.0" "buffer" "0.1" "throttle" "0.1" "heartbeat" "30.0" "data" { "provider" "1" "map" "1" "player" "1" "hero" "1" "abilities" "1" "items" "1" } "auth" { "token" "hello1234" } }
- 認証を必要としない場合
"auth" { ... }
を削除する必要がある。 - 認証を必要とする場合、tokenを書き換えることを忘れないこと
"url"
はGSIデータを受信するサーバーのアドレスで、異なるマシンでもリモートネットワーク上のマシンでも良い(Raspberry Piで動作確認済み)
- 認証を必要としない場合
npm install dota2-gsi
で必要なライブラリをインストールする(任意) 動作を確認する。以下のスクリプトでGSIを受信するサーバーを実行し、Demo heroを開始し、
client connected
と表示されれば、正常に動作していることが確認できる"use strict" let d2gsi = require('dota2-gsi'); let server = new d2gsi({ // uncomment and modify if you use any port other than 3000 // port: 3000, // uncomment and modify if you use token(s) and authentication // tokens: 'hello1234' }); server.events.on('newclient', function(client) { console.log('client connected'); });
- Raspberry Piを用いて動作確認をした例:
- Raspberry Piを用いて動作確認をした例:
注意事項
- cfgファイルを書き換えた場合、変更を反映するには再起動する必要がある。
次の記事では、Dota 2 GSIを使って実際に私が作ったものを紹介したいと思います。