Transformiceおよびその他のAtelier 801ゲーム用のカスタムローダーにより、クライアントはローカルプロキシに接続できます。
ビルドするには、asconfig.jsonファイルを使用してTFMProxyLoader.swfファイルをコンパイルする必要があります。これは、VSCODE-AS3MXMLまたはASCONFIGCで実行できます。
また、OUは、 asconfig.jsonファイルと同じレベルのlibフォルダーの下に、次のライブラリのSWCファイルを配置する必要があります。
手間をかけたい場合は、このレポのリリースに事前に構築されたSWFもあります。
このローダーを使用するには、 TFMProxyLoader.swfファイルをロードする必要があります。 TransformiceのSteamバージョンを使用している場合、ゲームのローカルファイルを開き、Conted Transformice.swfファイルをTFMProxyLoader.swf 1に置き換える必要があります( Transformice.swfに変更します)。
読み込むと、次のゲームのボタンがあります。
ボタンをクリックすると、そのゲームがロードされ、ポート11801のlocalhostに接続します。たとえば、Caseusからのプロキシなど、そこでリスニングをリスニングする必要があります。ゲームは正常に起動し、通常のサーバーに接続するかのようにプロキシに接続されます。
さらに、「Enter」キーを押すと、最後にロードされたゲームがロードされ、マウスプレスを回避できます。
Transformiceの蒸気バージョンのように、ローダーがエアランタイムで実行されるとき、次のセクションは適用されません。それ以外の場合、大騒ぎするための追加のセキュリティ関連のことがあります。
エアランタイムで実行されていない場合、ローダーはロードされているゲームのドメインにURLポリシーファイルが必要になります。すべてのゲームにはこれがあります(たとえば、Transformice's:https://www.transformice.com/crossdomain.xml)がありますが、Fortoresseを除き、ロードに失敗します。さらに、すべてのゲームでは、 localhost:11801のソケットポリシーファイルが要求されます。
ゲームがlocalhost:11801のソケットポリシーファイルを要求すると、最初にポート843試します。それに失敗すると、ポート10801試してみます。それも失敗した場合、最終的に宛先ポート11801を試します。したがって、ソケットポリシーサーバーをポート10801で実行して、エンドユーザーがセキュリティ機能を無効にする必要がある(Fortoresse以外のゲーム)を削除し、ポート11801一般的なパケットフローに専念できるようにすることができます。
ただし、スタンドアロンプロジェクターを使用し、ファイルからローダーを実行している場合は、ポリシーファイルに関するあらゆる大騒ぎを無効にすることができます。そうするために、プラットフォームの対応する場所にファイルを配置できます。
%AppData%/Macromedia/Flash Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg~/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg~/.macromedia/Flash_Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfgファイルの内容は、プロキシローダーSWFを含むディレクトリのパスである必要があります。たとえば、ローダーのパスが/path/to/TFMProxyLoader.swfの場合、上記の場所の構成ファイルの内容は/path/toする必要があります。
これにより、Fortoresseはすべてのゲームがソケットポリシーファイルの要求をロードして停止することができます。それらのどちらかを達成する他の方法を知っているなら、私に知らせてください。
プロキシローダーは、さまざまなバニラローダーとは異なるサイズを持っています。ハンドシェイクパケットには、元のローダーSWFの非圧縮サイズに対応するstage.loaderInfo.bytes.lengthの値が含まれているため、これは注目に値します。また、サーバーがこのフィールドの予期しない値を受信すると、接続を閉じ、ゲームには「誤ったバージョン」メッセージが表示されます。したがって、ローダーが接続するプロキシは、この値を有効なサイズに置き換えるように注意する必要があります。
0x1FBDのサイズはすべてのゲームで機能します。これは、すべてのゲームを起動するために使用できるWindowsスタンドアロンバージョンのTransformiceAIR.swfファイルの対応するサイズです。
ローダーは、バニラプロトコルに含まれていない特定のカスタムパケットを送信します。これらのパケットは「拡張機能」パケットと呼ばれ、次の形式があります。
(255, 255)です。これは、バニラプロトコルから安全であるようです。writeUTF / readUTF )で始まります。これは、Tribulle/Community Platform Packetがゲームでどのように使用されるかに似ています。
拡張機能パケットの指紋は常に0であり、バニラパケットの指紋を解除しないために無視する必要があります。
ローダーは、パケットキーソースを含む拡張機能パケットをプロキシに送信して、プロキシが特定のパケットを解読する(および再配分)できるようにします。このパケットは、他のパケットの前に送信されます。次の形式があります。
"packet_key_sources"です。パケットキーソースを送信した後、ローダーはログインパケットに使用される「認証キー」を含む拡張機能パケットを送信します。次の形式があります。
"auth_key"です。ローダーは、メインサーバー情報の拡張機能パケット、つまりそのアドレスとポートも送信します。このパケットは、ハンドシェイクパケットの前に送信されます。次の形式があります。
"main_server_info"です。