Skip to content

Latest commit

 

History

History
55 lines (45 loc) · 1.86 KB

README.md

File metadata and controls

55 lines (45 loc) · 1.86 KB

Orion

PrysmNetwork

Orion is a 1.18.2 (758) Minecraft Server and Proxy implementation written to be the absolute bare-bones to run a network, but extendable for maximum customization.

Progress

Common

  • Multithreaded TCP pipeline
  • Packet structure
  • Encryption (using velocity's native encryption library)
  • Compression
  • Event system
  • Plugin & module loading
  • Mojang Authentication
  • Offline Mode Support
  • Tab list
  • Chat

Server

  • Packet handlers
  • Async chunk loading
  • Entity Loading (from pre-existing chunks)
  • Entity Spawning
  • Player movement & mechanics
  • Player permissions
  • Player data containers
  • Velocity Support

Proxy

  • Proxy <-> Backend Encryption
  • Server switching
  • Forced hosts
  • Persistent connection to backend Orion servers (for custom protocols)

Development Requirements

  • JDK 17, Gradle, Cargo

Modules & Plugins

Modules

Modules are meant to hook into any of Orion's internal classes so that they may extend and/or add additional functionality. For example, PVP will not be part of Orion out of the box; but instead, a module for PVP will be created. This means servers that do not need PVP, such as lobbies, simply ignore any PVP mechanics clients attempt and therefore, save resources. On the other hand, servers that need PVP can simply load the module.

Plugins

Plugins do not have access to Orion's internal classes and instead will use the api package to interact with the server. This is a high level API that is meant to be 100% safe. A good use case for a plugin would be modifying chat format, tracking player stats, etc.