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.
- Development
- Optional Tools
- Docker (for containerization)
- rust-analyzer (recommended IDE plugin)
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 dependenciesMore detail will be added on the website documentation
- Follow the official Rust Style Guide
- Use
cargo fmtbefore committing to ensure consistent formatting - Run
cargo clippyto catch common mistakes and improve code quality
When contributing to this project please follow the Conventional Commits specification.
Examples:
feat: add support for protocol version 1.19.4fix: handle compression threshold properlydocs: update README with new configuration optionstest: add unit tests for packet handling
More example here https://www.conventionalcommits.org/en/v1.0.0/#examples
# 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_folerWe 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