Add mod dependencies to other mods

オープン
#708 コメント 13 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
30/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
java, lua
領域
api, backend

調査の方向性

この issue では、関連するエントリーポイントとして mod_info.lua、Mod Vault のダウンロードボタン、join-game のダウンロードフローを特定しています。まず、これらのフローで有効化された mod がどのようにダウンロードされるかを追跡し、一覧にある mod を有効化せずに依存関係のリストを取得する方法を決定してください。完了条件は、どちらの状況でも依存関係が自動的にダウンロードされ、非アクティブなまま維持され、アセット不足によるクラッシュを起こさなくなることです。

索引モデルが issue の本文から書いたものです。

説明

Hi,

So I made a mod named "Mixed Combat Pack" that I recently uploaded to FAF.
This mod cherry-picks units from other mods (TM, BrewLAN, Extreme Wars ...) and mixes everything consistently with often some customization from me and balancing, as well as AI builders, platoons, etc.
To respect the copyright, I only included bp and lua files in the mod, which means that to play it, we have to download all mods that originally contain the units models, animations and texturing.

Currently in the mod_info.lua file, we can set requires but it's not what I need. The requires keywork is for other mods that need to be enabled to have the mod working.
For example, scoreboard mod requires to have UI tools mod enabled simultaneously.
In my case, I only want the other mods downloaded, but inactive.

Problem is, if I host a game with my mod, people who join won't necessarily have the dependencies, which obviously lead to game crashing when creating a unit that has a missing mesh.
What I have to do to be able to play on FAF is hosting the game with the 12 mods enabled, then when everybody joined I disable all the dependencies to play with only Mixed Combat Pack.

That's a bypass but not a solution in my opinion, because :
1 - many people are not willing to join a game with 12 mods because it's a mess and they are right, so it's difficult to get people in my games
2 - people who join are often confused because they thought they could make some unit from another mod that I didn't cherry-pick in mine. They look at the unit list before the game starts and it contains everything from every mod
3 - some guys have rated my mod lower because they say they are having crashes, and when I contact them to ask if they read the mod description (where I list the required mods), they say no, which I can understand

=> My suggestion is to add a keyword in mod_info.lua like 'dependencies' with the list of mods that needs to be downloaded automatically when mine is downloaded.

It is comparable to FAF client downloading automatically all mods enabled when we join a modded game, in terms of logic.

This would happen in 2 situations :

  • when you click the download button in the mod vault : it checks the dependencies and also download them
  • when you join a game with, for example, Mixed Combat Pack mod : it downloads the mod, which triggers the download of the dependencies

I took my mod as an example but I know there are many mods that have the same need (perhaps not with 12 mods but still), such as TotalMayhemLite, rebalancing mods, for mods that are libraries of lua code or custom straticons or whatever.

Cheers

主要言語
Java
スター
31
フォーク
30
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

FAForever/faf-java-api のほかの issue

FAForever/faf-java-api の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。