Thank you for contributing to MCQuery.
This repository contains a Go CLI and status API for querying Minecraft Bedrock and Java servers. Contributions should preserve protocol correctness, bounded network behavior, portability, and clear terminal or API output.
- Read README.md for supported modes, configuration, and API behavior.
- Read SECURITY.md before reporting vulnerabilities.
- Discuss large features, protocol changes, or breaking CLI/API changes before implementing them.
Requirements:
- Go 1.25 or newer
Download dependencies:
go mod downloadRun tests and static checks:
go test ./...
go vet ./...Build the application:
go build ./cmd/uwp-tcp-conRun it directly:
go run ./cmd/uwp-tcp-concmd/uwp-tcp-con: application entry pointinternal/cli: terminal interaction and renderinginternal/ping: Minecraft Bedrock and Java query protocolsinternal/web: HTTP status and stream APIconfig: runtime configuration examplesscripts: launch helpers
- Keep changes focused and avoid unrelated refactors.
- Preserve CLI and API contracts unless a change is intentional and documented.
- Bound network operations with timeouts, cancellation, and sensible concurrency.
- Validate target addresses, configuration, packets, MOTDs, and upstream lengths.
- Avoid panics on malformed or hostile server responses.
- Add tests for protocol parsing, validation, and error paths.
- Update
README.mdwhen commands, configuration, endpoints, or response formats change.
- Format changed Go files with
gofmt. - Keep platform-specific behavior isolated and buildable on supported platforms.
- Handle returned errors explicitly.
- Avoid unbounded goroutines, reads, allocations, and retry loops.
- Keep output deterministic where practical.
At minimum:
- run
go test ./... - run
go vet ./... - build
./cmd/uwp-tcp-con - test both Bedrock and Java paths when changing shared query behavior
Network-dependent tests should use controlled local fixtures rather than unrelated public servers.
Follow the existing concise, imperative style, for example:
Handle malformed Bedrock pong responses
Add validation for API server targets
Document Java query configuration
Describe the problem, implementation, CLI/API impact, platform considerations, tests performed, and any remaining follow-up work.
Do not disclose vulnerability details in public issues or pull requests. Follow SECURITY.md.
By participating in this project, you agree to follow CODE_OF_CONDUCT.md.