Skip to content

v0.54.0: feat: Initial Bedrock Geyser Support (#552)

Choose a tag to compare

@robinbraemer robinbraemer released this 03 Sep 15:08
75ec7d3
* initial bedrock geyser support

* sample bedrock config

* feat: Enhance Bedrock support with managed Geyser integration

- Added support for managed Geyser mode, allowing automatic handling of Geyser processes.
- Updated configuration to include managed settings for Geyser, enabling easier setup for Bedrock players.
- Refactored existing Bedrock configuration to streamline integration with Geyser and Floodgate.
- Improved documentation to clarify the new managed mode and its benefits for users.
- Removed obsolete Floodgate configuration file as its settings are now integrated into the main configuration.

* docs: Update API section title for clarity

- Changed the section title from 'HTTP API' to 'API & SDKs' in the VitePress configuration to better reflect the content and improve user navigation.

* feat: Refactor DeviceOS handling in BedrockData

- Changed DeviceOS field in BedrockData to use a new DeviceOS struct for better type safety and clarity.
- Introduced DeviceOS constants to represent various operating systems.
- Added DeviceOSFromID function to retrieve DeviceOS by ID, enhancing code maintainability and readability.

* feat: Add conditional logging for OpenTelemetry shutdown

- Introduced a check for OTEL_METRICS_ENABLED and OTEL_TRACES_ENABLED environment variables to conditionally log OpenTelemetry shutdown messages.
- Enhanced logging clarity by ensuring shutdown messages are only displayed when telemetry is enabled.

* format

* feat: Adjust event subscription priority for Bedrock player handling

- Updated event subscription priority in the Geyser integration to ensure Bedrock players are processed before other handlers.
- Introduced a constant for priority to enhance code clarity and maintainability.

* feat: Move DeviceOS handling to a dedicated file

- Created a new file for DeviceOS struct and its associated constants, enhancing code organization and clarity.
- Implemented methods for identifying device types (console, mobile, desktop, etc.) based on DeviceOS.
- Removed DeviceOS definitions from BedrockData to streamline the structure and improve maintainability.

* format

* feat: Enhance Bedrock support and documentation

- Removed obsolete Bedrock configuration options from `config-simple.yml` to streamline setup.
- Updated README and guide documentation to highlight cross-platform compatibility and Bedrock support features.
- Improved navigation in the documentation by adding links to Bedrock support and adjusting section titles for clarity.
- Refactored example configurations to reflect the new managed Geyser integration and simplified setup process.

* feat: Update Bedrock configuration for improved clarity and security

- Changed default Geyser listen address to 'localhost:25567' for enhanced security in local setups.
- Simplified Bedrock configuration by removing redundant options and streamlining the structure.
- Updated documentation to reflect changes in configuration and clarify setup instructions for Bedrock support.
- Enhanced test coverage for Bedrock configuration handling, ensuring robust validation and integration.

* fix: Improve file permission checks and enhance download tests for Windows compatibility

- Updated file permission checks in floodgate_test.go to account for Windows differences, ensuring owner read/write access and warning for world-readable files.
- Modified download_test.go to create separate temporary directories for each subtest, preventing file conflicts on Windows.
- Enhanced error handling in managed.go during file operations to ensure proper cleanup and compatibility across platforms.

* format

* feat: Enhance Geyser connection handling with context support

- Added context support to GeyserConnection for better integration with player connections.
- Introduced functions to manage Geyser connections within context, improving retrieval and safety.
- Removed obsolete methods for Geyser connection retrieval, streamlining the codebase.

* fix: Update FromContext documentation for clarity

[skip ci]

* feat: Add programmatic access to Bedrock player data in documentation

- Introduced a new section in the guide detailing how developers can access Bedrock player information through the context system.
- Provided a code example demonstrating how to handle player join events and access device-specific data.
- Highlighted the benefits of this access for creating platform-specific features and optimizations.

* refactor: Update Bedrock configuration and documentation for clarity

- Revised Bedrock configuration in `gate.yml` to clarify the manual mode for Geyser as a separate container.
- Enhanced documentation in `bedrock.md` to reflect updated configuration options and improve readability.
- Streamlined the layout and content in `LandingAfter.vue` to better highlight Bedrock support features and quick start instructions.