Skip to content

MaximalCats/Zeppelin

 
 

Repository files navigation

Zeppelin

Blazingly fast, highly optimized server implementation written in Go for Minecraft 1.21

Discord Server

Why

Why not?

Performance

Zeppelin is heavily focused on performance and using as little memory as possible. Below are screenshots of the memory usage (Alloc=current memory usage, Total Alloc=lifetime memory usage) (Top=region loaded, bottom=Generated)

Region loaded

Generated

Supported Platforms

Zeppelin supports *unix with plugins.

Windows is unsupported. You can run it on WSL or MSYS2 as long as you can have libdeflate installed. (WSL is recommended because it has support for go plugins aswell)

Installation

To run Zeppelin, you need to install the Go compiler, a C compiler, and libdeflate.

Configuration

Configuration is in the standard server.properties. Zeppelin includes a couple of custom properties, and removes some too. NOTE: all the properties are added to the structure, but they aren't being used yet! (the properties that are in the structure are either used or will be used)

Privacy

  • The server allows for chat signing

  • The server respects the client's settings not to show in server listing

Boot Arguments

--no-raw-terminal: disables the raw terminal option which might be useful for systems that don't work well with it

--no-plugins: disables plugin loading which might be useful if your system doesn't support plugins and want to remove the warning message

--cpuprof: run the server with the cpu profiler

--memprof: run the server with the memory profiler

Roadmap

World

  • Read level dat file
  • Chunks
    • Loading from MCA
    • Encoding
    • Manipulation (get/set block, get/set light level)
    • Lighting calculation
    • MCA writing
  • Entities
  • Daytime
  • Ticking
    • Only the daytime is being ticked currently.
  • Custom block behaviour.
  • Terrain Generation
    • Superflat
    • Normal (extremely basic)
  • Particles
  • Custom dimensions
  • Custom chunk format

Player

  • Reading, writing and generating playerdata (from world level)
  • Movement (position, rotation)
  • Metadata (sneaking, sprinting, client info)
  • Arm swing animation
  • Encryption
  • Authentication
  • Secure chat
  • Interactions
  • Combat
  • Inventory
    • Only works in Creative mode.

Network

  • Server registries
  • Shared registries
  • Slot
  • Server list ping
    • No server icon support yet.
  • Multi-protocol

Other

  • NBT writing
  • NBT reading
    • Needs to be further optimized.
  • Text formatting
  • RCON support
  • Command API
    • No argument support yet.
  • Custom locales
  • Placeholder API
  • Supports latest version. (1.21)

Acknowledgements

Angel - help with chunk related calculations (0x8D989E86)

About

Highly efficient Minecraft server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%