Repository navigation
セキュリティ周りの見直しを行い、マッチ終了時のメニューを2人がそれぞれ選べるようにしました。
詳細は下部をご覧ください。
v1.2.0の相手とは接続できません。
v1.2.0のままでも対戦はできますが、ルームマッチと観戦一覧からの観戦はできなくなります(観戦コードでの観戦はできます)。
相手と同じバージョンを使ってください。
新しく使用する方はzipをダウンロードし、READMEに従ってセットアップしてください。
過去バージョンを使用している方は、起動時の確認ウィンドウから自動更新を利用してください。
zip以外のファイルは自動更新に使うものであり、基本的にダウンロードは不要です。
機能追加
- マッチ終了時のメニューを2人がそれぞれ選んで決定するようにしました。
選んでいる項目は1Pが赤、2Pが青の縁取りで表示されます。
2人が選んだ項目が異なる場合は下にある項目が優先されます。
双方が同時に選択している状態になるまではキャンセルも可能です。
ただし、どちらかが「リプレイを保存して終了」を決定するとその時点で接続を終了します。 - 試合中の名前の表示の「1P」「2P」を、赤と青で表示するようにしました。
マッチ終了時のメニューの縁取りの色に合わせました。 - Match Modeの「人間 対 人間」で、キーボード2台を1Pと2Pに分けて遊べるようにしました。
「人間 対 人間」を選ぶたびに1Pと2Pがそれぞれ自分のキーボードで案内されるキー(Z・X・Shift・↑・↓・←・→)を押して割り当てます。
割り当て後、対戦を終了するか「人間 対 人間」より前のメニューに戻るまで割り当てたキーボード以外の入力(パッドを含む)を受け付けません。
案内が出ている間にパッドのボタンかEscを押すとその回は分けずに遊べます。
HiganRTool.iniの[input]でsplit_keyboards = 0にすると案内を出さず、今までどおり分けません。 HiganRTool.iniの[ui]にstatus_side(試合中の通信状態とディレイを表示する位置)を追加しました。
1p(左下。既定)/2p(右下)/self(自分側)/opponent(相手側)から選べます。- 自動保存のリプレイのファイル名を、
HiganRTool.iniの[replay]のnameで決められるようにしました(#5)。
{date}(年月日)・{time}(時分)・{1Pchara}・{2Pchara}(使用キャラ名)・{1Pname}・{2Pname}(プレイヤー名)・{wins}(取ったラウンド数)・{rlifes}(ラウンドごとの決着時ライフ)などが使えます。
既定は今までと同じth9_ud{num}です。 - 遊んでいる間に新しいバージョンが公開された場合は画面へ表示するようにしました。
「妖怪 対 妖怪」を選んだときのメニューの下と、接続中のマッチ終了時のメニューの左上に表示されます。
HiganRTool.iniの[loader]でupdate_check = 0にすると表示しません。
変更
- 試合中のルーム名はほかの人が使えないようにしました。
使用中の名前で入ろうとすると「このルーム名は使用されています。」と表示されます。
使われているルームで接続が終わるとそのルーム名はまた使えるようになります。 - プレイヤー名とルーム名で使える記号を増やしました。
`;/は使えません。
また、「w.」か「q.」で始まるルーム名は使えません。 - 観戦の受付と観戦一覧への掲載はそのルームで対戦する2人だけができるようにしました。
対戦していない人が観戦用のルームを先に作り、来た観戦者を自分のPCへ接続させられないようにするためです。 - 通信とルームサーバーの安全性を監査ツールで見直しました。
見直しの結果と仕組みの上で守れないものはTECHNICALの「11. セキュリティ」に書きました。 HiganRTool.exeでControl Flow Guard(CFG)を有効にしました(#3)。
ASLR・DEP・SafeSEHは以前から有効でしたが、分かりやすいようビルドの設定にも明示しました。- 開発者にログを送るときは
logsフォルダをzipにして送る形にしました。
画面の案内とIssueのテンプレートも合わせました。 - ソースコードのコメントを分かりやすく書き直しました。
修正
- 悪意のある観戦のホストが観戦者のPCでスクリーンショットを撮らせたり、空のフォルダを大量に作らせたりできた不具合を修正しました。
- HiganRToolを使っているPCから関係のない第三者へパケットを送らせることができた不具合を修正しました。
回線の測定や観戦の申し込み、LANの観戦コードの返答の回数に上限を付けました。 - 接続コードの相手の名前に含まれる制御文字が
HiganRTool.exeのウィンドウにそのまま表示されていた不具合を修正しました。 - ゲームのフォルダ名に中国語などが含まれるとリプレイが自動保存されなかった不具合を修正しました(#2)。
管理者として起動したときは文字化けした名前のフォルダに保存されていました。
そのフォルダに保存されたリプレイは手動での移動をお願いします。 - 観戦中に回線の遅延が揺らぐだけでホストが観戦者への送信を止めてしまい観戦が止まることがあった不具合を修正しました。
- MS ゴシックが無いWindows(英語版など)で試合中の通信状態とディレイの行などの英数字が欠けたり間延びしたりして表示されていた不具合を修正しました(#4)。
MS ゴシックが無いときは英数字を等幅のフォントで表示します。
これに加えてMS ゴシックが無いときの日本語フォント候補にLinuxのWine・Proton、MacのWineで標準的なフォントを追加しています。 - 1つのフォルダのリプレイが
th9_ud9999まで埋まるとそれ以降が自動保存されなかった不具合を修正しました。
同じ名前に_2を付けたフォルダに続けて保存します。
未修正・修正が確認できていない不具合
- 中国本土からは、VPNを使わないとルームのサーバー(ランダムマッチ・ルームマッチ・観戦の一覧)に接続できないことがあります。
接続コード・LAN・観戦コードはサーバーを使わないので使えます。
離れた相手とも、Radmin VPN・Hamachi・ZeroTierの仮想LANに2人で入ればLANで対戦できます。 - MacのWine(CrossOver)では花映塚がフルスクリーンで起動できません。
ウィンドウで使ってください(素の花映塚でも同じです)。
This release reviews security and lets each player choose from the end-of-match menu.
See below for details.
v1.2.1 cannot connect to v1.2.0.
v1.2.0 can still play matches, but spectating through rooms and the spectator list will no longer work (spectating with a spectate code still works).
Use the same version as your opponent.
New users: download the zip and set it up by following the README.
If you are on an older version, update with the prompt that appears at startup.
The files other than the zip are used by the automatic update; you usually do not need to download them.
Added
- At the end of a match, each player now chooses and decides on the menu.
The item each player is choosing is outlined in red for 1P and blue for 2P.
When the two chosen items differ, the lower one is used.
You can cancel your decision until both players have decided.
However, if either player decides on "Save replay and quit", the connection ends right away. - "1P" and "2P" in the name display during a match are now shown in red and blue.
This matches the outline colors of the end-of-match menu. - In Match Mode's "人間 対 人間", 1P and 2P can now each play on their own keyboard.
Each time you choose "人間 対 人間", 1P and 2P each press the keys shown on screen (Z, X, Shift, Up, Down, Left, Right) on their own keyboard to assign it.
After assigning, input from anything other than the assigned keyboards (including gamepads) is ignored until the match ends or you go back to a menu before "人間 対 人間".
Press a gamepad button or Esc while the prompt is shown to play without splitting that time.
Setsplit_keyboards = 0under[input]inHiganRTool.inito skip the prompt and keep playing without splitting. - Added
status_side(where the status and delay are shown during a match) to[ui]inHiganRTool.ini.
Choose from1p(bottom left, default) /2p(bottom right) /self(your side) /opponent(the opponent's side). - You can now set the file name of saved replays with
nameunder[replay]inHiganRTool.ini(#5).
You can use{date}(yyyymmdd),{time}(hhmm),{1Pchara},{2Pchara}(character names),{1Pname},{2Pname}(player names),{wins}(rounds won),{rlifes}(life at the end of each round) and more.
The default isth9_ud{num}, the same as before. - If a new version is released while you are playing, it is now shown on screen.
It appears below the menu that opens when you choose 妖怪 対 妖怪, and at the top left of the end-of-match menu while connected.
Setupdate_check = 0under[loader]inHiganRTool.inito turn it off.
Changed
- A room name now cannot be used by anyone else while its match is running.
Trying to enter a name in use shows "This room name is in use."
The name becomes available again when the connection to the room in use ends. - More symbols can now be used in player names and room names.
`,;and/cannot be used.
Room names starting withw.orq.cannot be used either. - Only the two players who play in a room can now accept spectators and list the match in the spectator list.
This keeps people who are not playing from creating the spectating room first and making arriving spectators connect to their PC. - Reviewed the security of the network code and the room server with audit tools.
The results and what the design cannot protect are in "11. Security" of TECHNICAL. - Enabled Control Flow Guard (CFG) for
HiganRTool.exe(#3).
ASLR, DEP and SafeSEH were already enabled; they are now also stated explicitly in the build settings. - Logs are now sent to the developer as a zip of the
logsfolder.
The messages on screen and the Issue templates were updated to match. - Rewrote the comments in the source code to make them easier to understand.
Fixed
- Fixed a bug where a malicious spectating host could make a spectator's PC take screenshots or create many empty folders.
- Fixed a bug where a PC running HiganRTool could be made to send packets to an unrelated third party.
Added limits on link measurement, spectating requests and LAN spectate-code replies. - Fixed a bug where control characters in the opponent's name from a connection code were shown as is in the
HiganRTool.exewindow. - Fixed a bug where replays were not saved automatically when the game folder name contained Chinese or other non-Japanese characters (#2).
When run as administrator, they were saved into a folder with a garbled name.
Please move replays saved in that folder manually. - Fixed a bug where jitter in the connection alone could make the host stop sending to spectators, freezing the spectated match.
- Fixed a bug where letters and digits in the status and delay row during a match were cut off or spaced out on Windows without MS Gothic (such as English Windows) (#4).
Without MS Gothic, letters and digits are now shown in a monospaced font.
In addition, fonts that are standard on Wine and Proton on Linux and on Wine on Mac were added to the fonts used for Japanese text when MS Gothic is not available. - Fixed a bug where replays were not saved automatically after a folder was full up to
th9_ud9999.
They are now saved in a folder with the same name plus_2.
Known issues
- From mainland China, the room server (random match, room match, spectator list) may not be reachable without a VPN.
Connection codes, LAN and spectate codes do not use the server, so they still work.
Players far apart can still play over LAN by joining the same Radmin VPN, Hamachi or ZeroTier virtual LAN. - With Wine on Mac (CrossOver), TH09 cannot start in fullscreen.
Use windowed mode (the same happens without HiganRTool).