Skip to content

Instantly share code, notes, and snippets.

@CarbonGhost
Last active March 30, 2024 21:59
Show Gist options
  • Save CarbonGhost/3faf44ac30b7846941c91597c8ef61df to your computer and use it in GitHub Desktop.
Save CarbonGhost/3faf44ac30b7846941c91597c8ef61df to your computer and use it in GitHub Desktop.
How and why you should run a Fabric server

How and why you should run a Fabric server beta

Fabric is a rapidly growing platform for Minecraft mods, and provides a great alternative for the Spigot / Paper ecosystem with several huge benefits to go along with it. I go into more depth later into this document, but if you just want the bullet points, here you go.

  • Fabric has a great community.
  • The overwhelming majority of mods are open source.
  • Fabric mods are very high quality.
  • You can get great performance with no tradeoffs.
  • Fabric updates quickly.
  • You have flexibility with content mods.

What you should know about Fabric

If you're unfamiliar with it, there are a few important things to know about Fabric. Fabric, on it's own, is a very small modification to vanilla Minecraft which allows developers to write code to interact with it, and it does not make any changes in-game or provide any features by default, all of this is done by mods.

Secondly, Fabric is a mod-loader which means you will be dealing with mods instead of plugins. While some mods require you to install them on both the client and server, as long as you use only server-side mods you can join with any client you want. Along with server-side mods there are also content mods, which have the ability to add blocks, items, entities, etc into the game, and require players to use them on their client.

Why you shouldn't run a Fabric server

As much as I like Fabric and it's ecosystem, there are a few good reasons why it might not work for you or your server. Ranked in order of severity.

1. You have a complex plugin setup

This is the biggest problem for large servers trying to move to Fabric. While the Fabric server-side moddng ecosystem is growing rapidly, there just aren't a huge number of mods which cover the more obscure features of plugins.

An example of this would be factions or MCMMO servers which would likely require custom development in order to support their game types. With that being said, as Fabric is a modding platform, even more can be done if you jump into the world of content mods.

2. Performance is absolutely critical

While you can get great performance with Fabric, you will be leaving some performance optimizations behind. Sadly I cannot say how well Fabric scales with huge player counts.

Performance is a very complex topic, so if you want to know more about this, then I highly recommend reading this section.

3. You run a server on an old version of the game

If you're still running a good old 1.8 server, you're out of luck. While some projects are attempting to port Fabric to older versions of the game, there isn't much to say about them, and they're not production ready. If you wish to use Fabric you will have to be running a server that is at least 1.14, but more likely 1.16 or later.

The upside to this is that protocol compatibility mods are available if your playerbase wants to connect to a modern server version with an old version of the game.

The benefits of Fabric

Free & open source

The Fabric community has a strong commitment to open source, it's a rarity for a mod to be closed source, and I've never even heard of paid mods. This is great for developers and users alike. If you're a developer you can audit the code of a mod, contribute, or fix bugs that otherwise might be ignored by the maintainer of a closed source project. If you're not a developer, you can still get the benefits of open source when mods have increased scrutiny and can be investigated by the community.

Quality & stability

Another point related to the open nature of Fabric development is that most Fabric mods are very high quality. This comes both from the increased scrutiny of open source, and the general attitude of the Fabric community. It's rare to run into breaking issues when using a production quality mod.

Performance

A huge benefit of Fabric is that availability of Fabric mods which provide huge performance gains without breaking vanilla compatibility. Namely Lithium amd Phosphor, which are the gold standards for performance and code quality. However you can gain even more performance if you're wiling to break vanilla compatibility or try some mods that aren't production ready.

Performance is a complex topic, and this section needs to be expanded.

Fast updates & compatibility

Because the Fabric mod-loader is so lightweight on it's own and the Fabric development cycle targets snapshots, an up to date version of Fabric is available very quickly when a new update is released. In addition to this, the design of Fabric and the Fabric modding API allows mods to update quickly and maintain backwards compatibility.

While you likely won't want to run a server older than 1.16, a number of mods still maintain compatibility with this version. Because the majority of Fabric mods are open source, you can also attempt to compile an updated version of a given mod for an old version of the game if you wish.

Content mods

Beyond the benefits that Fabric can provide when running only server-side mods, Fabric also provides a huge ecosystem of mods which can add new content to the game, like dimensions, blocks, entities, etc. Besides being superior to Spigot / Paper in many ways, Fabric also has some huge benefits over Forge, and many popular mods have been ported.

Notable topics

If you've looked into Fabric, you may have questions about these things.

Quilt

Quilt is a fork of the Fabric loader with it's own goals and governance. It aims to improve the modding toolchain and maintain compatibility with Fabric. Quilt is not in a released state, so there isn't much I can say about it. It's not very relevant unless you're a developer.

Cardboard

Cardboard is a mod which aims to allow Spigot plugins to work with Fabric. By doing this, it introduces a huge number of compatibility issues and bugs. This is a curiosity but not something I would recommend for production use.


Written by CarbonGhost

Plugin & patch equivalents OptiFine alternatives

Shortlink https://tiny.one/fabricserver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment