60个稳定版本
4.7.0 | 2024年6月11日 |
---|---|
4.5.2 | 2024年2月23日 |
4.4.1 | 2023年8月7日 |
4.4.0 | 2023年3月24日 |
3.18.2 | 2022年3月31日 |
#2 in 游戏
76每月下载量
115KB
2.5K SLoC
Ferium
查看ferium的姐妹项目 ferinth 和 furse。它们分别是官方Modrinth和CurseForge API的Rust包装器。
Ferium是一个快速且功能丰富的CLI程序,可以从Modrinth、CurseForge和GitHub发布下载Minecraft模组,并从Modrinth和CurseForge下载模组包。只需指定您使用的模组,就可以通过一条命令下载您配置的所有模组的最新兼容版本。
功能
-
使用CLI轻松自动化您的模组体验
-
从多个来源下载模组,包括Modrinth、CurseForge和GitHub发布
-
从多个来源下载模组包,包括Modrinth和CurseForge
-
美丽且信息丰富的UI
个人资料信息和模组列表
详细列出模组
升级模组/模组包
-
由于多线程进行网络密集型任务,速度极快
您的结果可能因网络连接而异。
它在15秒内下载了我的包含79个模组的模组包Kupfur
https://github.com/gorilla-devs/ferium/assets/60034030/cfe2f0aa-3c10-41ca-b223-367925309ea9
它在不到一分钟内下载了包含大约400个模组的非常大的模组包MMTP
https://github.com/gorilla-devs/ferium/assets/60034030/857e8d27-372d-4cdd-90af-b0d77cb7e90c
-
通过一条命令将所有模组升级到最新兼容版本,
ferium upgrade
- 钆检查正在下载的版本是否是最新的,且与配置的模组加载器和Minecraft版本兼容
-
使用一个命令下载并安装您模组包的最新版本,
ferium modpack upgrade
-
创建多个配置文件,并为每个配置文件配置不同的模组加载器、Minecraft版本、输出目录和模组
安装
来自GitHub发布的Ferium可执行文件在运行时不需要任何外部依赖项。
如果您在Linux上从源代码编译,使用GCC构建将导致需要GCC在运行时可用的小程序。
在Linux上,常规版本需要某种类型的桌面环境可用,该环境提供XDG桌面门户以显示文件夹选择器。没有GUI文件夹选择器的nogui
版本不需要此功能,这使得这些变体适用于服务器使用。
[!IMPORTANT] Linux用户!如果您没有桌面环境(如GNOME、KDE、XFCE等),请使用
nogui
版本(或使用--no-default-features
编译)
软件包
拥有维护软件包的知识/经验?考虑帮助添加和维护您最喜欢的包管理器中的ferium。
Arch Linux用户仓库
[!NOTE] 从源代码构建将安装Rust工具链和GCC。
安装方法 | GUI文件对话框 | 无GUI |
---|---|---|
从GitHub发布下载预构建的二进制文件 | ferium-gui-bin | ferium-bin |
使用最新标签从源代码构建 | ferium-gui | ferium |
使用最新提交从源代码构建 | ferium-gui-git | ferium-git |
macOS或Linux的Homebrew
brew install ferium
Windows的winget
winget install GorillaDevs.Ferium
Windows的Scoop
scoop bucket add games
scoop install ferium
Ubuntu的Pacstall
pacstall -I ferium-bin
NixOS或Linux的Nixpkgs
[!NOTE] 请参阅软件包页面以获取安装说明
https://search.nixos.org/packages?show=ferium&channel=unstable
Gentoo的Portage
在LoaTcHi的overlay上可用
eselect repository enable loatchi
emaint sync -r loatchi
emerge -av ferium
Void Linux的XBPS
xbps-install ferium
使用Rust工具链通过crates.io
cargo install ferium
[!TIP] 使用cargo-update等工具将ferium更新到最新版本!
GitHub发布
[!IMPORTANT] 每次有新更新时,您都必须手动下载和安装。
- 从最新发布下载适合您操作系统的资源
- 解压缩文件并将其移动到您的路径中的文件夹中,例如
~/bin
- 请记住检查发布页面以获取任何更新!
概览/帮助页面
[!NOTE] Ferium的大部分后端都在一个单独的项目中;libium。
它处理配置、添加模组(包)、升级、文件选择器等事务。
程序配置
Ferium将其配置文件存储在配置文件中。默认情况下,它位于~/.config/ferium/config.json
。
您可以通过两种方式来更改设置,即设置环境变量 FERIUM_CONFIG_FILE
,或者设置全局标志 --config-file
。标志总是具有优先级。
[!注意] 当手动编辑配置文件时,请注意语法
您还可以通过使用环境变量 CURSEFORGE_API_KEY
和 GITHUB_TOKEN
,或者分别使用全局标志 --curseforge_api_key
和 --github-token
来设置自定义 CurseForge API 密钥或 GitHub 个人访问令牌。同样,标志具有优先级。
首次启动
您可以在所谓的“配置文件”中拥有自己的模组集,或者安装模组包。
- 通过运行
ferium profile create
并输入您的配置文件详细信息来 创建一个新的配置文件。- 然后,使用
ferium add
添加您的模组。 - 最后,使用
ferium upgrade
下载您的模组。
- 然后,使用
- 通过运行
ferium modpack add <project_id>
添加模组包。- 之后,运行
ferium modpack upgrade
下载并安装模组包的最新版本。
- 之后,运行
自动导入模组
ferium scan
此命令会扫描包含模组的目录,并尝试将其添加到您的配置文件中。
默认情况下,目录为您的配置文件输出目录。一些模组在 Modrinth 和 CurseForge 上都可用;ferium 默认优先选择 Modrinth,但您可以使用 --platform
标志选择 CurseForge。
只要确保目录中的模组与配置的模组加载器和 Minecraft 版本匹配,它们都应该能够正确添加。一些模组可能需要一些 额外的调整。您也可以使用 --force
标志绕过兼容性检查。
手动添加模组
[!提示] 您可以指定多个标识符一次添加多个模组
Modrinth
ferium add project_id
project_id
是模组的 slug 或项目 ID。(例如,Sodium 的 slug 为 sodium
,项目 ID 为 AANobbMI
)。您可以在网站 URL 中找到 slug(modrinth.com/mod/<slug>
),项目 ID 在左侧侧边栏下方的“技术信息”部分。
因此,要添加 Sodium,您可以运行 ferium add sodium
或 ferium add AANobbMI
。
CurseForge
ferium add project_id
project_id
是模组的项目 ID。(例如,Terralith 的项目 ID 为 513688
)。您可以在右侧侧边栏下方的“关于项目”部分找到项目 ID。
因此,要添加 Terralith,您应该运行 ferium add 513688
。
GitHub
ferium add owner/name
owner
是存储库所有者的用户名,name
是存储库的名称,两者均不区分大小写。(例如,Sodium 的存储库 的 ID 为 CaffeineMC/sodium-fabric
)。您可以在存储库页面的右上角找到这些信息。
要添加 Sodium,您应该运行 ferium add CaffeineMC/sodium-fabric
(再次提醒,不区分大小写)。
[!IMPORTANT] GitHub 仓库需要上传 JAR 文件到它们的 发布 选项,以便 ferium 下载,否则它将拒绝添加。
用户模组
如果您想使用 ferium 无法下载的文件,请将它们放在输出目录下的名为 user
的子文件夹中。在升级时,这里的文件将被复制到输出目录。
[!NOTE] 使用 Quilt 的配置文件不会复制其用户模组,这是因为自版本
0.18.1-beta.3
以来,Quilt 会自动从嵌套目录(如用户文件夹)加载模组。
添加模组包
Modrinth
ferium modpack add project_id
project_id
是模组包的 slug 或项目 ID。例如,Fabulously Optimized 的 slug 是 fabulously-optimized
,项目 ID 是 1KVo5zza
。您可以在网站 URL 中找到 slug(modrinth.com/modpack/<slug>
),并在左侧边栏的“技术信息”部分底部找到项目 ID。
要添加 Fabulously Optimized,您可以运行 ferium modpack add fabulously-optimized
或 ferium modpack add 1KVo5zza
。
CurseForge
ferium modpack add project_id
project_id
是模组包的项目 ID。例如,Fabulously Optimized 的项目 ID 是 396246
。您可以在右侧边栏的“关于项目”部分顶部找到项目 ID。
要添加 Fabulously Optimized,您应该运行 ferium modpack add 396246
。
升级模组
[!WARNING] 如果在设置输出目录时输出目录不为空,ferium 将建议创建备份。
如果包含您希望保留的任何文件,请执行此操作。
现在,在添加所有模组后,运行 ferium upgrade
以将它们全部下载到您的输出目录。默认情况下为 .minecraft/mods
,其中 .minecraft
是默认的 Minecraft 资源目录。如果您使用 Mojang 的启动器并使用默认资源目录进行游戏,则无需担心此问题。您可以在创建配置文件期间选择自定义输出目录或稍后更改。
如果 ferium 无法下载模组,它将以红色打印其名称并尝试给出原因。它将继续下载您的其他模组,并以错误退出。
[!TIP] 升级时,任何 ferium 未下载的文件将被移动到输出目录中的
.old
文件夹。
有关添加 ferium 无法下载的模组的信息,请参阅用户模组。
升级模组包
[!WARNING] 如果在设置输出目录时输出目录中的
mods
和/或resourcepacks
文件夹不为空,ferium 将建议创建备份。
如果包含您希望保留的任何文件,请执行此操作。
在添加您的模组包后,运行 ferium modpack upgrade
以将模组包下载到输出目录。默认为 .minecraft
,这是默认的 Minecraft 资源目录。如果您使用 Mojang 的启动器并使用默认资源目录进行游戏,则无需担心此问题。您可以在添加模组包时选择自定义输出目录,或者 稍后更改。
如果 ferium 下载模组失败,它将以红色打印模组名称并尝试给出原因。它将继续下载其他模组,并以错误退出。
[!CAUTION] 如果您选择安装模组包覆盖,升级时现有配置可能会被覆盖。
管理模组
您可以通过运行 ferium list
列出当前配置文件中的所有模组。如果您想了解有关它们的更多信息,可以使用 ferium list -v
或 ferium list --verbose
。
您可以使用 ferium remove
删除任何模组;只需使用空格键选择您想要删除的模组,然后完成后按回车键。您也可以提供要删除的模组的名称或 ID 作为参数。
[!IMPORTANT] 模组名称和 GitHub 仓库标识符不区分大小写。
包含空格的模组名称必须用引号括起来(ferium remove "ok zoomer"
)或空格应该被转义(通常为ferium remove ok\ zoomer
,但取决于 shell)。
检查覆盖
如果某些模组应该与您的游戏版本和模组加载器兼容,但 ferium 没有下载它,如果您认为这是一个错误,请 创建一个问题。
如果您怀疑作者未指定兼容版本或模组加载器,您可以在添加单个模组时使用 --ignore-game-version
和/或 --ignore-mod-loader
标志来禁用游戏版本或模组加载器检查,或者在配置文件中将特定模组的 check_game_version
和/或 check_mod_loader
设置为 false。
例如,Just Enough Items 没有指定旧版本 Minecraft(如 1.12.2
)的模组加载器。在这种情况下,您可以通过运行 ferium add 238222 --ignore-mod-loader
来添加 JEI,以禁用模组加载器检查。
您也可以在配置中手动禁用模组加载器(和/或游戏版本)检查,如下所示
{
"name": "Just Enough Items (JEI)",
"identifier": {
"CurseForgeProject": 238222
},
"check_mod_loader": false
}
管理模组包
添加
添加模组包时,您将配置以下内容
- 输出目录
- 默认为
.minecraft
,这是默认的 Minecraft 资源目录。如果您使用 Mojang 的启动器并使用默认资源目录进行游戏,则无需担心此问题。
- 默认为
- 是否安装模组包覆盖
[!TIP] 您也可以将这些设置作为标志提供,以避免脚本等交互性
[!NOTE] Ferium 将自动切换到新添加的模组包
配置
您可以通过运行 ferium modpack configure
在之后配置这些相同的设置。同样,您可以将这些设置作为标志提供。
管理
您可以通过运行 ferium modpack list
或 ferium modpacks
来列出您已添加的所有模组包。
使用 ferium modpack switch
切换到不同的模组包。
使用 ferium modpack remove
移除模组包,并选择您想要移除的模组包。
配置文件
创建
您可以通过运行 ferium profile create
并指定以下内容来创建配置文件:
- 输出目录
- 默认值为
.minecraft/mods
,其中.minecraft
是默认的 Minecraft 资源目录。如果您使用 Mojang 的启动器并使用默认资源目录,则无需担心此问题。
- 默认值为
- 配置文件名称
- Minecraft 版本
- 模组加载器
如果您想从另一个配置文件复制模组,请使用 --import
标志。您也可以直接提供配置文件名称给标志,如果您不想显示配置文件选择器。
[!注意] Ferium 将自动切换到新创建的配置文件
[!TIP] 您也可以将这些设置作为标志提供,以避免脚本等交互性
配置
您可以通过运行 ferium profile configure
在之后配置相同的设置。同样,您也可以将这些设置作为标志提供。
管理
您可以通过运行 ferium profile
或 ferium profile info
获取当前配置文件的信息,以及通过运行 ferium profiles
或 ferium profile list
获取您拥有的所有配置文件的信息。
使用 ferium profile switch
切换到不同的配置文件。
使用 ferium profile delete
并选择您想要删除的配置文件来删除配置文件。
功能请求
如果您想提出功能请求,请检查 问题跟踪器 以查看该功能是否已被添加或计划中。如果没有,创建一个新问题。
开发
首先,您需要 Rust 工具链,包括 cargo
、rustup
等。您可以使用 rustup 安装这些工具。如果您愿意,可以手动运行 cargo 命令,但建议使用仓库中的 justfile
配置。 just
是一个命令运行器,基本上是 make
的一个更好版本。
要构建项目并将其安装到您的 Cargo 二进制目录,请克隆项目并运行 just install
。如果您想用于测试目的,请 添加夜间工具链 并运行 just
(别名为 just install-dev
),这有一些优化可以使编译更快。
您可以使用 cargo test
运行集成测试,使用 cargo clippy
进行代码审查,并使用 just clean
删除所有构建和测试工件。
如果您想了解如何为特定目标(例如 Linux ARM)进行交叉编译或其他信息,例如所需的发展库,请查看 工作流程文件。
如果您仍有疑问,请随时 创建一个讨论,我会尽力帮助您。
依赖关系
~25–42MB
~708K SLoC