1
0
mirror of https://github.com/GeyserMC/Geyser.git synced 2026-01-03 14:12:21 +00:00
Commit Graph

288 Commits

Author SHA1 Message Date
Camotoy
765128ce42 Switch config system to Configurate (#5010)
* Start implementing Configurate config system

* More development

* Start migrating to Gson only

* Progress

* Update usage of WebUtils

* Most things now use Gson for JSON

* Allow tests to succeed by using new Gson version

* Use slightly cleaner version for Version deserializer

* Work around older Gson versions without record support

* GeyserCustomSkullConfiguration uses Configurate

* Fix regression in properties get

* New config used in core

* The configuration is gone. Long live the config.

* More changes and migrations away from Jackson

* Improve node ordering when updating configs

* typo

* Better check for ignoring non-configurate configs for considering comment moving

* Ensure metrics UUID is valid

* Initial advanced config

* Remove Jackson; finish config value placements

* Remove duplicate relocate declarations

* Let annotations work

* Renaming to PluginSpecific

* Use global bStats config where possible

* Fix test

* Re-introduce asterisk behavior in configs

* Remove GeyserPluginBootstrap as it's no longer necessary

* Remove old config.yml file

* Update Xbox achievement comment

* Apply suggestions from code review

Co-authored-by: chris <github@onechris.mozmail.com>

* No need to remove values anymore

* Fix: disable bstats relocation on platforms where it is not needed

* ensure it builds

* Update custom unavailable slot comment

Co-authored-by: chris <github@onechris.mozmail.com>

* Update cooldown image

* Logger message for direct-compression still being enabled

* oops

* More explicit RuntimeException message

Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>

* Constant for 'system' locale

* Better config JSON encoding (something is broken with Cloudflare; we'll figure it out

* Fix broadcast port default

* Add this file too

* Update configurate branch

* fix build

* Fix: Allow using custom config file on Standalone, add relocation comment

* Move config loading to GeyserBootstrap interface

* Add and rename some config options, add section notes (#5390)

* Add and rename some config options, add section notes

* adjust message

* Update core/src/main/java/org/geysermc/geyser/command/defaults/ConnectionTestCommand.java

Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>

* Update core/src/main/java/org/geysermc/geyser/configuration/GeyserConfig.java

Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>

* Update ConfigLoader.java

* Update AdvancedConfig.java

* clarify that we're talking about the HAProxy protocol

* rename config option to use-haproxy-protocol

* remove ominous warning sign on xbox auth warning

* adjust wording

---------

Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>

* Back to one config file

* Some minor touchups

* Configurate: Sectionification (#5904)

* Init: config sections

* Start on adding tests, move migrations over to ConfigMigrations class

* Get rid of auth section again, rename that one config option, fix mtu migration

* Move custom skulls config options to the bottom of the gameplay settings

* Add more tests

* Rename and migrate proxy-protocol-whitelisted-ips to haproxy-protocol-whitelisted-ips

* Add automatic downloading of the GeyserOptionalPack

* Revert "Add automatic downloading of the GeyserOptionalPack"

This reverts commit 65b96208fb.

* Add more invalid config tests

* Warn about emote-offhand-workaround removal

* Add automatic loading of the GeyserOptionalPack (feature/configurate) (#5964)

* Add automatic downloading of the GeyserOptionalPack

* Warn about including the OptionalPack from extensions when Geyser is already including it instead of throwing.

* Copy optional pack instead of downloading

---------

Co-authored-by: onebeastchris <github@onechris.mozmail.com>

* Remove unused variable

* Start warning users not running Java 21

* Update tests, temporarily remove NumericRanges test

* Remove duplicate advanced section from Geyser dump

* Address some "reviews"

* yeet md5 hash from geyser dump

* Add info about number of resource packs / amount of mappings into Geyser dump

* Re-enable invalid config loading test

* Fix: allow-custom-skulls migration

* Fix test

* Add "enable-emotes" configuration option

* Rename "emotes-enabled" to "show-emotes"

* Only enable integrated pack when optional pack isn't present

* Update integrated pack

* Exclude jackson annotations, remove leftover debug print

* Remove one-time config migration warnings as we don't have access to the logger at that stage

* Throw more detailed descriptive error when loading resource packs from the "packs" folder, add another legacy config test

* Fix NeoForge's fun module conflict

* Re-add warning about moved functionality, fix Geyser-ViaProxy

This reverts commit fbadfa574a.

* oops

* Move GeyserLegacyPingPassthrough to separate thread to avoid Standalone command locking issues

---------

Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
Co-authored-by: chris <github@onechris.mozmail.com>
Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>
Co-authored-by: Aurora <auroranova8756@gmail.com>
2025-11-18 17:55:12 +01:00
onebeastchris
2dfe846a40 Indicate 1.21.9/1.21.10 support on modrinth, update cloud command library 2025-10-12 14:34:43 +02:00
onebeastchris
826b4b4e48 Indicate 1.21.112/1.21.113 support, track server platform types in bstats metrics 2025-10-12 13:34:29 +02:00
Aurorawr
14892a2ece Add native Mojmaps to Compression and Login Finish packet (#5875) 2025-10-03 23:00:47 +01:00
onebeastchris
461acb62a9 Fix: Geyser-Spigot modrinth publishing 2025-07-25 22:03:23 +02:00
onebeastchris
df4bb4f1c1 Update netty & mcpl dependencies
Fixes https://github.com/GeyserMC/Geyser/issues/5375, https://github.com/GeyserMC/Geyser/issues/5301, fixes https://github.com/GeyserMC/Geyser/issues/5050
2025-07-25 20:04:39 +02:00
onebeastchris
17bd368c9d Actually remove PlayerLoginEvent usage, resolve incorrect waypoint color reading
Fixes https://github.com/GeyserMC/Geyser/issues/5669, fixes https://github.com/GeyserMC/Geyser/issues/5636
2025-07-12 21:53:52 +02:00
onebeastchris
34e7dc96a2 Remove PlayerLoginEvent usage on Geyser-Spigot 2025-07-11 03:16:18 +02:00
Eclipse
92d12bf7bc Fix block by Java key lookup (#5637)
* Fix block by Java key lookup, optimise hardcoded lookup a bit, clarify Javadocs

* Rename the registry too
2025-07-01 12:33:37 +00:00
onebeastchris
eb73ed8fc5 Fix issues with paper ping passthrough 2025-04-22 15:53:27 +02:00
chris
69329f2cad Feature: Resource Pack API additions - ResourcePackOptions and a GeyserDefineResourcePacksEvent (#4978) 2025-03-25 15:49:18 +01:00
Alex
5f0611ff0f Switch all ping passthroughs to json to avoid parsing warning (#5363) 2025-02-25 22:33:10 +01:00
Alex
07be402563 Add run tasks and remove useless variables (#5362)
* 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
2025-02-22 12:31:37 +01:00
Alex
613718a52d Implement session restructure mcpl PR, fix disconnect messages in configuration stage (#5196)
* Implement session restructure mcpl PR

* Bump mcpl

* Update mcpl api usage

* Update MCPL to release, fix https://github.com/GeyserMC/Geyser/issues/5281 (1daf036f57)

* Use correct mcpl dependency

* apparently 1.21.4-1 doesn't exist? back to snapshots then

---------

Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2025-01-18 13:53:09 +01:00
Alex
f1ed841e07 Add support for rcon console command senders (#5261)
RemoteConsoleCommandSender does not inherit ConsoleCommandSender, so we gotta handle it explicitly.
2025-01-04 14:28:54 +01:00
onebeastchris
abf14e6ef9 Merge remote-tracking branch 'refs/remotes/upstream/master' into feature/1.21.4
# Conflicts:
#	core/src/main/java/org/geysermc/geyser/registry/populator/BlockRegistryPopulator.java
#	core/src/main/java/org/geysermc/geyser/registry/populator/ItemRegistryPopulator.java
#	gradle/libs.versions.toml
2024-12-05 18:51:22 +08:00
Alex
2019e53bad Feature: Accurate Java packet ticking (#5121)
* Use proposed mcpl ticking PR

* Remove more not needed overrides

* Bump mcpl

* Fix missing import

* Bump mcpl

* Switch to official version

---------

Co-authored-by: chris <github@onechris.mozmail.com>
2024-12-05 18:35:03 +08:00
chris
d2051c2242 Various small fixes - update cloudburst/protocol dependency, remove "temporary" log info spamming (#5186) 2024-12-05 01:11:03 +08:00
onebeastchris
db246ffb3b Update Properties/Blocks, re-include neoforge, target 1.21.4 release 2024-12-04 01:28:29 +08:00
onebeastchris
48ae28432e More changes - remove getPickItemComponents in WorldManager, separate additional and base component 2024-12-02 02:23:02 +08:00
Konicai
f8884568ee Gradle: avoid cross-configuration and enable configuration-on-demand (#5012) 2024-09-03 00:54:50 -04:00
Konicai
1ab3f1f2e0 Improve command registration timing on Velocity/BungeeCord (#5013) 2024-09-01 15:34:53 -04:00
chris
ee43ef8369 Disable the plugin if we failed to load on Spigot (#4960) 2024-08-13 01:45:25 +02:00
chris
d3ea65196b Feature: Detect incorrect proxy setups (#4941)
* Feature: Detect & warn about incorrect proxy setups on Spigot platforms

* Properly disable Geyser if we failed to load
2024-08-11 00:50:27 +02:00
chris
ee0b34e490 Indicate 1.21.1 Java support
- Indicate 1.21.1 support on modrinth/in the README.md

- Add all supported versions of Geyser-Spigot to modrinth (#4952)
2024-08-09 02:15:08 +02:00
Konicai
87ab51cb28 Cloud for commands (#3808)
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2024-07-31 20:01:31 -05:00
Camotoy
2c47330509 Use integrated world managers for decorated pot animation 2024-06-19 15:52:54 -04:00
chris
77fa37ff82 Fix: readme not being synched to modrinth, publish spigot/bungee/velocity variants to modrinth (#4761)
* 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
2024-06-17 21:31:54 +02:00
onebeastchris
b1d319bb7e Add Spigot 1.21 world adapter 2024-06-15 18:39:09 +02:00
onebeastchris
b6653acc29 Catch Throwable when trying to load world adapter 2024-06-13 19:53:47 +02:00
onebeastchris
aaad10b8c9 Merge remote-tracking branch 'upstream/master' into dev 2024-06-03 20:54:10 +02:00
chris
63c84bc25b Yeet lectern cache (#4695)
* attempt to yeet lectern cache

* yeet lecternutils usage

* properly update lecterns

* yeet accidental diff
2024-05-29 00:39:39 -04:00
chris
0fcf0f9b4f Update Bungee version check, create logger earlier (#4697)
* use the logger where possible instead of system.out.print

* make loggers final

* yeet unused constructors

* velocity is more complicated
2024-05-28 17:23:19 +02:00
Camotoy
db166ad8de Small optimizations and BlockStateValues reduction 2024-05-20 21:26:01 -04:00
Camotoy
1e9dbaf38b Here is the Spigot change 2024-05-18 16:54:42 -04:00
Camotoy
a439f3e3d7 Fix compilation for Spigot 2024-05-17 21:14:59 -04:00
Camotoy
cbaa9cd2a0 Block refactory 2024-05-16 23:12:06 -04:00
Camotoy
9bca012194 Bump Erosion 2024-05-15 15:31:02 -04:00
onebeastchris
255835438d viaversion 4.10.0 compat, indicate 1.20.6 support on modrinth 2024-04-30 21:59:38 +02:00
onebeastchris
dd745b901f move to paper-adapters 2024-04-30 20:48:10 +02:00
onebeastchris
5d3630cf23 ominous banners - this really isn't ideal 2024-04-29 23:19:18 +02:00
onebeastchris
8b7b8cdffd Properly shutdown LocalSession's, ensure transferring works properly regardless if we're injected or not 2024-04-29 16:08:14 +02:00
onebeastchris
9b1e45007a Fix injectors, should work with Spigot/Paper 1.20.5 now 2024-04-28 23:41:13 +02:00
onebeastchris
91a74603c7 idea: deal with cookies and transfer 2024-04-26 14:50:48 +02:00
Camotoy
b29e0d9d10 Move MCProtocolLib to dev - package ID change 2024-04-24 16:39:35 -04:00
onebeastchris
c48428daf0 init: pick item component change 2024-04-24 16:26:58 -04:00
chris
94f664ad8d Fix: Properly check whether the so_reuseport socket option is available (#4579)
* 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>
2024-04-19 11:50:40 +02:00
chris
867cf6da05 Feature: JiJ dependencies on modded platforms (#4502)
* 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
2024-03-19 23:05:30 +01:00
chris
123990a795 Update ViaVersion api usage 2024-03-02 20:03:18 +01:00
chris
6a51d8298f Feature: Rework startup logic (#4377)
* 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.
2024-02-14 12:50:50 +01:00