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.
- 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
- Packet handlers
- Async chunk loading
- Entity Loading (from pre-existing chunks)
- Entity Spawning
- Player movement & mechanics
- Player permissions
- Player data containers
- Velocity Support
- Proxy <-> Backend Encryption
- Server switching
- Forced hosts
- Persistent connection to backend Orion servers (for custom protocols)
- JDK 17, Gradle, Cargo
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 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.