Skip to content

Folia Maintenance Question #471

Description

@R00tB33rMan

Folia in its current state is effectively almost unmaintained. There is a dozen PRs that have sat there for months, over 50+ valid issues that have been left ignored, high priority/critical issues and typos manifesting across all parts of the codebase, with a maintainer than never communicates with his users (or someone with the experience to provide a fully thought-through response in said support channels). While admitting Spottedleaf is incredibly talented, these are issues that must be addressed that go beyond just allowing the platform to support newer versions of the game. Unless someone (e.g., Dueris, given his thorough knowledge on the Folia codebase, as provided by "a fork") steps in and continually makes an effort and has the capability to make modifications and improve the Folia repository, the various bugs, issues, and overall instability of Folia will only get worse.

Although this is being presented in light of us clarifying or signifying that we have a "better" fork, it is important to recognize that we want to ensure users not wanting to opt into a fork have the opportunity to at least stably run Folia. This fork has attempted to downstream various already-implemented features with extremely prolonged responses and delays that inevitably make it worthless to even consider migrating fixes into Folia.

To clearly iterate these "widespread issues," I've collected a list of evident concerns that substantially and/or minimally impact users' experience:

  • End credits broken
  • Ender pearls broken
  • Waypoints broken
  • Scoreboard broken
  • World border not fully thread-safe
  • Numerous crashes with entity AI
  • Debug subscribers broken and cause crashes
  • JsonRCP broken and ticked on all regions which isnt safe
  • Players not autosaved correctly
  • Only maps and chunks are autosaved
  • ChunkPacketBlockControllerAntiXray not properly regionized
  • swing command not regionized at all (and is still enabled by Folia)
  • Broken command feedbacks on most commands
  • Max player count is offset by -1 in Folia
  • A few technical Minecraft mechanics are broken
  • Minecraft GUI playerlist is broken
  • Vanish API is broken (incurs unfixable crashes unless Folia is directly modified)
  • Inconsistent event calls
  • Flushing netty connection on every single packet send
  • Broken world load/unload API
  • Typo in RegionizedWorldData that always sets ticking block entities to true
  • A lot of dead old code
  • A lot of dirty code and typos in comments and inconsistent formatting
  • Broken pitch/yaw in tp command
  • Crash reports not generated on region crash
  • Numerous commands still broken/disabled
  • Lots of TODOs still existing with nothing done about them
  • Lack of thread checks on important API
  • Respawn anchor charges never decremented on use via respawning
  • Still many usages of Bukkit.isPrimaryThread()
  • Usages of MinecraftServer#isStopped() causing to issues like chat still being processed during shutdown
  • Entities can leave region bounds if moved with high enoguh velocity, causing crashes with things like ender pearl cannons
  • Riding statistics never updated
  • Lots of entity crashes randomly
  • Ender pearls removed on dimension switch when ender_pearls_vanish_on_death is enabled
  • Subspace bubble advancement calls when respawning in the overworld rather than portaling out of the overworld via a nether portal
    Note: This list is incomplete, truncated, and many more issues follow

While we all understand that availability and time constraints may weigh into one's ability to maintain a project, it's important that PaperMC fulfills its promise of maintaining high quality code. If one or more contributors don't have time to maintain said project, that is their choice (because they aren't necessarily being paid to work on said project); however, that does in fact mean that PaperMC should instill and/or train someone to commit to the project so problems aren't left unchecked for years to come.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions