Files
libmc/docs/README.md
T

37 lines
2.1 KiB
Markdown
Raw Normal View History

2026-09-08 11:13:37 +08:00
# libmc
2026-09-08 12:23:55 +08:00
[中文](zh/README-zh.md)
2026-09-08 11:13:37 +08:00
A lightweight, modern Minecraft client protocol library designed for Kotlin Native & JVM. The core protocol library
module relies on the following dependencies:
- Standard Library (`kotlin-stdlib`)
- I/O (`kotlinx-io`) - Efficiently wraps each packet into a Buffer
- Coroutines (`kotlinx-coroutines`) - Enables high-performance asynchronous operations
## Required APIs
| Module Name | Required | Notes |
|:-------------|:------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| TCP Socket | Yes | The `protocol` module does not have a built-in TCP Socket implementation. [Implement TCP Socket](Impl-TCP-Socket.md) |
| AES-128-CFB8 | Conditional | Required only when logging into an `online-mode` server to encrypt/decrypt traffic. [Implement AES-128-CFB8](Impl-Crypto.md#AES-128-CFB8) |
| RSA 1024 | Conditional | Required only when logging into an `online-mode` server to encrypt the shared secret with the server's public key. [Implement RSA 1024](Impl-Crypto.md#RSA1024) |
| SHA1 | Conditional | Required only when logging into an `online-mode` server to compute the Server ID hash. [Implement SHA1](Impl-Crypto.md#SHA1) |
| HTTP Client | Conditional | Required only when logging into an `online-mode` server to send join request to mojang's session server. [Implement HTTP Client](Impl-HTTP-Client.md) |
# Get started
2026-09-08 12:23:55 +08:00
# Protocol
2026-09-08 11:13:37 +08:00
> `libmc-protocol` is current under development. It only supports the latest Minecraft version
> (Current supported Minecraft version: `26.2`, Protocol Version: `776`)
2026-09-08 12:23:55 +08:00
[Start using libmc-protocol](en/Get-started.md)
2026-09-08 11:13:37 +08:00
# Assemble all context APIs
2026-09-08 12:23:55 +08:00
[Assemble context APIs](en/Assemble-context.md)
## NBT & SNBT
[NBT & SNBT](en/NBT-SNBT.md)