1
0
mirror of https://github.com/GeyserMC/Geyser.git synced 2025-12-19 14:59:27 +00:00
Commit Graph

71 Commits

Author SHA1 Message Date
Kas-tle
e2f873466b Update to Gradle 9 (#5976)
* Update gradle to 9.2.0

* Eclipse doesn't like defining a generic in an instanceof check...

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix launching on standalone due to Gradle 9 changes

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Update indra to v4; fix as many gradle deprecation warnings as possible

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Do task order suggestion; remove properties comment line

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix fabric runServer rask

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix :neoforge:runServer gradle task

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix libs.versions.toml

* Fix dupe runtask def

* Update architectury-loom and resolve properties issues

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2025-12-12 19:04:34 -08:00
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
17247f2c33 Revert gradle/shadow update, for now
This reverts commit dc322cba0a and 27cd53ead8.
2025-10-30 02:20:21 +01:00
onebeastchris
dc322cba0a Update gradle to 9.2.0 2025-10-29 21:03:42 +01:00
chris
a41cc9e4a3 API 2.8.3: Support 1.21.100, support sending skins via api (#5742)
* Support 1.21.100

* Add GeyserConnection#sendSkin, #joinAddress and #joinPort (#5641)

* Add GeyserConnection#sendSkin and GeyserConnection#clientConnectionAddress

* address reviews

* Bump to 2.8.3

* Split into joinAddress / joinPort

* Update api/src/main/java/org/geysermc/geyser/api/connection/GeyserConnection.java

* Update api/src/main/java/org/geysermc/geyser/api/connection/GeyserConnection.java

* improve address / port parsing
2025-08-05 16:25: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
chris
7c47459609 Resolve memory usage issues related to Netty 4.2 update (#5536)
* 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>
2025-05-22 17:43:02 +02:00
Tim203
ef4acb121f Scoreboard rework (#4947)
* Initial version of the great scoreboard rework

* Fixed some issues and added some initial tests

* Addressed review

* Added CubeCraft's scoreboard as a test, and fixed a discovered bug

* Removed var usage for primitives and String, removed star imports
2024-10-08 19:26:46 +02:00
Konicai
f8884568ee Gradle: avoid cross-configuration and enable configuration-on-demand (#5012) 2024-09-03 00:54:50 -04:00
chris
efe8077093 Feature: Modrinth version names (#4989)
* Feature: Version names on modrinth published builds

* Also change the fabric/neoforge jar file names
2024-08-25 21:31:03 +02:00
Konicai
87ab51cb28 Cloud for commands (#3808)
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
2024-07-31 20:01:31 -05:00
Alex
a85b312b40 Port to MinecraftAuth (#4779)
Co-authored-by: Kas-tle <26531652+Kas-tle@users.noreply.github.com>
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2024-07-24 17:06:59 -04:00
Camotoy
7612686972 Don't show git version string twice 2024-06-30 22:03:30 -04:00
chris
55e90b6f57 Show build number in startup log, fix Geyser version command(#4336)
* Version check command/startup log shows build number
* Add development build warning
* Fix `/geyser version` command
* Hack around outdated language module
2024-06-22 20:32:29 +02:00
Alex
fc529a661c Fix build errors reporting to the wrong directory by updating blossom (#4771)
* Fix build errors reporting to the wrong directory by updating blossom

* Add info comment
2024-06-20 10:29:42 -07:00
Camotoy
444b5ecee8 Remove BlockStateUpdater dependency
Not currently used
2024-05-27 14:33:11 -04:00
Kas-tle
525a9ccec4 Fix Preview Workflow (#4583)
* Fix preview workflow

* Correct path to artifacts

* Uncomment repo checks

* Don't enforce repo/branch on preview deploy

* Correct paths-ignore for build
2024-04-20 02:47:00 +01: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
Kas-tle
5151c25e1a Support RakNet Cookies (#4554)
* Support cookies

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Use cloudburst upstream raknet

* Comment out mavenLocal()

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2024-04-16 20:52:46 -07:00
Kas-tle
1df63c6de8 Support Bedrock 1.20.70 (#4477)
* Support 1.20.70

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Update readme

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Use 1.20.70 mappings

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Creative lectern drops work but not survival yet

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix lectern book pickup in survival

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Add copyright notices to new files

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Temp fix for incorrect creative_items from Cloudburst/Data

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Fix item frame breaking in creative

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Clarify what to remove when 1.20.60 support is dropped

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Don't use dim change enum pre 1.20.70

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2024-03-11 00:29:27 -07:00
Redned
97fc2de42f NeoForge Platform Support (#3781)
* Initial work on Forge platform

* Rework modded platforms to use a common module

* Add support for integrated worlds on modded platforms

* Fix classload errors and move mixins to shared module

* Fix Fabric mixins and check min height in mod world manager

* Add Forge command support

* Add back modrinth publishing

* Don't apply application plugin to shared mod sources

* Fix docs

* Delete unused class

* Clean up repositories

* - Update to 1.20.2
- set custom refmap name
- fixed console commands crashing the server (hasPermission now accepts CommandSourceStack instead of Player)
- Forge wants fastutil relocated, so be it

Current issues:
- ClassNotFound exceptions with classes that are clearly present

* - Fix ClassNotFound errors on Forge due to weird Classloader
- Dont relocate gson

* merge upstream

* oh no

* Bump lombok, architectury-loom

* init: neoforge 1.20.4 support

* NeoForge builds

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>

* Archive neoforge artifacts

* transformForge -> transformNeoForge

* Neoforge boots!
* Fix mixins on neoforge
* Update build/pr file names
* Update mods.toml to new neoforge standard
* Fix refmap naming

* more fixes
- no need to include gson
- cleanup nullable/nonnull annotations
- add more info to geyser dumps on neoforge

* yeet platform executor

* yet another temp branch to figure out the runServer task

* yeet transitive dependency, that cant be right

* Attempt at getting the runServer task to work, part two

* Revert the changes for the runServer task, try and shut down the injector

* Remove spigot weird bug workaround, shut down properly
Also add a compileOnly dependency for the mod module to get rid of spammy false warnings

* Update to latest restart changes
- fix duplicate nodes crashing neoforge
- connector -> geyser in GeyserModCommandExecutor
- create command manager early to fix issues with permission gather event

* Consistent NeoForge spelling, move some dependencies to the version toml

* Add lombok to version catalogue

* Add plugins to version catalogue

* revert move to buildSrc

* Create `assets/geyser/icon.png` to reference icon from a single file on standalone/neoforge/fabric

* add fabric permissions api to libs.versions.toml

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
Co-authored-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
2024-02-23 17:58:39 +01:00
Konicai
9a8015e8b6 Support Bedrock 1.20.30 (#4115) 2023-09-11 22:22:50 -04:00
chris
903e61f1a3 Exposing resourcepack loading to api (#3696)
Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
Co-authored-by: RednedEpic <redned235@gmail.com>
2023-06-16 20:39:53 -05:00
rtm516
246ebddc78 Remove accessor from previous commit 2023-05-27 14:12:20 +01:00
rtm516
f2d83c4ed1 Fixed GitHub Action run numbers 2023-05-27 14:05:41 +01:00
rtm516
cb440b65ad Fix events not being included 2023-04-22 19:53:46 +01:00
Camotoy
d9811d08e3 Merge remote-tracking branch 'origin/master' into feature/protocol-3.0 2023-04-06 13:26:28 -04:00
Camotoy
e2535108e6 Folia support and preparations for future changes 2023-03-30 15:44:55 -04:00
Camotoy
b3f1c64249 Base changes for Java 1.19.4 support 2023-03-10 20:51:51 -05:00
SupremeMortal
1769f2a85c Merge branch 'master' into feature/protocol-3.0 2023-02-14 22:09:48 +00:00
Tim203
ed36adec56 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	api/src/main/java/org/geysermc/geyser/api/GeyserApi.java
#	api/src/main/java/org/geysermc/geyser/api/command/Command.java
#	api/src/main/java/org/geysermc/geyser/api/command/CommandExecutor.java
#	api/src/main/java/org/geysermc/geyser/api/command/CommandSource.java
#	api/src/main/java/org/geysermc/geyser/api/connection/GeyserConnection.java
#	api/src/main/java/org/geysermc/geyser/api/event/EventBus.java
#	api/src/main/java/org/geysermc/geyser/api/event/EventRegistrar.java
#	api/src/main/java/org/geysermc/geyser/api/event/EventSubscriber.java
#	api/src/main/java/org/geysermc/geyser/api/event/ExtensionEventBus.java
#	api/src/main/java/org/geysermc/geyser/api/event/ExtensionEventSubscriber.java
#	api/src/main/java/org/geysermc/geyser/api/event/connection/ConnectionEvent.java
#	api/src/main/java/org/geysermc/geyser/api/event/downstream/ServerDefineCommandsEvent.java
#	api/src/main/java/org/geysermc/geyser/api/event/lifecycle/GeyserDefineCommandsEvent.java
#	api/src/main/java/org/geysermc/geyser/api/event/lifecycle/GeyserDefineCustomItemsEvent.java
#	api/src/main/java/org/geysermc/geyser/api/event/lifecycle/GeyserLoadResourcePacksEvent.java
#	api/src/main/java/org/geysermc/geyser/api/event/lifecycle/GeyserPostInitializeEvent.java
#	api/src/main/java/org/geysermc/geyser/api/event/lifecycle/GeyserPreInitializeEvent.java
#	api/src/main/java/org/geysermc/geyser/api/event/lifecycle/GeyserShutdownEvent.java
#	api/src/main/java/org/geysermc/geyser/api/extension/Extension.java
#	api/src/main/java/org/geysermc/geyser/api/extension/ExtensionDescription.java
#	api/src/main/java/org/geysermc/geyser/api/extension/ExtensionLoader.java
#	api/src/main/java/org/geysermc/geyser/api/extension/ExtensionLogger.java
#	api/src/main/java/org/geysermc/geyser/api/extension/ExtensionManager.java
#	api/src/main/java/org/geysermc/geyser/api/extension/exception/InvalidDescriptionException.java
#	api/src/main/java/org/geysermc/geyser/api/extension/exception/InvalidExtensionException.java
#	api/src/main/java/org/geysermc/geyser/api/item/custom/CustomItemData.java
#	api/src/main/java/org/geysermc/geyser/api/item/custom/CustomItemOptions.java
#	api/src/main/java/org/geysermc/geyser/api/item/custom/CustomRenderOffsets.java
#	api/src/main/java/org/geysermc/geyser/api/item/custom/NonVanillaCustomItemData.java
#	api/src/main/java/org/geysermc/geyser/api/network/AuthType.java
#	api/src/main/java/org/geysermc/geyser/api/network/BedrockListener.java
#	api/src/main/java/org/geysermc/geyser/api/network/RemoteServer.java
#	api/src/main/java/org/geysermc/geyser/api/util/TriState.java
#	core/build.gradle.kts
#	gradle/libs.versions.toml
#	settings.gradle.kts
2023-02-09 17:34:27 +01:00
Tim203
21885949c7 Moved the base api to a separate repo 2023-02-09 17:31:00 +01:00
Tim203
3ac931e11b Moved the APIs to a dedicated repo
They can now be found at https://github.com/GeyserMC/api
2023-01-07 14:29:33 +01:00
RednedEpic
18e7db8c30 Start on update to Protocol 3.0 2022-10-29 19:23:21 -05:00
Camotoy
ca7799d984 Add core Gradle Adventure change 2022-10-24 13:26:28 -04:00
SupremeMortal
e491cf8a17 Use Gradle's dependency catalogue feature (#3305)
Move all of our dependencies to a single catalogue file to make maintenance of them easier.
2022-09-26 11:43:17 -04:00
Kevin Ludwig
2c5c72f85f Replace particle explosion with particle block explosion in JavaExplodePacket (#3301) 2022-09-23 10:04:15 -04:00
Camotoy
50b99d70a1 Return to using NBT dependency provided by Protocol 2022-09-21 13:39:06 -04:00
Camotoy
98cfdb0b33 Fix epoll on at least standalone 2022-09-20 14:25:39 -04:00
Camotoy
f31b183a33 Rename Geyser standalone jar to Geyser-Standalone.jar 2022-09-19 11:26:47 -04:00
Konicai
c84d53c827 Re-add git.properties (#3287)
Co-authored-by: Camotoy <20743703+Camotoy@users.noreply.github.com>
2022-09-19 11:22:09 -04:00
Camotoy
9791e7b544 One more try on branch name 2022-09-18 16:29:44 -04:00
Camotoy
f11dc6d03d A better educated guess to fix the git branch 2022-09-18 15:56:46 -04:00
Camotoy
44e60b7ad8 An educated guess to fix Git branch 2022-09-18 15:40:44 -04:00
Camotoy
bb2f4644be Fix IO_Uring being included in builds 2022-09-18 15:11:18 -04:00
Camotoy
c8a51d7834 Update to release protocol 1.19.30 2022-09-17 16:37:30 -04:00
Konicai
0aa7411d02 Fix git branch on Jenkins (#3286) 2022-09-15 20:32:38 -04:00
Camotoy
27b948a09b Use Indra to get branch name 2022-09-14 21:22:34 -04:00
Camotoy
e64e12ff98 Initial support for 1.19.30 Bedrock 2022-09-14 21:17:08 -04:00
Camotoy
a99afe4418 Remove usage of Fastutil Object2Reference maps
These are only beneficial for containsValue checks.
2022-09-13 16:24:08 -04:00