A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock edition. https://geysermc.org
Go to file
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
.github NeoForge Platform Support (#3781) 2024-02-23 17:58:39 +01:00
.idea/copyright Clean copyright message and update all files (#1053) 2020-07-30 15:10:15 -05:00
ap Gracefully handle invalid stone cutter recipes (#4406) 2024-01-22 19:21:12 +01:00
api NeoForge Platform Support (#3781) 2024-02-23 17:58:39 +01:00
bootstrap NeoForge Platform Support (#3781) 2024-02-23 17:58:39 +01:00
build-logic NeoForge Platform Support (#3781) 2024-02-23 17:58:39 +01:00
common Project wide syntax/annotation cleanup (#4238) 2023-12-05 18:54:42 -05:00
core NeoForge Platform Support (#3781) 2024-02-23 17:58:39 +01:00
gradle NeoForge Platform Support (#3781) 2024-02-23 17:58:39 +01:00
.gitignore Some formatting fixes and creative menu fix 2023-09-09 13:23:19 -04:00
.gitmodules The Great Refactor Part 1 - connector -> core 2021-11-20 13:56:40 -06:00
CONTRIBUTING.md Project wide syntax/annotation cleanup (#4238) 2023-12-05 18:54:42 -05:00
LICENSE Update LICENSE to cover 2023 2023-05-07 03:16:40 -04:00
README.md Update version in readme (#4420) 2024-02-07 08:32:04 +01:00
build.gradle.kts NeoForge Platform Support (#3781) 2024-02-23 17:58:39 +01:00
gradle.properties NeoForge Platform Support (#3781) 2024-02-23 17:58:39 +01:00
gradlew Update gradlew files 2022-10-29 15:55:11 -05:00
gradlew.bat Update gradlew files 2022-10-29 15:55:11 -05:00
licenseheader.txt We're in 2022 now 2022-01-01 20:03:05 +01:00
settings.gradle.kts NeoForge Platform Support (#3781) 2024-02-23 17:58:39 +01:00

README.md

Geyser

License: MIT Discord Crowdin

Geyser is a bridge between Minecraft: Bedrock Edition and Minecraft: Java Edition, closing the gap from those wanting to play true cross-platform.

Geyser is an open collaboration project by CubeCraft Games.

What is Geyser?

Geyser is a proxy, bridging the gap between Minecraft: Bedrock Edition and Minecraft: Java Edition servers. The ultimate goal of this project is to allow Minecraft: Bedrock Edition users to join Minecraft: Java Edition servers as seamlessly as possible. However, due to the nature of Geyser translating packets over the network of two different games, do not expect everything to work perfectly!

Special thanks to the DragonProxy project for being a trailblazer in protocol translation and for all the team members who have joined us here!

Currently supporting Minecraft Bedrock 1.20.40 - 1.20.61 and Minecraft Java 1.20.4

Setting Up

Take a look here for how to set up Geyser.

YouTube Video

What's Left to be Added/Fixed

  • Near-perfect movement (to the point where anticheat on large servers is unlikely to ban you)
  • Some Entity Flags
  • Structure block UI

What can't be fixed

There are a few things Geyser is unable to support due to various differences between Minecraft Bedrock and Java. For a list of these limitations, see the Current Limitations page.

Compiling

  1. Clone the repo to your computer
  2. 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.
  3. Run gradlew build and locate to bootstrap/build folder.

Contributing

Any contributions are appreciated. Please feel free to reach out to us on Discord if you're interested in helping out with Geyser.

Libraries Used: