帖子

Memorial Edition

查看: 165|回复: 6

Paper的未来 - 硬分叉

[复制链接]

Lv.2 采石匠

人气
10 点
金粒
104 粒
宝石
0 颗
爱心
0 颗
钻石
7 颗
贡献
0 点

Java正版勋章Windows 10正版勋章

发表于 2024-12-13 23:37:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
原文:https://forums.papermc.io/threads/the-future-of-paper-hard-fork.1451/

在Minecraft 1.21.4的第一个构建版本发布之后,我们很高兴与大家分享一些更加激动人心的消息。继我们在1.20.5版本成功推出Mojang映射服务器之后,我们为项目迈出了重要的下一步:

从上游硬分叉自项目开始以来,Paper一直建立在Spigot之上,始终与Spigot引入的功能保持同步。如今,Paper在Spigot之上应用了近1600个额外的补丁,超过了130,000行代码。由于这种分歧,我们严格遵循Spigot更新的政策限制了项目的发展,最明显的是版本更新变慢,因为Spigot对快照、预发布和候选发布的更新是在封闭的环境中进行的。

硬分叉消除了这种不必要的延迟,使Paper成为自己的独立项目,简化了服务器和主要缺失API的开发,比如我们最近的注册表和物品数据组件API。这并不意味着现有的配置/API/行为等将被移除。从1.21.4版本开始,Paper将不再受Spigot未来变化的约束,使我们和社区能够按照自己的条件前进。

虽然这可能听起来有些可怕,但我们为每个相关用户群体准备了一些有用的声明。我们致力于使这个过程尽可能平滑。如果有任何问题,请随时在我们的Discord上提问!


服务器所有者/管理员作为服务器所有者/管理员,最初将没有变化。目前,bukkit.yml和spigot.yml将继续像往常一样工作。已经在稳定的1.21.4版本上运行的插件以及编译到旧版Spigot的插件也将继续运行。随着Paper和Spigot插件API的逐渐分歧,唯一可能的问题是插件尝试使用硬分叉后引入的Spigot特性。

我们假设许多插件已经更倾向于Paper兼容性而非Spigot,鉴于两个项目当前的市场份额。对您来说,一个巨大的优势是Paper在Minecraft发布期间的发布速度将显著加快,正如之前提到的。硬分叉后,我们能够更新Paper到发布候选版本、预发布版本,甚至可能是快照版本,以便尽早将实验构建提供给大家。

插件开发者对于服务器所有者来说,插件API最初将没有变化。从Spigot继承的现有方法将被保留并继续工作。这包括我们弃用的旧文本/聊天颜色等方法。然而,我们不再拉取Spigot在硬分叉后添加的所有新API。为了避免意外调用这些方法,我们强烈建议将您的插件构建依赖于Paper-API。我们仍然愿意手动拉取一些新的上游API到Paper中,以确保插件开发者不会失去功能,但你不应该依赖于此。

通过paperweight-userdev使用服务器内部功能也将像以前一样继续工作,然而,我们建议****慢慢准备您的插件在禁用jar和反射重映射的Mojang映射服务器上运行。这可以通过-Dpaper.disablePluginRemapping=true启动标志实现。如果您还没有使用paperweight-userdev,尽管直接使用内部Vanilla类,您应该转向它。如果您已经在使用,您不需要做任何其他事情,因为您稍后可以简单地移除混淆步骤,将与未来的变更兼容——只需要处理反射调用。然而,我们会给您足够的时间来准备这一点,并将继续自动重映射插件一段时间。**一旦发生这种情况,支持多个版本将变得更加容易,这正是当前混淆映射和任意CraftBukkit包重定位所阻止的。**单一的标准映射集也将使调试和代码共享变得更加容易。

随着转向Paper-API以及后来的Mojang映射服务器,您的插件可能不再在Spigot上运行。Paper在最近版本上的市场份额为85-90%(根据bStats上一些最大的插件统计,包括Paper的分支),这应该使您能够支持几乎所有的用户在硬分叉后的版本,即使不兼容Spigot。发布需要Paper的插件可以在许多平台上完成,最著名的是Hangar和modrinth。

将旧版本分支移动到新仓库因为我们正在合并API/API实现源文件历史记录,新分支将与之前的分支有完全不同的git提交历史,我们最终将删除所有旧版本分支,从ver/1.8.8到ver/1.21.3。如果您以任何方式引用了我们当前仓库中的它们,请确保更新它们的URL到:

我们当前压缩的仓库大小超过90MB - 新分支尽管有更多的提交,但打包大小将不到35MB,这意味着一旦旧分支被移除,克隆仓库将变得更加快速。此外,由于清理了历史记录中的索引和行变更,查看之前的补丁文件历史也将变得更加容易。

Paper贡献者硬分叉对Paper的贡献产生了巨大影响,大多数都是积极的。随着硬分叉,Paper仓库将进行全面重组,将整个API和API实现直接作为源代码移动到仓库中。现在可以直接在.java文件上进行这些贡献,无需编辑/重建补丁。对Mojang拥有的源代码的更改仍将基于补丁,但每个Vanilla源文件将由单个文件补丁表示。对于像anti-xray和moonrise这样的大型更改,Paper也将在之前描述的布局之上提供旧的功能基础补丁方法,结合了两种技术的最佳实践,旁边还有更新的反编译器(Vineflower)和映射集(Parchment)。

为了保留历史记录,我们已经合并了多个git树,包括我们完整的补丁文件历史记录,并将这些补丁应用到现有的Spigot历史记录中的实际提交中。包含已反编译的Vanilla源文件的旧状态已被过滤掉。不幸的是,历史记录的变化意味着所有开放的PR将不得不稍后关闭,它们也不能被强制推送到新分支。请不要在我们提供如何半自动更新旧拉取请求的详细信息并为新拉取请求开绿灯之前重新打开PR。

Paper分叉开发者您需要处理的主要变化是更新的反编译器和映射。一旦我们的初步更新过程完成,我们将为您提供更多信息。将发布与我们的新仓库结构兼容的新版本的Paperweight补丁程序。目前,请确保将1.21.3及更旧版本的上游目标更改为新的存档仓库。

下一步/大致时间线很难给出确切的时间线,但您可以通过以下GitHub问题跟踪我们的硬分叉进程的大致进展:PaperMC/Paper#11735

  • 我们将花费接下来的几周更新仓库,通过改变补丁结构和修复更新的反编译器和新的本地/参数映射集带来的无尽补丁冲突。
  • 一旦完成,我们将这些构建作为实验构建推出,以确保我们没有破坏任何向后兼容性或引入任何新问题。
  • 一旦我们完成了围绕分叉和用户开发的工具,我们将发布一个公告,说明如何更新分叉,并通知Paper贡献者如何正确更新他们的拉取请求到新的主分支。
在新的Minecraft发布中,您可以期待API和初步构建甚至在完整的Minecraft发布日之前发布。最终,我们将开始清理和自动迁移不同的配置,并逐步移除长期不工作的弃用API,但我们的重点仍然是使这些过渡尽可能平滑和优雅。


简而言之这一变化使我们能够处理快照版本,并更自由地处理主要缺失的API。对Paper的贡献变得更加容易,插件开发也将变得更加容易,无论是在API还是服务器内部!

服务器管理员:无需采取行动,但从1.21.4开始,您可能不再能够回到Spigot。

插件开发者:无需立即采取行动,但从1.21.4开始,您应该针对Paper-API进行编译。

Paper贡献者:您将不得不重新做您的PR,但我们将稍后告诉您更多,并为您提供有用的脚本和工具。

分叉/服务器托管商:迁移任何旧版本分支的使用(例如ver/1.8.8,ver/1.21.1;所有低于1.21.4的版本)到新的存档仓库。

感谢您使Paper组织成为今天的这个样子,我们感激这么多人选择使用我们的软件!专注于这个过程的准备工作对Paper拉取请求和Hangar活动产生了影响,但我们将能够在之后更快地处理这些!


Lv.3 挖沙工

人气
15 点
金粒
109 粒
宝石
0 颗
爱心
0 颗
钻石
5 颗
贡献
0 点
发表于 2024-12-14 00:10:24 来自手机 | 显示全部楼层
高版本rpg服务端核心用sp还是pa好些

点评

这次也算是好事情吧,只能说终于卸下了一个包袱,但不好说后面咋搞了  详情 回复 发表于 2024-12-14 00:12
回复

使用道具 举报

Lv.2 采石匠

人气
10 点
金粒
104 粒
宝石
0 颗
爱心
0 颗
钻石
7 颗
贡献
0 点

Java正版勋章Windows 10正版勋章

 楼主| 发表于 2024-12-14 00:12:27 | 显示全部楼层
CTL123 发表于 2024-12-14 00:10
高版本rpg服务端核心用sp还是pa好些

这次也算是好事情吧,只能说终于卸下了一个包袱,但不好说后面咋搞了

点评

兄弟你在说啥  详情 回复 发表于 2024-12-14 11:25
回复

使用道具 举报

Lv.3 挖沙工

人气
15 点
金粒
109 粒
宝石
0 颗
爱心
0 颗
钻石
5 颗
贡献
0 点
发表于 2024-12-14 11:25:13 来自手机 | 显示全部楼层
virgil698 发表于 2024-12-14 00:12
这次也算是好事情吧,只能说终于卸下了一个包袱,但不好说后面咋搞了

兄弟你在说啥

点评

看文章,别不看文章呀 文章里已经告诉你了  详情 回复 发表于 2024-12-14 21:59
回复

使用道具 举报

Lv.5 农夫

人气
19 点
金粒
165 粒
宝石
0 颗
爱心
0 颗
钻石
91 颗
贡献
0 点

科比勋章_劲爽款石镐矿工勋章

发表于 2024-12-14 13:17:40 | 显示全部楼层
希望paperspigot能越做越好

点评

现在马上不叫paperspigot了  详情 回复 发表于 2024-12-14 21:59
回复

使用道具 举报

Lv.2 采石匠

人气
10 点
金粒
104 粒
宝石
0 颗
爱心
0 颗
钻石
7 颗
贡献
0 点

Java正版勋章Windows 10正版勋章

 楼主| 发表于 2024-12-14 21:59:29 | 显示全部楼层
umbrella1998 发表于 2024-12-14 13:17
希望paperspigot能越做越好

现在马上不叫paperspigot了
回复

使用道具 举报

Lv.2 采石匠

人气
10 点
金粒
104 粒
宝石
0 颗
爱心
0 颗
钻石
7 颗
贡献
0 点

Java正版勋章Windows 10正版勋章

 楼主| 发表于 2024-12-14 21:59:50 | 显示全部楼层

看文章,别不看文章呀
文章里已经告诉你了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

失去故土的花朵,回不去,却也离不开。

Archiver|小黑屋| MCBBS纪念版 ( 新ICP备2024014954号|兵公网安备66010002000149号 )|隐私政策| 手机版

GMT+8, 2024-12-23 12:41 , Processed in 0.095871 second(s), 22 queries , Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2024 MCBBS纪念版 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载

返回顶部