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
[Experimental Build] Merge tuinity #6413
Conversation
jmp said it fixes rebuildpatches not working for me. it fucking better
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small comments before my phone started slugging hard while viewing this lol
for those of you commenting on the patches, proper organization will occur later |
He's going to handle merging patches later |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I scrolled through this very quickly and here are a few things I've noticed:
patches/server/0787-Use-hash-table-for-maintaing-changed-block-set.patch
Outdated
Show resolved
Hide resolved
patches/server/0793-Make-entity-tracker-use-highest-range-of-passengers.patch
Outdated
Show resolved
Hide resolved
patches/server/0794-Oprimise-map-impl-for-tracked-players.patch
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't forget to run ./gradlew wrapper --gradle-version=7.2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got around halfway down the page, will do the rest later today. Looking good so far :)
It goes without saying that both I and the rest of the community appreciates your work.
I'm not entirely sure around Paperweight's abilities with forks, but I assume there were no access transformers for you with that in Tuinity?
Comments and ATs still need to be done
I have updated the jar to include a fix for usercache erroring out while saving |
might fix merge conflicts
Neither the converters of pre 1.13 nor DFU handled these cases, as by the time they were written the game at the time didn't consider these ids valid - they would be air. Because of this, some worlds have logspam since only DataConverter (not DFU or legacy converters) will warn when an invalid id has been seen. While quite a few do need to now be considered as air, quite a lot do not. So it makes sense to add conversion for these items, instead of simply suppressing or ignoring the logs. I've now added id -> string conversion for all block ids that could be used as items that existed in the game before 1.7.10 (I have no interest in tracking down the exact version block ids stopped working) that were on https://minecraft-ids.grahamedgecombe.com/ Items that did not directly convert to new items will be instead converted to air: stems, wheat crops, piston head, tripwire wire block
The DFU code was checking if the number existed, not if it didn't exist. I misread the original code.
Also place it under `chunk-loading`
I've updated the jar to have higher limits for chunk loading by default, as well as reductions in worldgen thread allocation for lower cpu counts |
I've uploaded another jar that will disable the max chunk send limit by default. |
Appears to be still causing problems for no known reason
I've done the final adjustment to config to bring it back to tuinity default levels for the player chunk loader scheduler. It seems to be the balance between minimizing slow chunk loading complaints and ensuring the server doesn't send too many chunks to overload networking. This is ready for review now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've looked over this a few times, and bar there being too much to go line by line nit-picking, the patches here seem good overall, the work in here has already heavily been battle-tested so I personally have no reasons to hold this up, so, giving my approval
probably some random bits and bats like ATs which could be cleaned up but given the scope here that sounds like busy-work that can be done over time/as needed
While a low limit fixes ping issues for some people, most people do not suffer from this issue and thus should not suffer from an extremely slow load-in rate.
Autosquash the fixups
Missed this one
The prioritisation must be kept from it, so that part has been rebased into the priority patch. Part 2 will deal with rebasing all of the patches _after_
Replaced by `Do not copy visible chunks`
The class is immutable. set should not be exposed
|
This is an experimental build. This means you should be careful when using it, as it contains changes that are potentially dangerous. Only play around with it if you are OK with the risks.
This PR contains all of Tuinity's patches. Very notable ones are:
If you are a previous Tuinity user, your config will not migrate. You must do it yourself. The config options have simply been moved into paper.yml, so it will be an easy migration.
Please report any issues you have with this build to this thread only.
This is the paperclip jar with these changes:
https://cdn.discordapp.com/attachments/876902758366736457/882145779735728138/Paper-1.17.1-R0.1-SNAPSHOT.jar
I will update it when needed, and write a reply when it's updated.