-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minecraft 1.17: Update tracking issue #5785
Comments
Milestone: Minecraft 1.17 has been released. We are still awaiting the release of Spigot for Minecraft 1.17. |
Milestone: Spigot 1.17 has been released. We are now commencing work on Paper for 1.17. |
|
headsup: due to build changes by spigot, the team has decided to revamp our build tools from the ground up. this does sound scary, but we have been working on this for a year already and are prepared, just need some finishing touches. |
|
To do: update BungeeCord chat API to 1.17? Do we care? |
To do: Move KeyedObject, ServerWorkerThread, MCUtil |
|
To do: Remove Aikar's cleaner compat util; we have the JDK 9+ classes without compromise now. |
To test: Ensure expired temp bans work correctly. cc @mrfloris |
check that "Configurable mob spawner tick rate" was applied correctly |
todo: figure out why "comment out useless overrides" in mcutil patch, blockpos class is suddenly needed now |
todo: sending resource packs now has a prompt Component, api should be updated eventually cc @Machine-Maker |
todo: check custom player collisions patch to make sure it works (do we even want that anymore) |
|
|
|
|
|
|
|
|
|
todo: check Improve death events patch |
|
|
todo: implement userdev paperweight plugin |
If we figure out steps to reliably repro this then we can look into it. Until then, running |
Added |
|
|
|
todo: check if fix-stuck-in-sneak-when-changing-worlds is still needed (mojira issue is closed) |
You probably don't. It was from a different time before books were as jank as they are now. As time has gone on they've only proven to be worse and worse. |
|
|
allow delegration to vanilla chunk gen is most certainly broke (like always) |
|
Milestone: We rebased all patches that we did not temporarily remove. The next step is now to re-add those removed patches. Those patches were initially skipped because they require a bit more in-depth examination. Some patches were removed because they are no longer necessary, those will not be added back. |
todo: looked fine on brief testing of the 2 modes and disabled, but check if something has been missed in https://github.com/PaperMC/Paper/blob/eab6d9f53323bad608c7597ce9152a18f2e6ff15/patches/server/0364-Anti-Xray.patch just to be sure |
note on |
TODO: incremental chunk saving does not seem to care about entities |
FOR DEVELOPMENT TESTING ONLYCurrent test build: This is NOT a statement of when Paper 1.17 will be released. This jar is ALPHA SOFTWARE. DO NOT USE THIS FOR YOUR SERVER. This is useful for those who want to help us test before we release actual test builds. This is useful for plugin developers who want to test compatibility. DO NOT USE THIS FOR YOUR SERVER UNDER ANY CIRCUMSTANCES. |
FOR DEVELOPMENT TESTING ONLYExperimental build 3: This is NOT a statement of when Paper 1.17 will be released. This jar is ALPHA SOFTWARE. DO NOT USE THIS FOR YOUR SERVER. This is useful for those who want to help us test before we release actual test builds. This is useful for plugin developers who want to test compatibility. DO NOT USE THIS FOR YOUR SERVER UNDER ANY CIRCUMSTANCES. |
TODO: Investigate if aikars "catch all" dupe patch is still entirely needed There are likely still parts of that patch which are relevant, but, in 1.17, mojang added a removal cause to entities which marks dead entities in a manner that they should not process death drops, etc, when removed for specific causes; This patch has caused one or two issues but has generally saved our asses before many various dupes have been found, however, at least the entity aspects, may actually be no longer needed |
1.17.1 is released and we consider it stable. All issues related to 1.17 will be handled as a standard Paper issue now, rather than targeting a 1.17 release. |
Step -1 - Tracking the update process
This acts as a tracker for all issues and progress for the update to Minecraft 1.17.
Preliminarily, these are the points we will need to fulfill:
Fix compilation issues from previous stepsAny Paper team member may change the status of these, and more in-depth or important updates besides the milestones may be entered in the comments.
Spam comments such as asking for an ETA will be removed and you may be blocked from the organisation.
Like with any other Minecraft release, we get increasing volumes of questions on when Paper will be available. With that, we have a lot of work ahead of us -- all of which will be laid out in the following paragraphs. If you’d like to skip the reading and hop right into watching us do it live in the PaperMC voice channels, feel free to do so after the Spigot release.
Step 0 - Blocked on Spigot
Because Paper is a fork of Spigot, we have to wait until Spigot releases their 1.17 builds before any work on our end can start. Spigot has waited until the full major release for the previous two versions; therefore, the 1.17 Spigot release is our first milestone.
Step 1 - Preliminary work
Upon Spigot’s 1.17 release, we first need to ensure the build system will remain functional. Paper’s build system is prone to breakage at pretty much any major change from either Mojang or Spigot, and with this in mind, we will need to be thorough and analyze their changes (among which is likely the Java 16 bump).
Step 2 - Updating the API
Once we complete fixing the build system, our first task is to work on our 300+ API patches. In the best-case scenario, each patch applies automatically, however in the worst-case, we need to do a tonne of manual work. Most of the time, our various tools can deal with most of the changes and we are left to do the clean-up.
Step 3 - Updating the server
As soon as the API has been updated, we will work on the server itself by updating the nearly 800 patches we make to the server implementation. This follows the same process of updating the API, however with major changes of both Mojang and Spigot code during major updates in mind, our patches often require manual work in resolving issues. Additionally, during this process, we may find that some patches need to be dropped entirely because they are either unnecessary (such as bugs fixed upstream) or the code has changed enough to make the only viable option a careful rewrite later on. This is by far the most time-consuming step, and will likely take multiple days of ‘round-the-clock work by the PaperMC team and its lovely contributors.
Step 4 - Get it to compile
Once we finish updating the server, we then start to try to compile the server. This will always fail on the first try as some minor mistakes will occur in the previous steps.
Step 5 - Squash all the bugs
The final step is testing; most of the time the server will crash instantly due to behavioural changes in the server. This begins a cycle of testing, finding bugs, and fixing. Once all the immediately obvious bugs are fixed, we will likely open up a small server to have a few people help us test further to find more bugs. Once we get to the point where we feel we’ve tested our current progress enough, we will provide public test builds. These builds will still have bugs and we recommend you only run these on disposable test servers. If you do run these builds, be sure to report any issues you encounter, especially with plugins and game mechanics. They will often be fixed rather quickly. Once the rate of new issues slows down, it will be merged into the main branch and made our primary release such that everybody can download Paper 1.17 from our website. However, be warned, these are still very early builds and there will be dragons.
If any part of the Paper updating process sounds interesting to you, be sure to check in with us on our live-streams, in which several team members and contributors will stream themselves working on this project in turn. Join us, hang out with us, ask questions, and provide a little company for us on this often pretty monotonic and boring work.
Spam comments such as asking for an ETA will be removed and you may be blocked from the organisation.
The text was updated successfully, but these errors were encountered: