
OpenFusionは、Fusionfallのリバースエンジニアリングサーバーです。主に、元のゲームのバージョンbeta-20100104およびbeta-20111013をターゲットにしており、他のゲームに対するサポートは限られています。
クライアントにワインを介してLinuxで実行するようにするための指示は、ここにあります。
OpenFusionServer-1.6-Original.zipまたはOpenFusionServer-1.6-Academy.zipはこちらから。winfusion.exe (Windows)またはfusion (Linux)を実行してサーバーを起動します。127.0.0.1:23000になります。beta-20100104を選択した場合は、元のZIPをダウンロードした場合、またはAcademy ZIPをダウンロードした場合はbeta-20111013選択します。サーバーの最新の開発ビルドを実行したい場合は、各機能コミットのバイナリ(アーティファクト)をまとめてここにあります。
ゲームのアーキテクチャのより詳細な概要とそれを構成する方法については、次のセクションをお読みください。
Fusionfallは、次のコンポーネントで構成されています。
.unity3dバンドル元のゲームは、プレイヤーの実際のWebブラウザを使用してゲームを起動しましたが、それ以来、ゲームが依存しているNPAPIプラグインインターフェイスは非推奨であり、ほとんどの最新のブラウザでは利用できなくなりました。 RetroとOpenFusionの両方は、基本的に特殊なWebブラウザーであるソフトウェアパッケージであるElectronの古いバージョンを配布することにより、この問題を回避します。
ブラウザ/Electronクライアントは、適切なMIMEタイプsrc <embed>タグを使用してWebページを開きます。SRCPARAMは、ゲームの.unity3dエントリポイントのアドレスです。これにより、ブラウザがトリガーして、この場合はUnity Webプレーヤーを処理するNPAPIプラグインをロードします。
OpenFusionで配布されたWebプレーヤーのバージョンは、Retroの変更されたstreamedマジック番号の代わりに、すべての資産の標準的なUnityWebマジック番号を期待することに注意してください。人々がバージョンの実験とミキシングとマッチングを開始するため、これは後で関連する可能性があります。
Webプレーヤーはゲームコードを実行し、サーバー( /assetInfo.phpおよび/loginInfo.phpから次のファイルを要求します。
/assetInfo.phpには、ゲームの残りの資産を取得するアドレスが含まれています(「Dongresources」)。通常、それらはゲートウェイと同じWebサーバーでホストされますが、OpenFusion Distribution(デフォルト構成で)はWebサーバーをまったく使用しません!代わりに、 file://スキーマを使用してローカルにWebページをロードし、標準のWebサーバーからゲームのアセットを取得します。
/loginInfo.phpには、クライアントが接続するFusionfallログインサーバーのIP:ポートペアが含まれています。このログインサーバーは、文字選択メニュー、文字作成とチュートリアルにあるときにクライアントを駆動します。
プレーヤーが「ゲームに入る」(またはチュートリアルを完了する)をクリックすると、ログインサーバーはシャードサーバーのアドレスを送信します。これは、ゲームプレイ中にクライアントが接続して接続したままにします。
Fusionfall Serverがconfig.iniで耳を傾けるポートを変更できます。ログインサーバーポートがクライアントのサーバーリストに入力する内容と同期していることを確認してください - シャードポートにはそのような同期は必要ありません。
この構成ファイルには、ログの冗長性、データベースの保存間隔、デフォルトのアカウント/許可レベルなど、微調整できる他のいくつかのオプションもあります。詳細については、構成ファイル自体内のコメントを参照してください。
友達と遊びたい場合は、OpenFusionClientのAdd Serverダイアログにログインサーバーの詳細を入力するだけです。これは、すべて同じLANの下にある場合に機能しますが、インターネットを介してプレイしたい場合は、ポートを開く、HamachiやNgrokなどのサービスを使用するか、VPSでサーバーをホストする必要があります(他のGameServerと同様)。
OpenFusionには、1つの外部依存関係があります:SQLite。最も古い互換性のあるバージョンは3.33.0です。 vcpkgを使用してWindowsにインストールし、Distributionのパッケージマネージャーを使用してUNIX/Linuxにインストールできます。 VCPKGをセットアップする方法に関するより詳細なガイドについては、このガイドをお読みください。
OpenFusionをコンパイルするための2つの選択肢があります。付属のMakeFileと含まれているCmakelistsファイルです。
MingW-W64とMSYS2を使用して、Webサイト上のWindowsユーザーが詳細なコンピレーションガイドを利用できます。それ以外の場合は、現在のプラットフォームにコンパイルするには、正しいビルドツール(現在Make and Clang)を使用してmakeするだけです。
詳細なガイドは、通常の古いcmakeまたはVisual Studioに付属するCmakeのバージョンを使用している人々のためのドキュメントで入手できます。 tl; dr: cmake -B build
このプロジェクトに貢献したい場合は、Contributing.mdをお読みください。
このプロジェクトの目標は、ターゲットビルドの時点でゲームを忠実に再作成することです。ほとんどの機能が実装されており、ゲームはプレイ可能なスタートから終了しますが、機能が欠落しているか、バグが存在する可能性があります。
サーバーの構成によっては、特定のコマンドにアクセスできます。
パブリックサーバーの場合:オリジナルにはアイテムの産卵、プレーヤーの速度/ジャンプの高さを設定する機能、テレポートが有効になります(デフォルトのアカウントレベル50)。一方、アカデミーサーバーは、正当なプレイスルーを対象としています(デフォルトのアカウントレベル99)。
ローカルサーバーをホストする場合、デフォルトですべてのコマンドにアクセスできます(アカウントレベル1)。
利用可能なコマンドのリストについては、このページを参照してください。