本篇讲解的是Java版
这里是我的开服/客户端的自定义内容
我有资深的强迫症,任何东西必须要在官网下载
相关链接
原版
Minecraft
想要安装原汁原味的原版Minecraft客户端,下面是官方寻找方法
https://launchermeta.mojang.com/mc/game/version_manifest.json
https://minecraft.fandom.com/zh/wiki/Version_manifest.json version_manifest.json是一个来自launchermeta.mojang.com的包含Java版版本记录列表的文件。它为启动器列出了可用的Minecraft版本。 如果一个版本不在这个列表中,则被认为是在启动器中不可用,如Java版1.14.3 - Combat Test。 这个列表将在每次Mojang发布新版Java版时更新。
所以在version_manifest.json
中可以找到所有Java版本
最新版本会标记在latest
字段下
{
"latest": {
"release": "1.18.2",
"snapshot": "1.19-rc1"
}
}
版本列表会列在versions
字段中
{
"versions": [
{
"id": "1.19-rc1",
"type": "snapshot",
"url": "https://launchermeta.mojang.com/v1/packages/df8cf10ff16ae0e5feada63e989bf8574d713dc2/1.19-rc1.json",
"time": "2022-06-02T12:17:17+00:00",
"releaseTime": "2022-06-02T12:12:52+00:00"
},
{
"id": "1.19-pre5",
"type": "snapshot",
"url": "https://launchermeta.mojang.com/v1/packages/96d71ecaffd64ae81c33e2c4e14623ec0a5a4fa9/1.19-pre5.json",
"time": "2022-06-02T12:01:36+00:00",
"releaseTime": "2022-06-01T10:56:23+00:00"
},
{
"id": "1.19-pre4",
"type": "snapshot",
"url": "https://launchermeta.mojang.com/v1/packages/51ad6771b562563ec43eb091656a36a3f1bbdd05/1.19-pre4.json",
"time": "2022-06-02T12:01:36+00:00",
"releaseTime": "2022-05-30T14:43:01+00:00"
}
]
}
每个版本会在url
字段中列出版本的详细清单
拿1.19-rc1
举例(https://launchermeta.mojang.com/v1/packages/df8cf10ff16ae0e5feada63e989bf8574d713dc2/1.19-rc1.json)
其中包含了启动器所需要的信息,包括启动参数、启动核心、依赖程序包等等
核心的下载链接就在downloads
字段中
{
"downloads": {
"client": {
"sha1": "3d459711d39ba6b7867cc84f443e0bfdcfd4dde0",
"size": 21462888,
"url": "https://launcher.mojang.com/v1/objects/3d459711d39ba6b7867cc84f443e0bfdcfd4dde0/client.jar"
},
"client_mappings": {
"sha1": "36362e4f467b3b4209192eb7dcf990ee94245ad9",
"size": 7123832,
"url": "https://launcher.mojang.com/v1/objects/36362e4f467b3b4209192eb7dcf990ee94245ad9/client.txt"
},
"server": {
"sha1": "76ebdba03954e5a2185fb7a1d3a25096eb6bd195",
"size": 45539835,
"url": "https://launcher.mojang.com/v1/objects/76ebdba03954e5a2185fb7a1d3a25096eb6bd195/server.jar"
},
"server_mappings": {
"sha1": "84cf610e282cef1d158df2113902b403759260d8",
"size": 5552032,
"url": "https://launcher.mojang.com/v1/objects/84cf610e282cef1d158df2113902b403759260d8/server.txt"
}
}
}
Mod加载器版本
MinecraftForge
安装
安装MinecraftForge需要先安装原版Minecraft
下载对应版本的Installer,双击打开;选择Client,并选择.minecraft
目录以安装客户端;选择Server并选择任何一个目录以安装服务端。
如果说需要在没有图形界面的情况下安装服务端,可以直接添加程序参数-installServer
java -jar ./forge-1.18.2-40.0.32-installer.jar -installServer
FabricMc
介绍
相对于Forge,这个加载器就有很多优势
- 它有着自己专门的API,跨版本只需Mod作者很小的改动即可
- 更新非常迅速,哪怕是测试版,顶多两天,也会马上更新出来
- 有着自己的混淆映射表yarn
- 有着自己的wiki,对于新人开发者比较友好
- 轻松支持其他JVM语言,如Kotlin、Scala
安装
安装FabricMc需要先安装原版Minecraft
安装方式也比较灵活,不需要像Forge那样到处乱翻版本,更不需要和广告斗智斗勇,只需一个安装器即可解决
在Windows下直接下载exe安装器,直接双击运行就有简体中文的界面
如果需要使用Java跨平台的安装器,可以下载universal jar
关于这个jar文件安装器,它可以在没有图形界面的情况下直接安装客户端或服务器
它有以下参数
参数名 | 参数介绍 | 参数类型 | 默认值 |
---|---|---|---|
help | 显示帮助文档 | Void | 空值 |
client | 安装客户端 | Void | 空值 |
server | 安装服务端 | Void | 空值 |
Client分支
参数名 | 参数介绍 | 参数类型 | 默认值 |
---|---|---|---|
-dir | 安装目录 | String | *必须指定 |
-mcversion | 我的世界版本 | String | $当前MC最新版 |
-loader | Fabric加载器版本 | String | $当前加载器最新版 |
-launcher | 启动方式 | Enum - win32 - microsoft_store |
*必须指定 |
java -jar ./fabric-installer-0.10.2.jar client -dir "./game/.minecraft/" -mcversion "1.18.2" -loader "0.13.3" -launcher "win32"
Server分支
参数名 | 参数介绍 | 参数类型 | 默认值 |
---|---|---|---|
-dir | 安装目录 | String | $当前目录 |
-mcversion | 我的世界版本 | String | $当前MC最新版 |
-loader | Fabric加载器版本 | String | $当前加载器最新版 |
-downloadMinecraft | 需要下载MC服务端 | Void | 空值 |
java -jar ./fabric-installer-0.10.2.jar server -dir "./" -mcversion "1.18.2" -loader "0.13.3" -downloadMinecraft
各类API
很多Fabric Mod都使用了官方提供的API,建议把这些全装上,直接放入mods
文件夹接口
fabric-api
Essential hooks for modding with Fabric.
安装链接
- CurseForge
- GitHub Releases
-
fabric-language-kotlin
Fabric language module for Kotlin.
安装链接
-
fabric-language-scala
Fabric language module for Scala.
安装链接
-
Bukkit服务端
Bukkit是一个很方便的服务端插件开发API,插件只能改变服务器与客户端的交互,改变不了客户端的内容。例如,你不能在用户的客户端的渲自定义染位置上显示伤害,取而代之的是你可以生成一个只显示名字的盔甲架,名字改为伤害的数值,可以产生一种渲染字符在屏幕上的错觉
正因为Bukkit服务端不会修改客户端的内容,Bukkit服务端允许客户端使用随意搭配的mod进入服务器,这是大多数玩家喜欢的。
Bukkit服务端的各种管理系统使得它们的插件要比mod端兼容性更好,举例说明:Bukkit拥有强大的API,用户甚至很少和Minecraft底层代码打交道CraftBukkit
CraftBukkit团队是Bukkit的创始者,它们把Minecraft的代码反混淆,然后做成了简单且强大的BukkitAPI供开发者们使用
该服务端因为团队解散,也就停止更新
几位CraftBukkit成员甚至被Mojang拉去当Minecraft的开发者Spigot
Spigot是CraftBukkit的分支,继承了CraftBukkit的工作,优化了CraftBukkit的很多缺点,至今仍在高效更新
下载:https://hub.spigotmc.org/jenkins/job/BuildTools/ (构建工具)
SpigotMC不提供直接服务端的下载连接,需要自己手动使用构建工具编译Linux行为
具体命令是<java17.exe> -jar BuildTools.jar --rev 1.18.1
Paper
Paper是Spigot的分支,和Spigot同步更新
改动了很多Minecraft和Spigot的内部代码,兼容Spigot,提升了很高的性能,甚至修复了BugJump的一些bug(特性),例如破基岩,是主流的服务端
下载:https://papermc.io/downloadsProxy服务端
代理服务端一般是多个子服的时候使用的,它允许将玩家在多个子服间传送。Proxy服务端的局限性会更高,它不仅不能修改客户端的内容,连游戏性交互也不能。例如,它不能设置玩家的物品栏,因为它本身就不是一个正常的服务器,它没有世界,也没有实体这些概念,它顶多给玩家发送消息,显示标题、计分板等等
因为不处理正常服务器的内容,Proxy服务端的占用非常低BungeeCord
BungeeCord是最经典的Proxy服务端
它是SpigotMC团队的作品,所以内容很像Spigot,但它除了长得像Bukkit、可以与Bukkit交互,其余没有任何关系
BungeeCordAPI也是略逊于BukkitAPI 但是依然很强大的API
下载:https://ci.md-5.net/job/BungeeCord/WaterFall
WaterFall是BungeeCord的分支,由PaperMC创作,像paper一样,WaterFall也优化了BungeeCord的性能,也可以兼容BungeeCord
下载:https://papermc.io/downloads#Waterfall