Files
GeyserWebsite/blog/2023-07-08-four-years-of-geyser.md
T
+16 078446694c Add Crowdin, introduce new provider schema, introduce NetherNet blog post (#51)
* Begin testing i18n

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

* Add crowdin in-context demo for non-mdx

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

* Add crowdin-sync system

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

* Working sync system for translations

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

* Only build en locale for PRs

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

* Modify yarn install

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

* Do not immute cache

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

* Try with standard yarn install

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

* Revert to yarn --immutable

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

* Remove explicit url/file-loader resolutions

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

* Only log webpack errors

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

* Added MCServerHost to hosting providers (#47)

* Added MCServerHost to hosting providers

* Update providers.ts

* Correct grammar and make instructions more concise

---------

Co-authored-by: Kas-tle <26531652+Kas-tle@users.noreply.github.com>

* Update supported Bedrock versions

* Remove and Replace "TydiumCraft Skin API" (#53)

* Update community-geyser-projects.md

I no longer will run TydiumCraft Skin API. I have no interest in continuing it at this time (or anything minecraft related). However I have switched out the spot with an API that 100% is always updated and active. Hosted by my good friend Bret06. This works so much better as well. Thanks for everything over the years guys! Tydium out!

* Update wiki/other/community-geyser-projects.md

👍

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

---------

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

* Update wording for creepernation api

Update wording because it’s bothering me

* Update GeyserExtras description  (#52)

* Update community-geyser-projects.md

* Update wiki/other/community-geyser-projects.md

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

---------

Co-authored-by: Luke <32024335+lukeeey@users.noreply.github.com>
Co-authored-by: chris <github@onechris.mozmail.com>

* Try matrix build strategy

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

* Fix matrix output

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

* Matrix goes to GITHUB_OUTPUT

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

* Fix deploy needs to combine

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

* Ensure correct commit is used if crowdin updates

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

* Make sure excluded content is respected

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

* Allow permission for commit action write

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

* Sync translations with Crowdin

* Update index.md to make clear that this is for servers, not purely for clients (#57)

* Update providers.ts (#58)

* Update providers.ts

VemoxHost added

* Maintain alphabetized list

---------

Co-authored-by: Kas-tle <26531652+Kas-tle@users.noreply.github.com>

* Start on re-writing the providers page to provide more useful details to improve the setup guide

* more work on this

* Rework paper page for setup

* Don't try and build paper setup as a full page

* adjust not listed message

* update mod/proxy pages

* Initial setup i18n

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

* Add ability to hide proxy setup instructions by provider

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

* Temporary auto deployment; fix broken links

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

* Fix heading consistency

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

* Update language on provider instructions

* Update language on new provider instructions

* Upgrade actions/setup-node due to hang issue

* Both

* Forgot how many times we setup node...

* Documentation for changes in API/2.6.2 (#62)

* Document latest Geyser changes:
- remote resource packs

* Update/Finish pack docs

* small typo fixes

* Update page content

* fix build

* Update supported Bedrock version

* Add Modrinth Servers to providers (#63)

* Update supported versions & api version

* Update versions.json to include 1.21.72 (#64)

* Update bedrock version (#67)

* Add 'we are not mojang' disclaimer to footer

* Stop translations from overriding footer message

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

* Fix Standalone dump view (#68)

* Add OrionNodes to providers (#69)

* Update supported Bedrock versions in versions.json (1.21.81, 1.21.82) (#70)

* Update faq.mdx to include recommended API (#73)

Tydium skin API is abandoned, please direct users to a working API such as the one recommended by Tydium

Derived from: https://github.com/GeyserMC/GeyserWebsite/commit/19ae50f95ddbfc24ff34a42d278bdc263e0200e6

* Update anticheat-compatibility.md (#74)

* Update versions.json

* Update versions.json (#75)

* Remove LAC because it is no longer being maintained (#76)

* Update versions.json for 1.21.7 (#77)

* Update versions.json for 1.21.93 (#78)

* Update versions.json for 1.21.94 (#79)

* Update versions.json for Java 1.21.8 (#80)

* Update Geyser Api version (#81)

* Readd Hydraulic and add Rainbow, provide Item API V2 warning for Hydraulic (#82)

* Fix incorrect Ubuntu on Oracle Cloud instructions (#84)

* Remove Geyser Android App and Tempest (#83)

* Update version.json for 1.21.100 (#88)

* Update getting-started-with-the-api.md (#89)

* Add and update wiki pages, add Thunder download. (#90)

* Add a Thunder and Rainbow wiki page, touch up some other pages

* Fix mobile sidebar

* Address review 1/2

* Address review 1.5/2 (oops)

* Address review 2/2

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

---------

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

* Indicate 1.21.101 on the Geyser Website (#93)

* Added GeyserFloatingPoints to FAQ (#92)

* Added GeyserFloatingPoints.

* Update wiki/geyser/faq.mdx

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

---------

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

* Update versions.json to indicate support for bedrock 1.21.111

* Update versions.json for Java 1.21.9/1.21.10 (#97)

* Update versions.json for Java 1.21.9

* Update versions.json to include 1.21.10

* Update supported Bedrock version

---------

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

* Update extensions file for new dependency system (#98)

* Update extensions file for new dependency system

* Update version

* Update wiki/geyser/extensions.md

---------

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

* Replace the Crowdin link with the current one (#101)

* Replace the Crowdin link with the current one

* Replace the link with the subdomain redirect

* Update versions.json to include 1.21.114 (#102)

* Update rainbow.md to indicate 1.21.9/.10 (#103)

* Revise port forwarding instructions for Ubuntu

Updated instructions for allowing Minecraft and Geyser through the OS firewall on Ubuntu.

* Update providers and deploy action

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

* Sync translations with Crowdin

* Correct providers syntax

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

* Use more templates wherever possible

* Add build cache; update docusaurus-og

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

* Test deploy time with cache hit

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

* Use read-only cache for matrix build

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

* Unlikely we will use gh actions on arm...

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

* This time cache will hit

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

* Hopefully correct yarn cache path...

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

* Maybe npm?

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

* Surely...

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

* This time...

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

* Include yarn/docusaurus cache for PRs

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

* Add page IDs to more pages, fix broken pages

* Update i18n pages

* Sync translations with Crowdin

* Add missing support pages and articles on providers, add Discord links

* Add blog post on preparing Geyser servers for NetherNet

Drafted with the help of Claude Opus 5.5.

* Rewrite the hosted setup guide for NetherNet, add hosting page

Provider entries now describe ports, signaling and install steps, grouped
in the order the setup guide shows them. The guide generates the NetherNet
config from them, and the old supported hosting providers list is replaced
by a hosting page for Open Collaboration supporters.

Drafted with the help of Claude Opus 5.5.

* Rewrite the self-hosted setup guides for NetherNet

The self-hosting pages now use the same steps and generated config as the
hosted guide, and point out that the Geyser port needs both TCP and UDP.

Drafted with the help of Claude Opus 5.5.

* Add HTTPS for NetherNet page

Covers serving built-in signaling over HTTPS, with a certificate in the
Geyser config or with a reverse proxy (Caddy, nginx).

Drafted with the help of Claude Opus 5.5.

* Skip Crowdin sync in deploy workflow when no token is set

Forks do not have the Crowdin secrets, so the sync step failed there and
nothing got deployed. Without a token, the workflow now builds and deploys
the pushed commit as is.

Drafted with the help of Claude Opus 5.5.

* Address: rtm's comments

* Improve layout, drop confusing 26.40 note on setup guide

* Cleanup blog post language / line breaks

* Merge proxy server guides for server hosts, adjust exarotron provider entry, adjust setup guides to work with crowdin

* Split the proxy setup guides back into Velocity and BungeeCord

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Update hosting providers to upstream and collapse strings into defaults

Port upstream's provider changes to the new format: add Minehost and
ConsulHosting, update MCServerHost, rename Feather to Dawn and Modrinth
Servers to Modrinth Hosting, merge RamShard into RackGenius, add MyArena,
and drop hosts upstream removed. Restore link fixes the rewrite undid
and install details dropped from the live page.

Replace host-specific strings with templates or the generated steps
where they say the same thing. Hosts that pick the port themselves show
where it comes from instead of the config step.

Hosts without NetherNet details that shared the Java server's port now
ask for a new port, open for both TCP and UDP, and the generated config
turns clone-remote-port off. Hosts that cannot give out a port fall back
to the "Not listed" guide for the Java server's port, which uses Warden.
BisectHosting no longer uses assumed example data. Entries keep the date
of their last edit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Remove Dawn and date Aternos and exaroton today

Dawn now integrates with Aternos, so it no longer needs its own entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Remove unused translation strings and fix the English GeyserConnect text

Drop keys the code no longer uses from every locale: the old EmoteOffhand
description ID, the theme's old unlisted content strings, strings removed
on this branch, and the removed Custom Resource Packs sidebar category.
The English GeyserConnect description had an outdated message that
overrode the current one on the English site.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Hide the NetherNet and RakNet option when only the Java port is available

With only the Java server's port there is no second UDP port for RakNet,
so the "Not listed" Java port guide shows the NetherNet config without
transport tabs. Drop the placeholder text that only applied there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Add an HTTPS step to the self-hosted guides and correct external signaling HTTPS claims

Self-hosted guides end with a recommended step to serve signaling over
HTTPS, since Geyser's built-in signaling uses plain HTTP by default and
players get a "Trust on First Use?" prompt. External signaling services
do not all provide HTTPS, so the blog post and HTTPS page now name Warden
as one that does instead of implying all do.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Update port forwarding guide, update OVH note

* Sync translations with Crowdin

* Hide entire placeholder strings and correcntly mark chrome json in crowdin

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

* Update actions and yarn

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

* Sync translations with Crowdin

* Apply batched suggestions from code review

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

* Fix NetherNet docs for the final Geyser PR

- Built-in signaling serves HTTPS instead of HTTP once a certificate is configured (blog, system properties)
- "Free port" is now "available port" in the blog
- System properties: drop the removed "none" signaling mode, fix the signaling port default
- playit.gg: note that the guide is for RakNet, and link playit.gg's NetherNet progress

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Build the setup guides from translation strings

The per-platform setup pages are replaced by SetupGuide.tsx, which renders the
hosted and self-hosted guides from shared MDXTranslatable strings, so Crowdin
translates each sentence once instead of every page separately.

Also:
- "Not listed" with only the Java port sets mode: nxs instead of relying on Geyser's fallback
- The playit.gg note links playit.gg's NetherNet progress instead of describing a setup
- "free port" is now "available port"

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Remove the trustedProxies.fetch system property for now

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix crowdin sync and don't translate trade names

Signed-off-by: GitHub <noreply@github.com>

* Sync translations with Crowdin

* Fix build

Signed-off-by: GitHub <noreply@github.com>

* Sync translations with Crowdin

* Address more concerns with nethernet https guide

Signed-off-by: GitHub <noreply@github.com>

* Fix signaling-trusted-proxies config in nethernet https article

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

* Remove port forwarding from the HTTPS guide

Ports are already covered by the setup guide, and HTTPS does not change
which ports need to be opened. Reverse proxies now use
signaling-trusted-proxies, which reads X-Forwarded-For.

* Remove placeholder hosts, hide the hosting page until it launches

- Remove the placeholder hosts and their logos
- Aternos and exaroton are bronze supporters: highlighted with a badge in
  the setup guide, without a "last updated" date, but not listed on the
  hosting page, which only shows gold and silver
- Hide the hosting page and its links for now, and mention in the blog
  post that it is coming soon

* Supporting hosts configure Geyser, they do not install it

* Sync translations with Crowdin

* Move nethernet https guide up on sidebar

* Update to docusaurus 3.10 and fix all type errors

Signed-off-by: GitHub <noreply@github.com>

* HTTP and HTTPS do not both run at once

* Link win-acme's and nginx's own Windows guides in the HTTPS guide

* Fix crowdin key exclusion logic

Signed-off-by: GitHub <noreply@github.com>

* Sync translations with Crowdin

* Address reviews, clear up instructions for users. Adds info on haproxy, NXS and MOTD forwarding

* Note certificate permissions and where to save the Caddyfile

* Sync translations with Crowdin

* Document the geyser nethernet command

* Sync translations with Crowdin

* Support directly linking to the "not listed" or a specific hosts' guide

* Mention warden supporting custom domains

* Add HOSTING_PROVIDERS.md, update existing server host setup entries to reduce translation strings used

* Sync translations with Crowdin

---------

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Yara Durand <87721861+Roolps@users.noreply.github.com>
Co-authored-by: chris <github@onechris.mozmail.com>
Co-authored-by: Tydium <67938521+Tydium@users.noreply.github.com>
Co-authored-by: Creeperz653 <76449952+Creeperz653@users.noreply.github.com>
Co-authored-by: LetsGoAway <68365423+letsgoawaydev@users.noreply.github.com>
Co-authored-by: Luke <32024335+lukeeey@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Dan <20766261+D4n2021@users.noreply.github.com>
Co-authored-by: santevemox <57247088+santevemox@users.noreply.github.com>
Co-authored-by: rtm516 <ryantmilner@hotmail.co.uk>
Co-authored-by: Emma Alexia <wafflecoffee7@gmail.com>
Co-authored-by: Alex <zomka@fard.ing>
Co-authored-by: Aurorawr <100384210+Novampr@users.noreply.github.com>
Co-authored-by: Jens Collaert <63231928+Jens-Co@users.noreply.github.com>
Co-authored-by: OrionNodes <ethan@orionnodes.com>
Co-authored-by: SylentHuntress <91935048+sylenthuntress@users.noreply.github.com>
Co-authored-by: oryxel <gamingnoob681@gmail.com>
Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>
Co-authored-by: Nebojsa Majic <79749977+Onako2@users.noreply.github.com>
Co-authored-by: qscbm187531 <1309635304@qq.com>
Co-authored-by: Eveline Carter <6444703+drakon64@users.noreply.github.com>
Co-authored-by: SleepyPop <81194303+SleepyPopp@users.noreply.github.com>
Co-authored-by: Aurorawr <auroranova8756@gmail.com>
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 19:42:47 -07:00

6.3 KiB

title, slug, authors, hide_table_of_contents, description, crowdin_page_id
title slug authors hide_table_of_contents description crowdin_page_id
Four Years of Geyser four-years-of-geyser RednedEpic false Geyser is now four years old! 67cfbd70-8366-42ed-b564-b84ed9ce65b5

Hi everyone,

Today is a super special day - it's Geyser's birthday 🥳. Geyser is now four years old and booyyy has it come a long way! This is a huge day for us and an incredible milestone. We're very proud of how far we've been able to come, the amount of servers Geyser has expanded the reach of, and the amazing community behind Geyser. Seeing millions of players being able to play with their Java friends is something I never dreamed Geyser would be able to do. The growth from day one has been amazing and we're all very grateful for everyone's support 💙

Not only is this a special day because it's our birthday, but we have some exiting news and sneak peeks to share with you all, alongside general updates on our project development. Continue reading for more information!

Project Statistics

  • Since the start of the project, there have been 3,337 commits contributed by 105 contributors
  • As of just a few days ago, Geyser has hit 4,000 stars on GitHub, making it one of the top open-source Minecraft projects ever, and the #1 Minecraft Bedrock project
  • Our Discord server has continued to grow, now approaching 25,000 Discord members

image

None of these would have been possible without our amazing community. To that, we owe a debt of gratitude for the years of support from all of you 💙

Project Development

It's likely well-known by now that Geyser has hit a state of maturity. Since about 2021, Geyser has reached the point of full survival and creative playability for Bedrock clients on Java servers. This has allowed us to place much more focus on improving stability, fixing bugs and designing a resilient platform. We've spent the latter half of last year designing an API for Geyser, creating an extension system, and ultimately adding more for developers. A couple notable additions include custom item support and a resource pack API.

We've also made some major internal changes, one of the biggest being updating our Bedrock protocol library to version 3.0. This was a massive undertaking by the CloudburstMC organization, which we work closely with. While a bit bumpy at first, these changes modernized the internal RakNet library and brought along some sweet network optimizations on the Bedrock side.

At a steady pace, we're also working on integrating Floodgate and Geyser together! While Floodgate will still exist as a separate project for proxy and standalone instances, we are working on shipping it inside Geyser to improve setup processes and reduce complexity when creating Geyser servers. One of our goals internally has been to make the Geyser setup as seamless as possible, and this is just one way we're doing that! We'll share more on this once it gets closer to completion.

What's Next?

With Geyser being in a state of maturity in terms of vanilla compatibility, we're shifting our attention onto expanding all the "custom" features Bedrock supports. There's a huge and growing demand for utilizing many of Bedrock's custom features, such as resource packs, entities, blocks, items and UIs. One of our biggest goals going forward is to design a platform that allows developers and server owners to bring their server to the next level for Bedrock players.

API Additions

Recently, we added a resource pack loading API which allows for developers to fine-tune and integrate their resource packs through the Geyser API, and are actively working on even more, such as custom blocks and custom entities. These are just a few things we're doing inside the Geyser API, but that's not all we have in store!

Resource Pack Conversion

Some of you who were around a few years ago may remember we used to maintain a resource pack conversion project. Well, we've decided to revive this project! While we know that third party projects exist now and handle conversions fairly well, we're working to make this part of mainline Geyser to further simplify the work needed by server owners and plugin developers. This means that once the project is integrated into Geyser, pack conversion will happen automatically. Contributions are most certainly welcome and please do reach out on Discord if you'd like to get involved!

Wait, there's more???

There is! And the exciting news is we're expanding Geyser to Forge! Of all the major platforms we support, Forge is one of the ones we do not support. We want to further expand the Geyser ecosystem, and I'm happy to announce that Geyser is coming to Forge in the next couple of weeks! This will also include some improvements to the Fabric platform as well. One such change is an integrated world manager, which exists only on Spigot platforms currently. This means Geyser will use the server to retrieve things such as blocks, significantly reducing the amount of RAM used for caching world data.

Additionally, since the Forge and Fabric platforms will use a common codebase for 95% of everything, thanks to Architectury, we can update both platforms very easily and changes that happen to one in most cases will carry over to the other.

One more thing...

Not only are we wanting to expand what Geyser can do with custom features on vanilla servers, but there's a lot we want to do with both Fabric and Forge in the near future. Keep an eye out for further announcements over the next few weeks 👀🍰🥳

Minecraft 7_8_2023 2_15_26 PM

And that's all I have to share for today! Once again, thank you all for your continued support over the years and we cannot wait to see the creativity you unleash on your server with these features! In typical Geyser fashion, here is a Gource render of all commits since the start of the project: https://youtu.be/ss6GlUkVgEE