SportBukkit, CraftBukkit和Bukkit修改,可以提高稳定性并增加新功能

分享于 

6分钟阅读

GitHub

  繁體 雙語
CraftBukkit and Bukkit modifications that improve stability and add new features
  • 源代码名称:SportBukkit
  • 源代码网址:http://www.github.com/OvercastNetwork/SportBukkit
  • SportBukkit源代码文档
  • SportBukkit源代码下载
  • Git URL:
    git://www.github.com/OvercastNetwork/SportBukkit.git
    Git Clone代码到本地:
    git clone http://www.github.com/OvercastNetwork/SportBukkit
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/OvercastNetwork/SportBukkit
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    SportBukkit

    修正 Bug 和增加新特性并提高生命质量的CraftBukkit修改和 Bukkit API添加

    文件结构

    SportBukkit是CraftBukkit的fork,从 base 文件夹中的子模块开始。 CraftBukkit和SportBukkit之间的差异由 BukkitCraftBukkit 文件夹中的顺序补丁表示。 从概念上讲,这些差异分为 fixes features features。

    修正相对较小,有可能改变或者离开未来的upstream 变更。 每个补丁中除最后一个以外的每个补丁都包含一个修正。

    特性变更是对 Bukkit API的改进和扩展,目的是永久的。 它们完全包含在每个序列末尾的单个补丁中,称为简单"sportbukkit"。

    对于读目的,最终的补丁 SportBukkit源代码的副本存储在 snapshot 文件夹中。 这里代码由脚本自动更新,不应手动编辑或者编译。

    要求

    要构建 SportBukkit,需要安装以下命令并从你的shell 中可用:

    • ( 可能是早期版本的或者更早版本可能是 work,但有些是已知的)。
    • Maven
    • ruby 版本 2.1或者更高版本

    目前,在 Windows 上构建的唯一已知方法是使用 WSL。 其他方法会遇到通配符扩展问题。 有计划修复这个问题,以便SportBukkit至少可以用任何 Windows 版本的Bash构建,并且可以能只是 Windows shell。

    如何

    查看所有可用任务:rake -T

    构建所有内容:rake SportBukkit二进制文件将位于 build/CraftBukkit/target。

    生成修补的SportBukkit源代码: 在生成/bukkit中生成的源将是生成/,并生成/craftbukkit

    从源代码编译 SportBukkit: rake compile

    从源重建SportBukkit修补程序: rake generate

    删除所有中间文件:rake clean

    Rebasing

    这大致是用来将SportBukkit转换为更新的upstream CraftBukkit的过程。

    • 创建这里 repo的一个分支,称为 rebase-(version) 比如 rebase-1.2.3
    • 检查 build/Bukkitbuild/CraftBukkitupstream 分支,确保它们有干净的工作树。
    • 删除 work 文件夹。
    • 将子模块的builddatabase/Bukkitbase/CraftBukkit 重置为最新的upstream 主控形状。
    • version.rb 中,将 NMS_VERSIONNMS_MD5 更新为最新的值( 使用错误的MD5运行 rake deobf 将向你显示正确的)。
    • 按顺序运行 rake deobfrake decompilerake craftbukkit。 这些都应该在没有任何冲突的情况下运行。
    • 现在,你已经拥有了最新的CraftBukkit,并准备开始实际的rebasing。 这是创建基于,分支的初始提交的好时机,只有子模块和 version.rb 变更。
    • 运行 rake apply。这将尝试将 BukkitCraftBukkit 文件夹中的SportBukkit修补程序应用到新的CraftBukkit。 假设已经有 upstream 更改,其中许多补丁将失败,你将需要解决冲突。
    • 对于每个冲突,存储库 build/Bukkit 或者 build/CraftBukkit 将在 git am 会话中,等待冲突解决。 使用标准 git merge 进程解决冲突,并键入 git am --continue 继续应用修补程序。
    • 一路上,你可以运行 rake generate 来捕获补丁文件中的进度。
    • 当到达Bukkit补丁的末尾时,重新构建它们,然后再次运行 rake apply 以继续CraftBukkit补丁程序。
    • 第一个CraftBukkit补丁严格用于逐字导入NMS文件。 要重新创建这个补丁,只需将补丁中每个文件的最新NMS版本复制到 work/nms-src。 即使没有合并冲突,这里修补程序也应始终更新,即使不存在。
    • 第二个CraftBukkit补丁严格用于修正反编译错误。 这个补丁只对第一个补丁中的文件做最小更改,使它们编译。

    IMP  STA  添加  feature  MODI  Bukkit  
    相关文章