Skip to content

Latest commit

 

History

History
102 lines (77 loc) · 3.05 KB

readme.md

File metadata and controls

102 lines (77 loc) · 3.05 KB

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)