モジュール説明:NitroxLauncher - graighle/Nitrox GitHub Wiki

NitroxLauncher

NITROXのサーバー自身やマルチプレイ対応クライアントを立ち上げるランチャー。

MainWindow.xaml

恐らく起動時に読み込まれるウィンドウ(main等のスタートアップの記述が見つからなかったため、このWindow読み込みがコード開始地点になる?) 以下の3つのページをタブ(厳密には3つのボタンクリックからのイベント発火でフレーム切り替え)として以下の3つのxamlを切り替える。

  1. LaunchGamePage
  2. ServerPage
  3. OptionPage

LaunchGamePage.xaml

通常、もしくはマルチプレイ対応でSubnautica本体を立ち上げるページ。 最終的にはLauncherLogic内のStartSingleplayer、StartMultiplayerが実行される。

ServerPage.xaml

サーバーを起動させるためのページ。起動後にはServerConsolePage.xamlに切り替わる。

OptionPage.xaml

Subnautica本体のパスを指定するページ。対象パスにSubnauticaが無いと起動時にこのページが表示される。

ServerConsolePage.xaml

サーバー起動後のコンソール。

LauncherLogic.cs

現在の他のプログラムの起動状態見たり、サーバーやマルチ対応クライアントを動かすところ。 なんかSubnautica本体の海賊版検知機能もついていたりする。

SyncAssetBundles
SyncMonoAssemblies
SyncAssembliesBetweenSubnauticaManagedAndLib
StartSubnautica
Subnauticaを起動する。Exeに対してEpicGamesかSteamかで適切な起動時用パラメータを追加する。