From 92bb5ede46466539f1b7b8aee25178102260fab2 Mon Sep 17 00:00:00 2001 From: Kas-tle <26531652+Kas-tle@users.noreply.github.com> Date: Tue, 16 Apr 2024 08:15:28 -0700 Subject: [PATCH 01/25] Remove RakOfflinePacketLimit system property (#263) --- .../geyser-command-line-arguments-and-system-properties.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/_docs/geyser/geyser-command-line-arguments-and-system-properties.md b/_docs/geyser/geyser-command-line-arguments-and-system-properties.md index e2456aa..f8c51c9 100644 --- a/_docs/geyser/geyser-command-line-arguments-and-system-properties.md +++ b/_docs/geyser/geyser-command-line-arguments-and-system-properties.md @@ -50,8 +50,6 @@ You may disable some warnings that may be printed to the console by using the fo Setting "command-suggestions" to false in the config will also disable this. - `-DGeyser.RakPacketLimit=120` - Sets RakNet's per-ip per-tick (10ms) post-connection packet limit. -- `-DGeyser.RakOfflinePacketLimit=10` - - Sets RakNet's per-ip per-second pre-connection packet limit. - `-DGeyser.RakGlobalPacketLimit=100000` - Sets RakNet's per-tick (10ms) overall packet limit. - `-DGeyser.RakRateLimitingDisabled=true` From 58fd2b6dde34c37a755948715f16d52ef8f60c83 Mon Sep 17 00:00:00 2001 From: rtm516 Date: Mon, 22 Apr 2024 18:20:20 +0100 Subject: [PATCH 02/25] Fix events typo --- _docs/geyser/events.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_docs/geyser/events.md b/_docs/geyser/events.md index 9435625..baeab1a 100644 --- a/_docs/geyser/events.md +++ b/_docs/geyser/events.md @@ -50,7 +50,7 @@ public class ExampleMod implements ModInitializer, EventRegistrar { // here an event, we subscribe as usual with the @Subscribe annotation @Subscribe - public void onGeyserPostInitializeEvent(GeyserPostInitializeEvent eventad { + public void onGeyserPostInitializeEvent(GeyserPostInitializeEvent event) { LOGGER.info("Geyser started!"); } } @@ -99,4 +99,4 @@ To (optionally) set the priority of your event listener, you can add the priorit @Subscribe(postOrder = PostOrder.EARLY) ``` If you do not specify a priority, the default priority is used. For all available priorities, see -[here](https://github.com/GeyserMC/Events/blob/master/src/main/java/org/geysermc/event/PostOrder.java). \ No newline at end of file +[here](https://github.com/GeyserMC/Events/blob/master/src/main/java/org/geysermc/event/PostOrder.java). From 95d2d72a6bf2062c432302c3bf363ec10d984386 Mon Sep 17 00:00:00 2001 From: chris Date: Mon, 22 Apr 2024 19:38:14 +0200 Subject: [PATCH 03/25] update event docs (#264) --- _docs/geyser/events.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_docs/geyser/events.md b/_docs/geyser/events.md index baeab1a..b5e335c 100644 --- a/_docs/geyser/events.md +++ b/_docs/geyser/events.md @@ -42,7 +42,7 @@ public class ExampleMod implements ModInitializer, EventRegistrar { @Override public void onInitialize() { ServerLifecycleEvents.SERVER_STARTING.register((server) -> { - GeyserApi.api().eventBus().register(this, ExampleMod.class); // register your mod & this class as a listener + GeyserApi.api().eventBus().register(this, this); // register your mod & this class instance as a listener }); LOGGER.info("Geyser is cool!"); @@ -76,7 +76,7 @@ public class ExamplePlugin extends JavaPlugin implements EventRegistrar { @Override public void onEnable(){ getLogger().info("Registering Geyser event bus!"); - GeyserApi.api().eventBus().register(this, this); // register your plugin & this class as a listener + GeyserApi.api().eventBus().register(this, this); // register your plugin & this class instance as a listener } // here an event, we subscribe as usual with the @Subscribe annotation From df23f141385168cb1b30feebbee35a50ecd3d451 Mon Sep 17 00:00:00 2001 From: CloudyOrk <120650272+CloudyOrk@users.noreply.github.com> Date: Wed, 24 Apr 2024 19:11:46 +0530 Subject: [PATCH 04/25] Show 1.20.80 version support on the wiki (#265) --- _data/versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/versions.json b/_data/versions.json index d7d6b9c..3ee7820 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1,4 +1,4 @@ { - "bedrock": "1.20.40-1.20.71", + "bedrock": "1.20.40-1.20.80", "java": "1.20.4" } From ecef7e0d25f832880a5885de992681594dcad6c7 Mon Sep 17 00:00:00 2001 From: Kas-tle <26531652+Kas-tle@users.noreply.github.com> Date: Wed, 24 Apr 2024 06:55:56 -0700 Subject: [PATCH 05/25] Add system property Geyser.RakSendCookie to allow disabling cookie send (#266) --- .../geyser-command-line-arguments-and-system-properties.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_docs/geyser/geyser-command-line-arguments-and-system-properties.md b/_docs/geyser/geyser-command-line-arguments-and-system-properties.md index f8c51c9..2d1ddbe 100644 --- a/_docs/geyser/geyser-command-line-arguments-and-system-properties.md +++ b/_docs/geyser/geyser-command-line-arguments-and-system-properties.md @@ -54,6 +54,8 @@ You may disable some warnings that may be printed to the console by using the fo - Sets RakNet's per-tick (10ms) overall packet limit. - `-DGeyser.RakRateLimitingDisabled=true` - Completely disable RakNet's post-connection rate limiter. This should not be disabled unless initial RakNet connections are being handled by a reverse proxy. +- -`-DGeyser.RakSendCookie=false` + - Disables sending and validation of a cookie challenge in [Open Connection Reply 1](https://wiki.vg/Raknet_Protocol#Open_Connection_Reply_1) packet. This should not be set to `false` unless Geyser is running behind a reverse proxy that is also sending a challenge to prevent IP spoofing. ## Geyser-Standalone specific options: From b44ca915e6ee55540050f3f5ee6dfe75d7ad3c12 Mon Sep 17 00:00:00 2001 From: Timmi6790 <13711365+Timmi6790@users.noreply.github.com> Date: Sun, 28 Apr 2024 21:23:56 +0200 Subject: [PATCH 06/25] docs: replace uuid.kejona.dev with mcprofile.io (#267) * docs: replace uuid.kejona.dev with mcprofile.io --- _data/faq.yml | 2 +- _docs/floodgate/faq.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_data/faq.yml b/_data/faq.yml index 938bf1c..f57fcc6 100644 --- a/_data/faq.yml +++ b/_data/faq.yml @@ -101,7 +101,7 @@ - title: How do I find a player's UUID without them joining when using Floodgate? content: | - Use [this page.](https://uuid.kejona.dev/) If this doesn't work, then try this method: + Use [this page.](https://mcprofile.io/) If this doesn't work, then try this method: First, you'll need to get the XUID of the player. There are several third-party websites to find this, for example, [this one](https://cxkes.me/xbox/xuid) (unaffiliated with Geyser). Make sure to choose "Hexidecimal." You'll need to enter the player's Xbox Gamertag, and, once submitted, it should display the XUID in the format of `xxxxxxxxxxxxxxxx`. To turn the XUID into a UUID that Java Edition can recognize, you need to put the XUID in this format: `00000000-0000-0000-xxxx-xxxxxxxxxxxx`. If formatted right, Java Edition should accept it as a UUID. diff --git a/_docs/floodgate/faq.md b/_docs/floodgate/faq.md index 0920c4d..3660639 100644 --- a/_docs/floodgate/faq.md +++ b/_docs/floodgate/faq.md @@ -13,7 +13,7 @@ In your Floodgate config, change `username-prefix` to whichever prefix you desir On some older Paper servers (or any forks that use them), you may need to also shut down your server and delete your `usercache.json` file located in the same folder as your server jar to prevent users who already joined from having the old prefix. See [this issue](/floodgate/issues/#prefix-is-not-changing-on-the-server-after-changing-it-in-the-config) for more information. ## Obtaining UUIDs for Floodgate players -Check your server logs, or use [this](https://uuid.kejona.dev/) page. If this doesn't work, then try this method: +Check your server logs, or use [this](https://mcprofile.io/) page. If this doesn't work, then try this method: First, you'll need to get the XUID of the player. There are several third-party websites to find this, for example, [this one](https://www.cxkes.me/xbox/xuid) (unaffiliated with Geyser). Make sure to choose "Hexidecimal." You'll need to enter the player's Xbox Gamertag, and, once submitted, and it should display the XUID in the format of `xxxxxxxxxxxxxxxx`. To turn the XUID into a UUID that Java Edition can recognize, you need to put the XUID in this format: `00000000-0000-0000-xxxx-xxxxxxxxxxxx`. If formatted right, Java Edition should accept it as a UUID. From 2bf973e6b8cb5f48e4197adb1d625838a2454dca Mon Sep 17 00:00:00 2001 From: Adriel <79513978+adriellwc@users.noreply.github.com> Date: Fri, 3 May 2024 05:39:06 +0800 Subject: [PATCH 07/25] Update versions.json (#268) --- _data/versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/versions.json b/_data/versions.json index 3ee7820..308f31c 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1,4 +1,4 @@ { "bedrock": "1.20.40-1.20.80", - "java": "1.20.4" + "java": "1.20.5/1.20.6" } From b8cc7d148f5c8770f50bdc3f1b0b1c66c722d4c9 Mon Sep 17 00:00:00 2001 From: Ethan <68365423+letsgoawaydev@users.noreply.github.com> Date: Sat, 4 May 2024 17:17:30 +0800 Subject: [PATCH 08/25] Add GeyserExtras to Community Projects page (#270) --- _docs/other/community-geyser-projects.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/_docs/other/community-geyser-projects.md b/_docs/other/community-geyser-projects.md index 44646d3..c1441ca 100644 --- a/_docs/other/community-geyser-projects.md +++ b/_docs/other/community-geyser-projects.md @@ -75,6 +75,15 @@ Plugin that blocks Java players from joining your Geyser server, so you can have Creator: [Camotoy](https://github.com/Camotoy) +## GeyserExtras +A Spigot plugin which attempts to unify features for Bedrock Edition players, including features like a cleaner looking combat cooldown, combat sounds and other helpful features and workarounds. + +* [Modrinth](https://modrinth.com/plugin/geyserextras) +* [Hangar](https://hangar.papermc.io/GeyserExtras/GeyserExtras) +* [GitHub](https://github.com/GeyserExtras/GeyserExtras) + +Creator: [LetsGoAway](https://github.com/letsgoawaydev) + ## GeyserPreventServerSwitch Prevent Bedrock players from joining specific sub-servers on a proxy From c7a8209478edcc6a3fefe427c56ba6ed76243792 Mon Sep 17 00:00:00 2001 From: CloudyOrk <120650272+CloudyOrk@users.noreply.github.com> Date: Sun, 5 May 2024 15:09:22 +0530 Subject: [PATCH 09/25] Update versions.json (#271) --- _data/versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/versions.json b/_data/versions.json index 308f31c..39353f2 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1,4 +1,4 @@ { - "bedrock": "1.20.40-1.20.80", + "bedrock": "1.20.40-1.20.81", "java": "1.20.5/1.20.6" } From 8107594bd9b94718018ce80a83b0ff300f82982e Mon Sep 17 00:00:00 2001 From: Shadowdude <86128177+ShadowPro1@users.noreply.github.com> Date: Tue, 7 May 2024 00:15:27 +0300 Subject: [PATCH 10/25] Add PaperNodes to the provider list (#256) * Update providers.json Added a new hosting provider that supports geyser * Update providers.json * Update providers.json --- _data/providers.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_data/providers.json b/_data/providers.json index 1ee6482..8a45aaa 100644 --- a/_data/providers.json +++ b/_data/providers.json @@ -303,6 +303,11 @@ "url": "https://nodecraft.com", "description": "Use the default server port and `0.0.0.0` or your server IP as the host address." }, + { + "name": "PaperNodes", + "url": "https://papernodes.com/", + "description": "Enable clone-remote-port (or manually set the Bedrock port to the Java port), and connect with the Java IP and port. Alternatively, you can contact the host to request an additional port or a dedicated IP." + }, { "name": "Pebblehost", "url": "https://pebblehost.com/", From fc396817c1b26db063a4241db4d76887119ca8b0 Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 7 May 2024 00:35:59 +0100 Subject: [PATCH 11/25] Add Lilypad to providers.json (#258) * Add Lilypad to providers.json * Update _data/providers.json Co-authored-by: chris --------- Co-authored-by: chris --- _data/providers.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_data/providers.json b/_data/providers.json index 8a45aaa..51b3f65 100644 --- a/_data/providers.json +++ b/_data/providers.json @@ -41,6 +41,11 @@ "url": "https://ggservers.com", "description": "Can be installed to any server from their auto plugin setups. No further configuration needed." }, + { + "name": "Lilypad", + "url": "https://lilypad.gg/", + "description": "Choose the 'Pufferfish + Geyser' option during checkout to automatically install Geyser, or follow the guide at [lilypad.gg/bedrock](https://lilypad.gg/bedrock)." + }, { "name": "MCProHosting", "url": "https://mcprohosting.com/", From a72791a3c63376f1d44ad43d5b8d69b0d4c84b6e Mon Sep 17 00:00:00 2001 From: Clay B <47536873+notmods@users.noreply.github.com> Date: Tue, 7 May 2024 02:01:49 -0400 Subject: [PATCH 12/25] Add Host Havoc to providers list (#272) --- _data/providers.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_data/providers.json b/_data/providers.json index 51b3f65..682b390 100644 --- a/_data/providers.json +++ b/_data/providers.json @@ -243,6 +243,11 @@ "url": "https://hostez.io/minecraft", "description": "Geyser plugin supported with self-install or installed on request with its own port." }, + { + "name": "Host Havoc", + "url": "https://hosthavoc.com/minecraft", + "description_template": "default" + }, { "name": "Hosting-Minecraft", "url": "https://hosting-minecraft.pro/", From b331423bc5041cfc9b59ead6b842d2c2b3445cac Mon Sep 17 00:00:00 2001 From: Heywaht <62307852+Heywaht@users.noreply.github.com> Date: Fri, 10 May 2024 21:52:13 +0200 Subject: [PATCH 13/25] Add MCFORFREE to the providers list (#259) * Update providers.json * Update _data/providers.json --------- Co-authored-by: chris --- _data/providers.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_data/providers.json b/_data/providers.json index 682b390..7f540b8 100644 --- a/_data/providers.json +++ b/_data/providers.json @@ -273,6 +273,11 @@ "url": "https://mc-host24.de/", "description_template": "ip_and_port" }, + { + "name": "MCFORFREE.DE", + "url": "https://mcforfree.de/", + "description": "Create an extra port in the game panel, then change the `port` in the `bedrock` section to the newly created port. To connect on Bedrock edition, use the Java server's IP and the port you've created. It may take a few minutes for the port to become active." + }, { "name": "MCPEhost.ru", "url": "https://mcpehost.ru", From d5039ba08d93a9609db65c910cda84665b9c4540 Mon Sep 17 00:00:00 2001 From: DiamonC <88857034+DiamonC@users.noreply.github.com> Date: Tue, 14 May 2024 06:24:44 -0500 Subject: [PATCH 14/25] Add Arth Hosting and reorganize (#262) * Update providers.json - Arth Hosting I added arth hosting and re-ordered apex hosting and aternos to be in alphabetical order * Update _data/providers.json Co-authored-by: rtm516 --------- Co-authored-by: rtm516 --- _data/providers.json | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/_data/providers.json b/_data/providers.json index 7f540b8..63c0f8f 100644 --- a/_data/providers.json +++ b/_data/providers.json @@ -6,16 +6,21 @@ "java_ip": "Make sure your remote address is 'auto', uncomment `bedrock address`, and change `0.0.0.0` to your Java server's IP." }, "built_in": [ - { - "name": "Aternos", - "url": "https://aternos.org/", - "description": "Install Geyser in the Aternos plugin list and connect to your server with your Java IP and port. See [Aternos's article](https://support.aternos.org/hc/en-us/articles/360051047631) for more details. Do note: Aternos automatically installs the latest version of the plugin, but does not auto update it. To update Geyser on Aternos, simply reinstall the plugin (no need to uninstall the plugin/deleting the plugin files)." - }, { "name": "Apex Hosting", "url": "https://apexminecrafthosting.com/", "description": "Full auto installation. Go to the Customizations tab in the panel and select 'Enabled' under the 'Geyser Auto Installer' option. Then, restart and connect to your server with your Java IP and port. See [Apex's article](https://apexminecrafthosting.com/geysermc/) for more details." }, + { + "name": "Arth Hosting", + "url": "https://arthmc.xyz/", + "description": "Geyser is installed and configured on all servers by default. You can disable it in the 'Manage Plugins' menu." + }, + { + "name": "Aternos", + "url": "https://aternos.org/", + "description": "Install Geyser in the Aternos plugin list and connect to your server with your Java IP and port. See [Aternos's article](https://support.aternos.org/hc/en-us/articles/360051047631) for more details. Do note: Aternos automatically installs the latest version of the plugin, but does not auto update it. To update Geyser on Aternos, simply reinstall the plugin (no need to uninstall the plugin/deleting the plugin files)." + }, { "name": "Cloud Nord", "url": "https://cloudnord.net/", From 077d08a699d58b98e973f37917f2ae0940a774fc Mon Sep 17 00:00:00 2001 From: Samuel L <51273077+ssh-sysadmin@users.noreply.github.com> Date: Tue, 14 May 2024 07:26:20 -0400 Subject: [PATCH 15/25] Add advisory regarding OVH Game DDoS incompatibility (#273) * add advisory regarding ovh ddos incompatibility * remove blank line Co-authored-by: chris * improve clarity of fixes Co-authored-by: chris * add dashes to references for proper formatting Co-authored-by: rtm516 * improve clarity --------- Co-authored-by: chris Co-authored-by: rtm516 --- _docs/geyser/port-forwarding.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/_docs/geyser/port-forwarding.md b/_docs/geyser/port-forwarding.md index f141381..8d4ab2a 100644 --- a/_docs/geyser/port-forwarding.md +++ b/_docs/geyser/port-forwarding.md @@ -123,7 +123,7 @@ Alternatively, try connecting to the server first on Java edition, then on Bedro OVH: 1. Navigate to `Network interfaces` -2. Click on the `...` button on the table for your IP -> then `...` and `Configure the GAME firewall` -> `Add rule` -> `Other protocol` (or `minecraftPocketEdition` if available) +2. Click on the `...` button on the table for your IP -> then `...` and `Configure the GAME firewall` -> `Add rule` -> `Other protocol` ~~(or `minecraftPocketEdition` if available)~~ 3. Add your Geyser port into `outgoing port`. SoYouStart (subsidiary of OVH): @@ -133,6 +133,15 @@ SoYouStart (subsidiary of OVH): 4. Select "minecraftPocketEdition" in the dropdown list and enter the target UDP ports. 5. Save and wait a few seconds for the changes to come into effect. +#### OVH/SoYouStart Game Firewall Incompatibility Issue +The OVH GAME filter type `minecraftPocketEdition` currently does not work and you must use the `Other` type. + +If you would like to continue using the filter type `minecraftPocketEdition`, you may disable the incompatible security feature by adding `-DGeyser.RakSendCookie=false` to your Java server's (or Geyser Standalone proxy's) startup flags. + +For more information see: + - [This issue on OVH's infrastructure roadmap](https://github.com/ovh/infrastructure-roadmap/issues/186) + - [The pull request which implemented the security feature that caused the incompatibility](https://github.com/GeyserMC/Geyser/pull/4554) + ### Oracle Cloud/OCI By default, Oracle Cloud will block all incoming traffic except for SSH and RDP. This must be resolved within Oracle Cloud itself and the Compute Instance running Geyser. From 387c04124aaf1e9683babefdef57e1e1c029df8b Mon Sep 17 00:00:00 2001 From: Vetta1337 <64189696+Vetta1337@users.noreply.github.com> Date: Mon, 27 May 2024 14:00:44 +0200 Subject: [PATCH 16/25] Update providers.json (#274) * Update providers.json Added Wepwawet host. * Update providers.json --- _data/providers.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_data/providers.json b/_data/providers.json index 63c0f8f..a4b5f55 100644 --- a/_data/providers.json +++ b/_data/providers.json @@ -429,6 +429,11 @@ "url": "https://vultam.net/", "description": "Set the `bedrock port` to the Java server's port, or request an additional port. The additional port can be `19132` if you buy a dedicated IP." }, + { + "name": "Wepwawet", + "url": "https://wepwawet.net/", + "description": "Add a new port in the Network tab. Use this new port as the bedrock port." + }, { "name": "WinterNode", "url": "https://winternode.com", From 5d51ff0e3cbd63796f95f9cc4d30e564becdba5a Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 6 Jun 2024 00:31:47 +0200 Subject: [PATCH 17/25] Update current limitations page (#277) --- _docs/geyser/current-limitations.md | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/_docs/geyser/current-limitations.md b/_docs/geyser/current-limitations.md index 3cd66ce..4c31c9e 100644 --- a/_docs/geyser/current-limitations.md +++ b/_docs/geyser/current-limitations.md @@ -9,23 +9,28 @@ The following things cannot be fixed without changes to Bedrock or the Java prot - Custom heads in inventories - Clickable links in chat - Glowing effect -- Crafting in the 2x2 menu while in creative mode +- Crafting in the 2x2 menu while in creative mode - with the GeyserOptionalPack, this grid is hidden as it does not exist on Java. - Distinguishing between left and right clicks in inventories - Redstone dot blockstates -- "Can be placed on/destroyed" tag for *some* blocks - for example, different colors of clay/wool that don't exist as separate blocks +- "Can be placed on/destroyed" tag for *some* blocks - for example, different slab variants that aren't yet split up into separate blocks. - Potion colors implemented using NBT - Various command arguments for any command that doesn't use the Minecraft Brigadier library - Anything that relies on tab complete or typing in the chat UI (related to the above) - Bedrock sends no packet that indicates they are in this menu - Unable to see banner layers past 6 - Movement issues around bamboo due to offset differences between Java and Bedrock: [Hurricane](/other/hurricane) can work around it. -- Can't move mounted entities with carrot/warped fungus on a stick. Hurricane also works around this. -- Custom anvil recipes -- Heights lower than -64 or higher than 320 in the overworld with extended height enabled, and heights lower than 0 or higher than 256 in other dimensions +- Custom anvil recipes or custom smithing table ingredients/patterns (https://github.com/GeyserMC/Geyser/issues/4706) +- Heights lower than -64 or higher than 320 in the overworld with extended height enabled, and heights lower than 0 or higher than 256 in other dimensions (https://github.com/GeyserMC/Geyser/issues/3804) - Dolphin's Grace potion effect visuals (effects should still work correctly) - Invisible item frames - Blocks (excluding jack-o-lantern) on entity heads (E.G. armor stands, players) -- Saddled camels unmoveable/unrideable on bedrock. -- Bedrock edition players cannot see the changes to fence block states made by the Java Debug Stick. +- Some block state changes are controlled client side, and are not influenced by the debug stick - fences for example. (https://github.com/GeyserMC/Geyser/issues/3125) +- Custom beacon base blocks (https://github.com/GeyserMC/Geyser/issues/2301) - these are hardcoded on Bedrock edition. +- Climbable blocks changed by datapacks (https://github.com/GeyserMC/Geyser/issues/4051) +- Custom enchantments/sweeping edge (https://github.com/GeyserMC/Geyser/issues/3121) +- "Bordure Indented" pattern shape not appearing on the Bedrock side in the loom (https://github.com/GeyserMC/Geyser/issues/3183) +- Gliding without elytras/custom elytras (https://github.com/GeyserMC/Geyser/issues/3255, https://github.com/GeyserMC/Geyser/issues/3299) +- Custom furnace cook times (https://github.com/GeyserMC/Geyser/issues/4104) +- Maximum sign length different on Java/Bedrock edition (https://github.com/GeyserMC/Geyser/issues/4130) The following changes **are supported** with the [GeyserOptionalPack](/other/geyseroptionalpack/), which is a Bedrock resource pack you can install for additional functionality for features Bedrock does not natively support: - Custom armor stand poses @@ -34,3 +39,5 @@ The following changes **are supported** with the [GeyserOptionalPack](/other/gey - Offhand animations - Shulker invisibility - Spectral arrow texture +- Scoreboard width that matches Java +- Inventory UI changes to match Java From 4f1f5fbd4f5b9af11f09b2133ad5a2a86c292e43 Mon Sep 17 00:00:00 2001 From: rtm516 Date: Sat, 8 Jun 2024 17:47:31 +0100 Subject: [PATCH 18/25] Update WiseHosting FAQ in providers.json --- _data/providers.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/providers.json b/_data/providers.json index a4b5f55..e512814 100644 --- a/_data/providers.json +++ b/_data/providers.json @@ -104,7 +104,7 @@ { "name": "WiseHosting", "url": "https://wisehosting.com", - "description": "Both auto and manual installation available. Find the GeyserMC presets from the `Properties` tab in the Game Panel. There, click `Install` and restart your server. See [Crossplay FAQ](https://wisehosting.com/knowledgebase/how-to-install-geysermc-java-bedrock-crossplay-to-your-server) for additional details." + "description": "Both auto and manual installation available. Find the GeyserMC presets from the `Properties` tab in the Game Panel. There, click `Install` and restart your server. See [Crossplay FAQ](https://help.wisehosting.com/en/articles/13-how-to-install-geysermc-java-bedrock-crossplay-to-your-server) for additional details." }, { "name": "ZapHosting", From fcc51e39314073c51ae6f1fd7163ac98f943ddc5 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 13 Jun 2024 20:56:19 +0200 Subject: [PATCH 19/25] Update supported Bedrock version (#280) --- _data/versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/versions.json b/_data/versions.json index 39353f2..e3c215b 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1,4 +1,4 @@ { - "bedrock": "1.20.40-1.20.81", + "bedrock": "1.20.80-1.21.0", "java": "1.20.5/1.20.6" } From d648988aa551255f10c90efdc426b24c3de2791d Mon Sep 17 00:00:00 2001 From: chris Date: Fri, 14 Jun 2024 10:13:17 +0200 Subject: [PATCH 20/25] Fix: Make the developer guide less outdated (#279) * dev guide info * Update developer-guide.md Co-authored-by: Olivia * Update developer-guide.md * add mcdev plugin * address review --------- Co-authored-by: Olivia --- _docs/other/developer-guide.md | 53 +++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/_docs/other/developer-guide.md b/_docs/other/developer-guide.md index 269150a..7630ea5 100644 --- a/_docs/other/developer-guide.md +++ b/_docs/other/developer-guide.md @@ -2,57 +2,70 @@ title: Developer Guide --- -## Compiling -1. Clone the repo to your computer (EG: `git clone https://github.com/GeyserMC/Geyser.git`) -2. [Install Maven](https://maven.apache.org/install.html) -3. Navigate to the Geyser root directory and run `git submodule update --init --recursive`. This downloads all the needed submodules for Geyser and is a crucial step in this process. -4. Run `mvn clean install` and locate to the `bootstrap`, then your desired Geyser version, then `target` folder. +# Compiling +1. Clone the repo to your computer. +2. Make sure that you have Java 21 installed. +3. Navigate to the Geyser root directory and run `git submodule update --init --recursive`. This command downloads all the needed submodules for Geyser and is a crucial step in this process. +4. Run `./gradlew build` and locate to `bootstrap//build/` folder. + +# Project layout + +Geyser's code is divided into different modules. For example: -## Project layout * `bootstrap` is where we hold the specific platform code. So if you're porting Geyser to a new platform, or working with platform-specific code, you likely want to be in here. -* `core` is where connections are handled and the data conversion is done. The majority of Geyser work is held here. +* `core` is where connections are handled and the data/packet conversion is done. The majority of Geyser work is held here. +* `api` is where the Geyser API is found. +* `build-logic` is where the Kotlin Gradle plugins used to build Geyser are. -# Compiler Tools +# Compiler/IDE Tools -## Lombok +### Minecraft Development (IntelliJ IDEA plugin) + +The [Minecraft Development](https://github.com/minecraft-dev/MinecraftDev) IntelliJ IDEA plugin is an awesome tool that can +be very helpful when working on Geyser. It allows you to view `.nbt` files, easily link mixins to the source they modify, and much +more. While not strictly needed, it is definitely recommended. + +### Lombok *Note that the latest version of IntelliJ IDEA does not require additional setup in order to develop with Geyser.* -If you're using an IDE for editing any of the GeyserMC projects you will most likely need to install the Project Lombok plugin as it is used to generate a bunch of handy functions. You can edit without it but you may get missing functions and or other issues displayed in your IDE. Please see the IDE section on their site for the supported plugins and install methods [https://projectlombok.org/setup/overview](https://projectlombok.org/setup/overview). +If you're using an IDE for editing any of the GeyserMC projects you will most likely need to install the Project Lombok plugin as it is used to generate a bunch of handy functions. +You can edit without it but you may get missing functions and or other issues displayed in your IDE. Please see the IDE section on their site for the supported plugins and install methods [https://projectlombok.org/setup/overview](https://projectlombok.org/setup/overview). # Protocol Information -## GopherTunnel +### GopherTunnel [GopherTunnel](https://github.com/Sandertv/gophertunnel/tree/master/minecraft/protocol/packet) is a library for Bedrock Edition written in Go. The source code is an excellent documentation for the Bedrock protocol. -## wiki.vg +### wiki.vg For a full rundown of the Java Edition protocol, see [here](https://wiki.vg/Protocol). -## wiki.vg (Bedrock) +### wiki.vg (Bedrock) The Bedrock Edition protocol is documented [here](https://wiki.vg/Bedrock_Protocol), but it's currently incomplete so only use it as a reference. # Programs -## debuginfo-be +### debuginfo-be [debuginfo-be](https://github.com/Heath123/debuginfo-be) is a Spigot plugin that displays an overlay to Geyser clients with useful debug information, similar to the F3 screen in Java Edition. -## pakkit +### pakkit pakkit is a GUI-based tool for intercepting packets between a server and client developed by Geyser contributor [circuit10/Heath123](https://github.com/Heath123/) built using Electron. It works for both Java Edition (using node-minecraft-protocol) and Bedrock (as a GUI wrapper for ProxyPass adding extra features). It supports features such as viewing packet data in JSON format, Edit and Resend and a hex view for raw packet data. You can download it from [here](https://github.com/Heath123/pakkit/releases/). It's currently WIP, so expect bugs. -## Gadget +### Gadget Gadget is a fabric client mod to inspect & log, amongst other things, packets sent between a java server and a java client. It can be useful to determine java behavior. You can download it from [here](https://modrinth.com/mod/gadget). -## ProxyPass +### ProxyPass ProxyPass is a tool for intercepting packets between a Bedrock server and client developed by the Cloudburst team. It can be found [here](https://github.com/CloudburstMC/ProxyPass) and the vanilla Bedrock server can be found [here](https://www.minecraft.net/download/server/bedrock/). +There is a ProxyPass fork that supports online-mode (allowing you to join Geyser servers and see sent packets): [Kastle's proxypass fork](https://github.com/Kas-tle/ProxyPass/). -## MCC Toolchest +### MCC Toolchest MCC Toolchest is a tool for viewing and editing NBT data for Bedrock edition, this allows you to see data as it is stored in Bedrock. You can download it from [here](https://mcctoolchest.weebly.com/). -## NBTExplorer +### NBTExplorer NBTExplorer is a tool for viewing and editing NBT data for Java edition, this allows you to see data as it is stored in Java edition. You can download it from [here](https://github.com/jaquadro/NBTExplorer/releases). -## Windows 10 Multi-Version Launcher +### Windows 10 Multi-Version Launcher The Windows 10 Multi-Version launcher allows you to switch between release and beta versions of Minecraft Bedrock. Its GitHub repository can be viewed [here](https://github.com/MCMrARM/mc-w10-version-launcher/). Alternatively, use FoxyNoTail's Version Switcher, found [here](https://foxynotail.com/software/mcbe-switcher). Note: To apply the [loopback fix](/geyser/fixing-unable-to-connect-to-world/#windows-1011) for Minecraft Preview, use the following loopback restriction lifting command with the different app ID: `CheckNetIsolation LoopbackExempt -a -n="Microsoft.MinecraftWindowsBeta_8wekyb3d8bbwe"` From 1216fa14ef4f3134b501326ca1666d62ad6fb832 Mon Sep 17 00:00:00 2001 From: Eshan Mistry Date: Wed, 19 Jun 2024 17:40:24 +0100 Subject: [PATCH 21/25] Add piglinhost to the providers page (#282) * Added PiglinHost.com * Correct alphabetical Order * Update _data/providers.json Co-authored-by: chris --------- Co-authored-by: chris --- _data/providers.json | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/_data/providers.json b/_data/providers.json index e512814..6574a53 100644 --- a/_data/providers.json +++ b/_data/providers.json @@ -66,15 +66,20 @@ "url": "https://minehut.com/", "description": "Connect via `bedrock.minehut.com` and do `/join `, or connect directly via `.bedrock.minehut.gg`." }, + { + "name": "OMGServ", + "url": "https://www.omgserv.com/en/", + "description": "Select Geyser in the [Install Menu](https://i.imgur.com/Gewpsrq.png), it will be automatically installed. You can enable floodgate in the [server properties on the dashboard](https://i.imgur.com/jg5mzNj.png)." + }, { "name": "Physgun", "url": "https://physgun.com/", "description_template": "default" }, { - "name": "OMGServ", - "url": "https://www.omgserv.com/en/", - "description": "Select Geyser in the [Install Menu](https://i.imgur.com/Gewpsrq.png), it will be automatically installed. You can enable floodgate in the [server properties on the dashboard](https://i.imgur.com/jg5mzNj.png)." + "name": "PiglinHost", + "url": "https://piglinhost.com/", + "description": "Order from the [cross-platform servers page](https://piglinhost.com/minecraft-java-hosting.html). Alternatively, contact their support by creating a [support ticket](https://billing.piglinhost.com/submitticket.php?step=2&deptid=5) or via discord for installation and configuration help." }, { "name": "Pufferfish Host", From 45848ca16f3afe874ffdcebd684e233fd5b380b7 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 20 Jun 2024 21:48:33 +0200 Subject: [PATCH 22/25] Indicate that 1.21 is supported (#283) --- _data/versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/versions.json b/_data/versions.json index e3c215b..8eb409f 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1,4 +1,4 @@ { "bedrock": "1.20.80-1.21.0", - "java": "1.20.5/1.20.6" + "java": "1.21" } From 9a74efa88804db744bf15a4e57d9af704adc5ab7 Mon Sep 17 00:00:00 2001 From: Maledict <94766634+MaledictYtb@users.noreply.github.com> Date: Thu, 27 Jun 2024 19:34:47 +0200 Subject: [PATCH 23/25] Removed outdated anticheats (#278) * Removed outdated anticheats * Add back Wraith since it's still supported * Added back AntiAura * Update the last update date * Replace "Last updated" with "last checked" --- _docs/geyser/anticheat-compatibility.md | 32 ++++++++++--------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/_docs/geyser/anticheat-compatibility.md b/_docs/geyser/anticheat-compatibility.md index afb4ffc..5640511 100644 --- a/_docs/geyser/anticheat-compatibility.md +++ b/_docs/geyser/anticheat-compatibility.md @@ -10,29 +10,21 @@ title: Anticheat Compatibility Full Compatibility (Checks Bedrock Players Accurately) -- [AntiAura](https://www.spigotmc.org/resources/1368/){:target="_blank"} (Paid) - Last Updated on 19th August 2021 -- [Themis](https://www.spigotmc.org/resources/90766/){:target="_blank"} - Last Updated on 15th Jun 2022 -- [Negativity V2](https://www.spigotmc.org/resources/86874/){:target="_blank"} (Paid) - Last Updated on 21st March 2022 -- [SoaromaSAC](https://www.spigotmc.org/resources/87702/){:target="_blank"} - Last Updated on 27th March 2022 -- [Spartan: Bedrock Edition](https://builtbybit.com/resources/12832/){:target="_blank"} (Paid) - Last Updated on 22nd May 2023 +- [AntiAura](https://www.spigotmc.org/resources/1368/){:target="_blank"} (Paid) - Last checked on 24th January 2023 +- [Themis](https://www.spigotmc.org/resources/90766/){:target="_blank"} - Last checked on 1st January 2024 +- [Spartan: Bedrock Edition](https://builtbybit.com/resources/12832/){:target="_blank"} (Paid) - Last checked on 4th June 2024 Partially Compatible (Does not Check/Ignores Bedrock Players) -- [AAC](https://www.spigotmc.org/resources/6442/){:target="_blank"} (Paid) - Last Updated on 19th August 2021 -- [Flappy Anticheat](https://www.spigotmc.org/resources/92180/){:target="_blank"} - Last Updated on 14th September 2021 -- [GrimAC](https://github.com/MWHunter/Grim){:target="_blank"} - Last Updated on 24th March 2022 -- [Intave](https://intave.ac){:target="_blank"} (Paid) Requires [GeyserMC addon](https://github.com/intave/bedrock){:target="_blank"} - Last Updated on 24th October 2022 -- [Matrix](https://matrix.rip/){:target="_blank"} (Paid) - Last updated on 2nd September 2021 -- [Spartan: Java Edition](https://www.spigotmc.org/resources/25638/){:target="_blank"} (Paid) - Last Updated on 22nd May 2023 -- [Vulcan](https://www.spigotmc.org/resources/83626/){:target="_blank"} (Paid) - Last Updated on 19th August 2021 -- [Verus](https://verus.ac){:target="_blank"} (Paid) - Last Updated on 13th July 2022 +- [GrimAC](https://github.com/MWHunter/Grim){:target="_blank"} - Last checked on 23rd May 2024 +- [Intave](https://intave.ac){:target="_blank"} (Paid) Requires [GeyserMC addon](https://github.com/intave/bedrock){:target="_blank"} - Last checked on 24st May 2024 +- [Matrix](https://matrix.rip/){:target="_blank"} (Paid) - Last checked on 6th June 2024 +- [Spartan: Java Edition](https://www.spigotmc.org/resources/25638/){:target="_blank"} (Paid) - Last checked on 4th June 2024 +- [Vulcan](https://www.spigotmc.org/resources/83626/){:target="_blank"} (Paid) - Last checked on 3rd June 2024 +- [Verus](https://verus.ac){:target="_blank"} (Paid) - Last checked on 10th September 2023 Incompatible (False Positives on Bedrock Players, no Compatibility at All) -- [AntiCheatReloaded](https://www.spigotmc.org/resources/23799/){:target="_blank"} - Last Updated on 19th August 2021 -- [Negativity V1](https://www.spigotmc.org/resources/48399/){:target="_blank"} - Last Updated on 21st March 2022 -- [NoCheatPlus](https://ci.codemc.io/job/Updated-NoCheatPlus/job/Updated-NoCheatPlus/){:target="_blank"} ([Compat NCP](https://github.com/Updated-NoCheatPlus/CompatNoCheatPlus/){:target="_blank"} is an addon that enables Partial Compatibility) - Last Updated on 19th August 2021 -- [GodsEye](https://www.spigotmc.org/resources/69595/){:target="_blank"} ([GodsEyeGeyserMC](https://github.com/TheDejavu/GodsEyeGeyserMC/releases){:target="_blank"} is an addon that enables Partial Compatibility) (Paid) - Last Updated on 21st March 2022 -- [Kauri](https://www.spigotmc.org/resources/53721/){:target="_blank"} (Paid) - Last Updated on 21st March 2022 -- [Reflex](https://www.spigotmc.org/resources/21122/){:target="_blank"} (Paid) - Last Updated on 19th August 2021 -- [Wraith](https://www.spigotmc.org/resources/66887/){:target="_blank"} (Paid) - Last Updated on 19th August 2021 +- [NoCheatPlus](https://ci.codemc.io/job/Updated-NoCheatPlus/job/Updated-NoCheatPlus/){:target="_blank"} ([Compat NCP](https://github.com/Updated-NoCheatPlus/CompatNoCheatPlus/){:target="_blank"} is an addon that enables Partial Compatibility) - Last checked on 12th May 2024 +- [GodsEye](https://www.spigotmc.org/resources/69595/){:target="_blank"} ([GodsEyeGeyserMC](https://github.com/TheDejavu/GodsEyeGeyserMC/releases){:target="_blank"} is an addon that enables Partial Compatibility) (Paid) - Last checked on 23rd March 2024 +- [Wraith](https://www.spigotmc.org/resources/66887/){:target="_blank"} (Paid) - Last checked on 26th January 2023 From 1723204bcd0f60bf9bf4c311e72a3588a40271c8 Mon Sep 17 00:00:00 2001 From: Adriel <79513978+adriellwc@users.noreply.github.com> Date: Mon, 1 Jul 2024 21:14:22 +0800 Subject: [PATCH 24/25] Show 1.21.1 Bedrock support (#288) Aternos still uses this ;p Thanks --- _data/versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/versions.json b/_data/versions.json index 8eb409f..7cb8dd7 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1,4 +1,4 @@ { - "bedrock": "1.20.80-1.21.0", + "bedrock": "1.20.80-1.21.1", "java": "1.21" } From e92be39f66b78e8383f568d5147e11cd3efcafb1 Mon Sep 17 00:00:00 2001 From: chris Date: Tue, 9 Jul 2024 19:20:01 +0200 Subject: [PATCH 25/25] Update supported Bedrock version (#292) --- _data/versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/versions.json b/_data/versions.json index 7cb8dd7..0afb086 100644 --- a/_data/versions.json +++ b/_data/versions.json @@ -1,4 +1,4 @@ { - "bedrock": "1.20.80-1.21.1", + "bedrock": "1.20.80-1.21.2", "java": "1.21" }