How geysermc/geyser works
Geyser is a cross-platform Minecraft proxy: a Bedrock client connects through a platform bootstrap and protocol bridge to a Java server, while sessions and gameplay adapters maintain compatible state. The sampled code shows collision queries against world data, palette serialization, skin and resource-pack handling, metadata overrides, commands, events, extensions, and acceptance persistence. Core packet translation and startup orchestration are represented by their enclosing directories because those implementations were not sampled.
Components 19
Platform Entry
- Platform Adapters
bootstrap - Geyser Runtime
core/src/main/java/org/geysermc/geyser
Protocol Bridge
- Protocol Bridge
core/src/main/java/org/geysermc/geyser/network - Session Manager
core/src/main/java/org/geysermc/geyser/session/SessionManager.java
Gameplay State
- World Manager
core/src/main/java/org/geysermc/geyser/level/WorldManager.java - Collision Manager
core/src/main/java/org/geysermc/geyser/level/physics/CollisionManager.java - Block Storage
core/src/main/java/org/geysermc/geyser/level/chunk/BlockStorage.java - Entity Metadata
core/src/main/java/org/geysermc/geyser/entity/GeyserEntityDataManager.java
Content Services
- Skin Manager
core/src/main/java/org/geysermc/geyser/skin/SkinManager.java - Skull Pack Manager
core/src/main/java/org/geysermc/geyser/pack/SkullResourcePackManager.java - Pack Cache
core/src/main/java/org/geysermc/geyser/pack/SkullResourcePackManager.java
Extensibility
- Event Bus
api/src/main/java/org/geysermc/geyser/api/event/EventBus.java - Extension Manager
core/src/main/java/org/geysermc/geyser/extension/GeyserExtensionManager.java - Command Manager
core/src/main/java/org/geysermc/geyser/command/standalone/StandaloneCloudCommandManager.java - Conduct Manager
core/src/main/java/org/geysermc/geyser/util/CodeOfConductManager.java - Conduct Cache
core/src/main/java/org/geysermc/geyser/util/CodeOfConductManager.java
Other components
- Bedrock Client
- Java Server
- Profile Service
Connections 16
- Bedrock Client → Platform Adapters: connects
- Platform Adapters → Geyser Runtime: hosts
- Geyser Runtime → Protocol Bridge: initializes
- Bedrock Client → Protocol Bridge: sends packets
- Protocol Bridge → Java Server: translates packets
- Java Server → Protocol Bridge: returns packets
- Protocol Bridge → Session Manager: tracks sessions
- Collision Manager → World Manager: reads blocks
- Block Storage → Protocol Bridge: writes blocks
- Skin Manager → Profile Service: resolves profiles
- Skin Manager → Protocol Bridge: sends skins
- Skull Pack Manager → Pack Cache: writes packs
- Extension Manager → Event Bus: registers extensions
- Command Manager → Event Bus: registers handlers
- Conduct Manager → Event Bus: fires events
- Conduct Manager → Conduct Cache: reads and writes