はかせるおむつ

ゴミ置き場

ET Legacy パス ファイル構成

This article is my original Japanese translation of below web page.

github.com

fs_basepathfs_homepathにコピーするファイルを間違えるないように、ET: Legacyの自分用に翻訳(自分なりの解釈)記事を書いておく。

ET: Legacy パスとファイル構成

etmain内にW:ETのmp_bin.pk3は必要なくなくなった。

導入

バニラのW:ETとは異なり、WindowsのET: Legacyではインストール用ファイルとゲームデータファイルと分けている。これはLinuxバージョンのET: Legacyではすでに分けているが、WindowsバージョンのET: Legacyでは分けられていない。

ゲームデータはそれぞれ下記の場所に保存されている。

  • %%userprofile%%\Documents\ETLegacy (Windows)
  • $HOME/.etlegacy (Linux)

W:ETとET:Legacyで同じfs_homepathを使用しないこと

このWindowsにおける分割構成は下記の点で有利である。

  • 色々なサーバーからダウンロードした不必要なpk3ファイルを削除するのが簡単。
  • a more robust way to run listen servers. (サーバーリストを作る際に有利?)
  • Program Filesフォルダに書き込む必要がないため、ET: Legacyを起動する際に管理者権限が不要。

Basepath - fs_basepath

デフォルト設定は下記の通り。

  • Windows 32-bit: C:\Program Files\Enemy Territory - Legacy
  • Windows 64-bit: C:\Program Files (x86)\Enemy Territory - Legacy
  • Linux: @$HOME/etlegacy (official binaries install path, distribution packages should use the default /usr/lib/etlegacy path)
  • macOS: /Applications/ET Legacy/ containing ETL.app

重要:modのインストール先はfs_basepathである。サードパーティーmodをインストールをする場合は、modのインストールファイルは、fs_basepathに置くこと。

fs_basepathの中身

WindowsまたはLinuxの場合:

* etmain/
  * campaigncycle.cfg
  * etl_server.cfg (server/engine cfg file)
  * legacy.cfg (mod config file)
  * lmscycle.cfg
  * mapvotecycle.cfg
  * objectivecycle.cfg
  * etkey (file containing your unique GUID)
  * pak0.pk3 (vanilla ET assets)
  * pak1.pk3 (vanilla ET assets)
  * pak2.pk3 (vanilla ET assets)
* legacy/
  * etl_bin\<version>.pk3 (Legacy mod バイナリパック)
  * pak3\<version>.pk3 (Legacy mod アセットパック)
  * qagame.mp.i386.so/dll (Legacy ゲームバイナリ)
  * omni-bot/ (optional)
    * omnibot-et.so/dll (Omni-bot lib)
    * et/
      * global_scripts/
* <INSTALLED_MODS>/
  * <INSTALLED_MODS_FILES>
* COPYING.txt
* etl.exe/etl
* etl_bot.sh
* etlded.exe/etlded
* etlded_bot.sh
* etlegacy-x86_64.sh
* INSTALL.txt
* librenderer_opengl1_x86_64
* librenderer_opengl2_x86_64

macOS:

* ETL.app (client)
* etlded (dedicated server)
* etmain/
  * pak0.pk3 (vanilla ET assets)
  * pak1.pk3 (vanilla ET assets)
  * pak2.pk3 (vanilla ET assets)
  * video/etintro.roq (optional)
* legacy/
  * qagame_mac
  * etl_bin_\<version>.pk3
  * pak3_\<version>.pk3
* <INSTALLED_MODS>
  * <INSTALLED_MODS_FILES>

Basepath - fs_homepath

fs_homepathにはダウンロードしたpk3ファイル、configファイル、展開したバイナリファイルを含む。

デフォルトでは下記の場所になる。

  • %userprofile%\Documents\ETLegacy\(Windows)
  • $HOME/.etlegacy(Linux)
  • ~/Library/Application Support/etlegacy(macOS)
fs_homepathの中身

WindowsまたはLinuxの場合:

* <omnibot_MAP.log>
* etmain
  * profile/ (profile path used for etmain)
  * etkey (file containing your unique GUID)
  * <DOWNLOADED_MAPS> (2.77からの新要素: ホワイトリストにあるマップファイル)
** <SERVER_CONTAINER_IP>/<DOWNLOADED_PK3s> (2.77からの新要素: ホワイトリストにないカスタムpk3ファイル)
* legacy
  * cgame.mp.i386.so/dll (ET Legacy cgame binary, also content of `etl_bin\<version>.pk3` extracted after mod start)
  * ui.mp.i386.so/dll (ET Legacy ui binary - also content of `etl_bin\<version>.pk3` extracted after game start)
  * profile/ (legacy modで使用されるprofileパス)
  * demos/
  * screenshots/
  * <SERVER_CONTAINER_IP>/<DOWNLOADED_MOD_PK3S> (2.77からの新要素: ホワイトリストにないmodのpk3ファイル)
  * crashlog.txt
  * etlconfig.cfg
  * <DOWNLOADED_MOD_PK3S> (new since 2.77: mod pk3s recognized by whitelist)
...
* <DOWNLOADED_MOD_PATHES> (その他のmod)

サーバー上のカスタムマップとpk3

カスタムマップ、ローテーションconfigファイル、pk3ファイルはすべてのmodから読み出せるようにfs_homepathetmainにコピーすること。modフォルダ内にマップを置くと、ユーザーはそれぞれのmodに対してそれぞれのマップをダウンロードする必要がある。

すべてのカスタムpk3ファイル(sound、skinやそのほかのpaks)はmodフォルダにコピーすること。多くのpk3ファイルはmodと関係しているので、カスタムpk3ファイルをetmainに置くのは良くない。