Skip to content

Latest commit

 

History

History
71 lines (51 loc) · 2.44 KB

File metadata and controls

71 lines (51 loc) · 2.44 KB

Contributing

Feel free to add or modify the source code. On GitHub the best way of doing this is by forking this repository, then cloning your fork with Git to your local system. After adding or modifying the source code, push it back to your fork and open a pull request in this repository.

Tools Required

Project Structure

rust/
├── src/
│   ├── bin/           # Binary executables
│   ├── core/          # Core functionality
│   ├── network/       # Networking code
│   ├── protocol/      # Minecraft protocol implementation
│   └── proxy_modes/   # Different proxy mode implementations
├── tests/             # Integration tests // TODO
├── Cargo.toml         # Project dependencies and metadata
└── Cargo.lock         # Locked dependencies

More detail will be added on the website documentation

Code Style

  • Follow the official Rust Style Guide
  • Use cargo fmt before committing to ensure consistent formatting
  • Run cargo clippy to catch common mistakes and improve code quality

Commit Messages

When contributing to this project please follow the Conventional Commits specification.

Examples:

  • feat: add support for protocol version 1.19.4
  • fix: handle compression threshold properly
  • docs: update README with new configuration options
  • test: add unit tests for packet handling

More example here https://www.conventionalcommits.org/en/v1.0.0/#examples

Building and Testing

# Build the project
cargo build

# Run tests
cargo test

# Run with specific features
cargo run --bin infrarust -- --config-path custom_config.yaml --proxies-path proxies_path_foler

Versioning

We follow Semantic Versioning:

  • MAJOR version for incompatible API changes
  • MINOR version for new functionality in a backwards compatible manner
  • PATCH version for backwards compatible bug fixes