* More proper workaround for direct connection using Netty 4.2
* Add check for outdated Velocity
* BungeeCord support for Netty 4.2
* Use pooled allocator
* Small cleanup: only one allocator system property check, pin comment to static commit
* Set allocator type on Standalone using netty system property
* Don't mess with allocator, both BungeeCord and Velocity set it globally
* Temporarily remove io_uring support
In order to support io_uring transport after the 4.2 update, we'd need to separately handle 4.1 and 4.2 event loop group creation
* Add compileOnly netty io_uring dependency for Geyser-BungeeCord
* Exclude old incubator io_uring dependency on geyser-standalone
---------
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
* Inventory translators are now part of inventories, try fixing inventory reusing, use NetworkStackLatency hack
* Add debug, re-add force open hack
* don't log to info
* fix debug npe
* Don't set setPending when opening pending inventories, add more delay to re-opening rejected inventories
* Use inventory#getTranslator to hopefully avoid translator/inventory desync
* Minor cleanup
* Update core/src/main/java/org/geysermc/geyser/GeyserLogger.java
* Reuse inventories whenever possible, prevent bedrock inventory id conflicts
* Fix debug logging with arguments, don't attempt to re-use inventory that's currently closing
* Some documentation, include pending inventories in re-use check
* "bad html entity"
* add wayyyy more debugging to container reusing checks
* yeet java id check
* Fixes related to hacky plugins that spam open screen packets
* no clue how this slipped by
* Don't reuse real blocks, yeet Inventory#isDelayed
* Add run tasks and remove useless variables
The benefit of run tasks is that proxies like velocity can be prototyped on without using standalone or a GUI. Thus simplifying the prototyping/fixing process.
* Drop runwaterfall
* Fix: readme not being synched to modrinth
* use new build_number system env var
* also upload bungee/spigot/velocity
* change name
* undo debug mode, oops
* Try to properly check if so_reuseport is available
* io_uring "support"
* comment out io_uring, for now
* Make IO_uring opt-in via `-DGeyser.io_uring=true` flag
* dont include io_uring
* oops - bungee
editing on mobile is hard
* oops - spigot
* oops - velocity
* properly exclude all io_uring on all platforms except standalone
---------
Co-authored-by: Kas-tle <26531652+Kas-tle@users.noreply.github.com>
* Use JiJ inclusion for Fabric/NeoForge to prevent mod conflicts. Further: Don't publish shadow jars to maven.
* Shade and relocate dependencies that don't conform to SemVer on Fabric
* Shade/Relocate dependencies on Fabric to avoid version warnings
* Use relocate function from the build-logic plugin
* This makes `geyser reload` work the same across all platforms. For example, it ensures that we reload the config to the greatest extent possible (with the exception of compression/injection settings). Additionally, this clears up issues where Extensions were previously disabled during reloading - instead, the new Pre and Post reload events allow extensions to reload whatever necessary on their own.
* Fix: ListenerBoundEvent could set `INITIALIZED` to true, even if we did not initialize yet - move that to postStartup() instead.
* only assign INITIALIZED once, and only after the correct listenertype bound.
* Fix /geyser reload on Velocity
* No need to create/init a new injector on Velocity
* No need to warn about "abnormally long startup" on Bungee when we're reloading. And, as on velocity, no need to re-inject
* System property stuff
* Add geyserUdpPort/Address system properties as overrides for pluginUdpPort/Address
* Fix formatting for if-else statements
---------
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
Geyser installations will now get notified when a new Bedrock release is out and Geyser must be updated. The system works similarly to ViaVersion where OPs get a notification of an update when they join. The permission node for players to see update notifications is `geyser.update` and the backing JSON that controls this can be found at https://github.com/GeyserMC/GeyserSite/blob/gh-pages/versions.json. There is also a config option to disable update checking.
This update also fixes modern Paper installations not being able to see colored text logged from Geyser in the console.