Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Submergedにおいてテレポート系の役職の能力でプレイヤーを階層移動させると想定外の場所に移動する #311

Closed
1 of 5 tasks
aoirint opened this issue Aug 14, 2023 · 7 comments

Comments

@aoirint
Copy link
Contributor

aoirint commented Aug 14, 2023

開発者追記:影響を受ける役職

  • デリュージョナー
    • 回避不能のため使用しないことを推奨
  • リザレクター
    • 不具合が発生しても壁抜けが発生しないため無害
  • テレポーター
    • 階層移動させない「ポータル」を設置することで回避可能
  • ゾンビ
    • 不具合が発生しても壁抜けが発生しないため無害
  • マジシャン
    • 回避不能のため使用しないことを推奨

以下報告内容

期待される動作 / Your Expectation

Extreme Rolesに加えて、Extreme Roles MODマネージャーを使って、Submerged v2023.8.2を導入した状態です。

Submergedマップでデリュージョナーのボタン能力「被害を逸らす」を使って、
アッパーセントラルにいるプレイヤーを、ロワーのろ過室付近にいる他のプレイヤーの位置にテレポートさせようとしました。

実際の動作 / The Reality

能力は発動し、対象のプレイヤーはテレポートしましたが、ロワーのろ過室付近ではなく、アッパーの診察室付近の壁の中にテレポートしました。

再現動画: https://www.youtube.com/watch?v=92gDIjdoE5w
問題のテレポートの箇所: https://youtu.be/92gDIjdoE5w?t=35

あなたの意見 / Your Proposal

今回の場合、対象のプレイヤーの階層をロワーに移動させた上で、ロワーのろ過室付近にテレポートさせるようにしてほしいです。

バグ発生時のログやエラー / log when issue occur

ホスト: ExtremeRolesDumpedLog 2023-08-14T15-35-04.log(Reactorログのカスタムサーバーアドレスをマスク加工)

Among Usバージョン/ Among Us Version

Among Us v2023.7.12s

Modバージョン / Mod Version

Extreme Roles v8.2.0.5

リージョン/Region

  • 北アメリア/Noth America
  • 欧州/Europa
  • アジア/Asia
  • カスタム/Custom
  • ExR専用(東京)

プレイヤー人数/Player Num

4

使用したオプション/Use Option

option.csv

@aoirint aoirint added バグ/Bug 未確認/Unconfirmed 新しいチケットで確認していないチケット郡 labels Aug 14, 2023
@yukieiji
Copy link
Owner

これちょっと確認なんですが、ダンプするときにカスタムサーバーのIPはリプレイスされるように作ってたはずなんですがリプレイスされてなかったですかね

この不具合本体は多分階層がズレてるときに発生する不具合ですね、多分テレポートする系の役職すべてがこれに値しそうな気がします

@aoirint
Copy link
Contributor Author

aoirint commented Aug 14, 2023

リプレイスされてなかったですか

リプレイスされていなかったです。以下のようなログがF8キーで出力されたzipファイル内の、BackupLogではないログに含まれていました。

[Info   :   Reactor] Joining {ImpostorのIPアドレス}:{ImpostorのUDPポート番号}
[Warning:   Reactor] Connected to a vanilla HTTP matchmaking server
[Info   :   Reactor] Currently using dtls: False. Should use dtls: False
[Warning:   Reactor] Server is not modded, falling back to HAAS
[Info   :   Reactor] Joining {ImpostorのIPアドレス}:{ImpostorのUDPポート番号}
[Warning:   Reactor] Connected to a vanilla HTTP matchmaking server
[Info   :   Reactor] Currently using dtls: False. Should use dtls: False
[Warning:   Reactor] Server is not modded, falling back to HAAS

カスタムサーバーの設定値はこんな感じです。

カスタムサーバーのIP: https://example.com
カスタムサーバーのポート: 443

HTTPマッチングサーバ(Impostor.Http)を介していること、IPアドレスではなくホスト名を入力していること、スキームを含めていること、が怪しくはあるかもですが、HTTPマッチングサーバのアドレスはログ出力されていなさそうなので、UDPサーバのIPアドレス、ポート番号を置き換えられるようになっていればよさそうに思いました。

@yukieiji
Copy link
Owner

yukieiji commented Aug 14, 2023

HTTPマッチングサーバ(Impostor.Http)を介していること、IPアドレスではなくホスト名を入力していること、スキームを含めていること、が怪しくはあるかもですが、HTTPマッチングサーバのアドレスはログ出力されていなさそうなので、UDPサーバのIPアドレス、ポート番号を置き換えられるようになっていればよさそうに思いました。

うーん、ログ出力時にログの文字列全検査して置き換えてたはずなのですが・・・(

private static void replaceLogCustomServerIp(string targetFileName)
{
string losStr;
using (StreamReader prevLog = new StreamReader(targetFileName))
{
losStr = prevLog.ReadToEnd();
}
losStr = losStr.Replace(
Module.CustomOption.ClientOption.Instance.Ip.Value,
"***.***.***.***");
using StreamWriter newLog = new StreamWriter(targetFileName, true, Encoding.UTF8);
newLog.Write(losStr);
}
)
こちらもちょっと調査します

不具合についてなのですが、アッパーからロワーではなくロワーからアッパーでもこの不具合は発生しましたか?
サブマのコードを見る限り普通に動きそうではありますが

@aoirint
Copy link
Contributor Author

aoirint commented Aug 14, 2023

検証してみましたが、ロワーからアッパーでもこの不具合は発生しました。

再現動画

スクリーンショット

「被害を逸らす」でテレポートさせられたプレイヤー

image

テレポート先のプレイヤー

image

@aoirint
Copy link
Contributor Author

aoirint commented Aug 14, 2023

補足で、関連しそうな役職と能力をいくつか検証してみました。

役職と能力 発生する? 状況
マジシャンのジャグリング Yes 階層をまたぐテレポートでは、階層を移動しない(デリュージョナーと同様)
再現動画, option.csv
メリーの陣 No 階層をまたぐ陣でも、階層を移動する
再現動画, option.csv
テレポーターのポータル Yes 階層をまたぐポータルでは、階層を移動しない(デリュージョナーと同様)
再現動画, option.csv

@yukieiji
Copy link
Owner

yukieiji commented Aug 14, 2023

とりあえずの対処は行ったのですがサブマージド側の不具合(どっちかというとAPI不足、SubmergedAmongUs/Submerged#122 )のせいで階層を移動する場合、デリュ本人がテレポートしちゃうようになりました
とりあえずサブマの対応待ちになります

@yukieiji yukieiji changed the title Submergedマップでデリュージョナー能力を使うと階層が移動されず壁に埋まることがある Submergedでテレポート系の役職()の能力で階層移動させると想定外されていない場所に移動する Aug 19, 2023
@yukieiji yukieiji changed the title Submergedでテレポート系の役職()の能力で階層移動させると想定外されていない場所に移動する Submergedでテレポート系の役職の能力で階層移動させると想定外されていない場所に移動する Aug 19, 2023
@yukieiji yukieiji changed the title Submergedでテレポート系の役職の能力で階層移動させると想定外されていない場所に移動する Submergedにおいてテレポート系の役職の能力でプレイヤーを階層移動させると想定外の場所に移動する Aug 19, 2023
yukieiji added a commit that referenced this issue Nov 14, 2023
yukieiji added a commit that referenced this issue Nov 14, 2023
@yukieiji
Copy link
Owner

v9.0.2.0で修正済み、他人から見た時の挙動が一瞬おかしくなる不具合があるがそれはサブマ側の問題のためクローズ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants