https://github.com/bulletmc/bullet
Bullet is a minecraft server built from the ground up, runs as fast as a bullet!
https://github.com/bulletmc/bullet
kotlin minecraft minecraft-server network networking server
Last synced: 7 months ago
JSON representation
Bullet is a minecraft server built from the ground up, runs as fast as a bullet!
- Host: GitHub
- URL: https://github.com/bulletmc/bullet
- Owner: BulletMC
- License: mpl-2.0
- Created: 2025-02-26T21:11:29.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-06-24T21:02:15.000Z (7 months ago)
- Last Synced: 2025-06-24T21:40:39.799Z (7 months ago)
- Topics: kotlin, minecraft, minecraft-server, network, networking, server
- Language: Kotlin
- Homepage: https://bulletmc.gitbook.io/bullet
- Size: 1.17 MB
- Stars: 15
- Watchers: 3
- Forks: 3
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# About
**Bullet** is a minecraft server built from the ground up with the goal of being lightweight, fast, and easy to use.
> [!IMPORTANT]
> Bullet is currently in development and is not ready for production use
# Why Bullet?
The vanilla minecraft server that is written by Mojang, comes with a host of limitations that can make large scale or even medium-sized servers frustrating and expensive to manage.
### Biggest problem with vanilla servers
- Performance - Vanilla servers demand an absurd amount of RAM, even to support 10 players, an absolute minimum of 8GB of ram is needed to run smoothly.
- Single threaded - The core server is single threaded, meaning the server can't efficiently use multi core CPU's. This means server owners need to invest heavily into a CPU with high single core performance, and disregard the number of cores on the CPU.
- Limited Modularity - Extending vanilla functionality requires major workarounds, bukkit was created to solve this problem but had performance issues, spigot was created to solve bukkits problems, paper was created to solve spigots problems, and so on. This has created a fragmented ecosystem of api that are not always compatible with each other and brings unncessary complexity to server management and plugin development.
### Bullet's solution
- Performance - Bullet is designed to be lightweight and fast, with a focus on performance. Since bullet is built from the ground up, it can be infinity optimized for performance and memory usage.
- Multi threaded - Bullet is designed to be multi threaded, so it can efficiently distribute tasks across multiple CPU cores, drastically improving tick rate and overall performance.
- Familiar and easy to use - While Bullet provides low level control for developers, it also maintains a familiar environment for those transitioning from spigot or paper.
- NMS - Bullet doesn't rely on outdated mojang code, and instead does everything from scratch.

### Why not use minestom or another pre existing server?
- Steep learning curve - Switching to an entirely new framework requires rewriting api and understanding a new complicated API. Developers first coming from spigot or paper, shouldn't have to implement world generation or chunk loading from scratch.
- Lack of flexibility - Some alternative servers prioritize speed but sacrifice modularity and customization, limiting what developers can achieve
- Incompleteness - Many of the custom servers out there, don't fully implement vanilla mechanics in the way the official server does
# How to get started
Read the getting started on the wiki! You can also find much more information about things like custom events, commands, packets, and more.
# License
Bullet is licensed under the Mozilla Public License 2.0, you can find the license [here](LICENSE)