F1 2017 Nekometry v1.4.0

F1 2017 Nekometryをv1.4.0に更新しました。

旧バージョンをお使いの方は、readmeの構成変更の部分をお読みください。

F1 2017 Nekometry v1.4.0

 

--------------------------------------------------------------------------------
F1 2017 Nekometry v1.4.0 2018/01/14

Author: NekoDisc
 http://nekodisc.net
--------------------------------------------------------------------------------

■概要

F1 2017のテレメトリデータを使ってブラウザでいろいろ表示するツールです。
 このツールの本体はPHPで作られています。

■更新内容■

v1.4.0

--- 構成変更 ---
 1.daemon/config.phpに新しい項目が追加されました。

インストール手順「5. F1 2017 Nekometryの初期設定」に従って、config.phpの設定をやり直してください。

--- 機能変更 ---

1.RS DASHなどへのデータ送信安定化のため、テレメトリデータの中継をねこめとりから分離しました。
 2.ねこめとりが何らかのエラーで異常終了した際に、自動的に再起動を試みるようになりました。
 3.ドライバー略称の自動同期を3回までリトライするようにしました。
 4.ドライバー略称の手動再同期を実装しました。
 5.テレメトリデータ再生(11nplayer.bat)の再生速度をHz指定から倍率指定に変更しました。

--- 修正 ---

1.ドライバー略称の自動同期時の通信エラーを無視するように修正しました。
 2.コース上にいないクルマがTrack Positionに表示され続ける問題を修正しました。
 3.キャリアモードではドライバー略称の自動同期を行わないように修正しました。
 4.テレメトリデータ再生の精度を上げました。

■インストール手順

1. Windows用PHPをダウンロード

http://windows.php.net/download/から、Windows用のPHPをダウンロードします。
 64bit版Windowsの人はx64 Thread Safeを、32bit版Windowsの人はx86 Thread Safeのzipをダウンロードしてください。

2. Windows用PHPをインストール

1.でダウンロードしたzipを任意の場所に展開します。
 以下では、"D:\php"に展開したものとして説明します。

3. "D:\php\php.ini"の作成と設定変更

"D:\php\php.ini-production"をコピーして"D:\php\php.ini"を作成してください。
 "D:\php\php.ini"をテキストエディタで編集します。
 以下の3行を検索し、先頭の";"を消去してください。
 ; extension_dir = "ext"
 ;extension=php_shmop.dll
 ;extension=php_sockets.dll

4. F1 2017 Nekometryをインストール

F1-2017Nekometry_v010400.zipの中にあるF1-2017Nekometryフォルダを任意の場所に展開します。
 以下では、"D:\F1-2017Nekometry"に展開したものとして説明します。

5. F1 2017 Nekometryの初期設定

これは、初めてF1 2017 Nekometryを使う方に必要な手順です。
 
 5.1 デフォルト設定ファイルをコピー

"D:\F1-2017Nekometry\daemon\sample"のconfig.php、relay.php、driver_custom.phpを"D:\F1-2017Nekometry\daemon"にコピーしてください。
 
 5.2 "D:\F1-2017Nekometry\daemon\config.php"の設定変更

2行目: 自分のドライバー名を設定します。
 YOUを自分のドライバーに使いたい3文字の略称に変更してください。
 Playerの部分は未使用です。変更しても何も起こりません。

3行目: F1 2017 Nekometryを実行するPCのIPアドレスを設定します。
 F1 2017とは別のPCでこのツールを実行する場合に変更してください。

4行目: テレメトリデータを受信するポートを設定します。
 通常は変更する必要はありません。

5行目: 受信した生テレメトリデータを保存するかどうかを設定します。
 TRUE: 保存する/FALSE 保存しない(デフォルト)
 生テレメトリデータの保存先は"D:\F1-2017Nekometry\daemon\data"になります。

6行目: phpコマンドの場所を設定します。
 2.でPHPを"D:\php"にインストールした場合は"D:\php\php.exe"となります。

5.3 "D:\F1-2017Nekometry\daemon\relay.php"の設定変更

このファイルでは、RS-Dashなどのスマホアプリも同時に使いたい場合に、テレメトリデータ中継の設定をします。
 4行目先頭の//を消去し、192.168.1.10をスマホなどのIPアドレスに、20777をRS-Dashなどのポートに変更してください。
 複数の機器に中継したい場合は、4行目をコピーして追加してください。

設定例:テレメトリデータを192.168.1.10:20777と192.168.1.11:20777に中継する
 <?php
 global $relayList ;
 $relayList = array(
 array( 'ip' => '192.168.1.10', 'port' => 20777 ),
 array( 'ip' => '192.168.1.11', 'port' => 20777 ),
 ) ;
 ?>

5.4 "D:\F1-2017Nekometry\00env.bat"の設定変更

"D:\F1-2017Nekometry\00env.bat.sample"をコピーして"D:\F1-2017Nekometry\00env.bat"を作ってください。
 2行目の"D:\php"を2.でPHPをインストールしたフォルダに変更してください。

■使用方法

1. HTTPサーバを起動

"D:\F1-2017Nekometry\01server.bat"を実行してください。
 開いたウィンドウはそのままにしておいてください。

2. F1 2017 Nekometryを起動

2.1か2.2のどちらかを選択して起動します。

2.1. 通常起動の場合

"D:\F1-2017Nekometry\02nekometry.bat"を実行してください。
 開いたウィンドウはそのままにしておいてください。

2.2. セッション中セーブから再開する場合

キャリアのセッション中セーブからの再開時に使います。
 "D:\F1-2017Nekometry\03resume.bat"を実行し、"D:\F1-2017Nekometry/daemon/data"にセーブしておいた.savファイルをドラッグ&ドロップで指定してください。
 開いたウィンドウはそのままにしておいてください。

3. F1 2017 Nekometryをブラウザで表示
 
 ブラウザで"http://localhost/"にアクセスしてください。
 別PCのブラウザで見たい場合は、localhostをF1 2017 Nekometryが動いているPCのIPアドレスに置き換えてください。

4. F1 2017を起動

走りましょう。

Ex1. ドライバーの略称を変更
 
 オンライン用にドライバーの略称を変更できます。

Ex1.1. ブラウザ画面下部の"Driver Settingsをクリックし、設定画面を開いてください。
 Ex1.2. 設定画面で略称を自由に編集してください。
 Ex1.3. 上部のUse Customにチェックを入れてSaveボタンを押してください。
 Ex1.3.1
 Ch(1-99)を設定すると、同チャンネルで走行している人の名前をセッション開始時に自動で同期します。
 自動同期データは、http://nekodisc.net/F1-2017Nekometry/sync/dregister.phpで手動登録することもできます。
 自動同期データは、最後の登録から2時間後に新たな登録があるとリセットされます。

Ex1.4. 編集したドライバー名を破棄してデフォルトに戻したい場合は、Resetにチェックを入れてSaveボタンを押してください。

Ex2. 生テレメトリデータの保存と再生

"D:\F1-2017Nekometry\daemon\config.php"の設定で保存された生テレメトリデータを使って、後でテレメトリデータを最初から再生することが出来ます。

Ex2.1."D:\F1-2017Nekometry\11nplayer.bat"を実行してください。
 Ex2.2.再生するデータをドラッグ&ドロップで指定してください。
 EX2.3.データの再生速度倍率を指定してください。

■終了方法

1. F1 2017 Nekometryを終了

ブラウザ画面下部の"Stop Nekometry"をクリックしてください。
 F1 2017 Nekometryのウィンドウでセッションデータのセーブ確認が行われます。

キャリアのセッション中に中断を行う場合、yを入力してセッションデータをセーブしてください。
 セッションデータは、"D:\F1-2017Nekometry\daemon\data"に.savファイルとして保存されます。

2. HTTPサーバを終了

HTTPサーバのウィンドウを閉じてください。

■特記事項

・走行中に表示が更新されなくなった場合は、ほぼF1 2017 Nekometryでエラーが起きて終了しています。
 ごめんなさい、それはたぶんバグのせいです。

・フラッシュバックを使用するとデータがおかしくなるでしょう。ややこしいので今のところ対応予定はありません。

・ゲームから送られてくるタイムデータがとても不安定なため、最高速度には誤差があります。
 ときどき計測に失敗することもあります。

■履歴

2017/11/06 v1.0.0

初公開

2017/11/06 v1.0.1

プレイヤー名の重複定義を修正

2017/11/09 v1.1.0

ウェットタイヤの色を明るめに変更
 オンラインレース:フリー走行でのTrack Position表示の不具合修正
 フリー走行でのGap表示の不具合を修正
 燃料消費の計算を変更
 レース時の総合タイム表示からフォーメーションラップを除外するように修正
 キャリアのセッション中断セーブに対応

2017/11/09 v1.1.1

致命的な不具合を修正

2017/11/09 v1.1.2

燃料計算の不具合を修正

2017/11/19 v1.2.0

スピードトラップの最高速表示を実装
 画面の更新間隔を0.5秒から1.0秒に変更
 燃料計算で残り燃料0.10kgをガス欠として扱うように変更

2017/11/20 v1.2.0 DE 1,2
 2017/11/21 v1.2.0 DE 3
 2017/11/22 v1.2.0 DE 4
 2017/11/23 v1.2.0 DE 5

デバッグ用

2017/11/25 v1.2.1

スピードトラップの最高速計測を修正
 ベストタイムと最高速の表示切り替え間隔を10秒から3秒に変更
 リセットボタン、コマンド表示枠を追加

2017/11/30 v1.2.2

画面のちらつき対策
 ベストタイム/最高速度の切り替えボタンを追加

2017/12/08 v1.2.3

Driver Settingsにチームの色分けを導入

2017/12/10 v1.3.0

ドライバー略称の自動同期を追加

2017/12/12 v1.3.0a

F1 2017 1.11の仕様外データ受信時のエラーに対応

2017/12/25 v1.3.1

スピードトラップ位置を調整
 クラシック用のタイヤ対応
 タイヤの表示色調整

2017/12/26 v1.3.1a

バグ修正

2018/01/14 v1.4.0

テレメトリデータ中継機能をねこめとりから分離
 エラー発生時に自動的に再起動するように変更
 ドライバー略称の自動同期を3回までリトライするように変更
 ドライバー略称の手動再同期を実装
 テレメトリデータ再生の再生速度をHz指定から倍率指定に変更
 ドライバー略称の自動同期時の通信エラーを無視するように修正
 オンラインレースでリタイアしたクルマをTrack Positionから消すように修正
 キャリアモードでドライバー略称の自動同期を無効化
 テレメトリデータ再生の精度向上