MCPcopy Index your code
hub / github.com/Quozul/PicoLimbo

github.com/Quozul/PicoLimbo @v1.21.8

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.21.8 ↗ · + Follow
486 symbols 902 edges 126 files 29 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PicoLimbo

GitHub CI Latest Release License Discord

An ultra-lightweight, multi-version Minecraft limbo server written in Rust. It currently supports all Minecraft versions from 1.7.2 through 1.21.8.


Community & Support

If you have any questions or suggestions, join the Discord server!

Introduction

PicoLimbo is a lightweight limbo server written in Rust, designed primarily as an AFK or waiting server. Its core focus is on efficiency by implementing only essential packets required for client login and maintaining connection (keep-alive) without unnecessary overhead.

When idle, PicoLimbo uses almost no resources: 0% CPU and less than 10 MB of memory, making it extremely lightweight.

While not aiming to replicate every Minecraft server feature, PicoLimbo supports all Minecraft versions from 1.7.2 through 1.21.8, excluding snapshots, with only 28 implemented packets covering over 47 different protocol versions or 75 Minecraft versions.

Features

⚙️ Highly Configurable

Customize your server using a simple TOML configuration file, including welcome message, spawn dimension, server list MOTD, and more.

🔀 Built-in Proxy Support

Seamlessly integrates with major Minecraft proxies:

  • Velocity (Modern Forwarding)
  • BungeeCord (Legacy Forwarding)
  • BungeeGuard & BungeeGuardPlus authentication

🎮 Wide Version Compatibility

Supports all Minecraft versions from 1.7.2 to 1.21.8 natively, no need for ViaVersion or additional compatibility layers.

⚡ Ultra-Lightweight & Highly Scalable

Uses 0% CPU while idle and under 10 MB RAM, enabling thousands of concurrent players thanks to Rust’s asynchronous runtime and efficient design.

PicoLimbo.png
The screenshot shows just a few of the supported Minecraft versions.


Quick Start

Docker

docker run --rm -p "25565:25565" ghcr.io/quozul/picolimbo:master

Binary

Download from GitHub Releases

For more detailed installation and configuration instructions, please refer to the documentation website.

Documentation

Complete documentation is available at https://picolimbo.quozul.dev/

For detailed installation instructions, configuration options, and usage examples, please visit the documentation website.


Similar Projects


Contributing

Contributions are welcome! If you encounter any issues or have suggestions for improvement, please submit an issue or pull request on GitHub. Make sure to follow the existing code style and include relevant tests.

  1. Fork the repository.
  2. Create a new branch git checkout -b <branch-name>.
  3. Make changes and commit git commit -m 'Add some feature'.
  4. Push to your fork git push origin <branch-name>.
  5. Submit a pull request.

Extension points exported contracts — how you extend this code

EncodePacketField (Interface)
(no doc) [20 implementers]
crates/minecraft_protocol/src/traits/encode_packet_field.rs
WriteBytes (Interface)
(no doc) [4 implementers]
crates/pico_nbt/src/binary_writer.rs
GetStateProtocol (Interface)
(no doc) [1 implementers]
binaries/pico_limbo/src/handlers/handshake.rs
DecodePacketField (Interface)
(no doc) [11 implementers]
crates/minecraft_protocol/src/traits/decode_packet_field.rs
Handler (Interface)
(no doc) [1 implementers]
binaries/pico_limbo/src/server/event_handler.rs
EncodePacket (Interface)
(no doc)
crates/minecraft_protocol/src/packet_serializer/encode_packet.rs
PacketId (Interface)
(no doc)
crates/minecraft_protocol/src/packet_serializer/packet_id.rs
DecodePacket (Interface)
(no doc)
crates/minecraft_protocol/src/packet_serializer/decode_packet.rs

Core symbols most depended-on inside this repo

write
called by 22
crates/pico_nbt/src/binary_writer.rs
send_packet
called by 19
binaries/pico_limbo/src/server/client.rs
len
called by 17
crates/minecraft_protocol/src/data_types/length_padded_vec.rs
acquire_lock
called by 14
binaries/pico_limbo/src/server/client.rs
value
called by 10
crates/minecraft_protocol/src/data_types/var_int.rs
build
called by 10
crates/pico_nbt/src/nbt_version.rs
on
called by 8
binaries/pico_limbo/src/server/network.rs
read_packet
called by 8
crates/net/src/packet_stream.rs

Shape

Method 213
Function 147
Class 81
Enum 37
Interface 8

Languages

Rust98%
TypeScript2%

Modules by API surface

binaries/pico_limbo/src/server_state.rs27 symbols
crates/pico_nbt/src/nbt.rs23 symbols
binaries/pico_limbo/src/server/client.rs19 symbols
binaries/pico_limbo/src/server/client_inner.rs18 symbols
crates/minecraft_protocol/src/data_types/number.rs15 symbols
crates/minecraft_protocol/src/data_types/length_padded_vec.rs14 symbols
crates/minecraft_protocol/src/data/packets_report/packet_map.rs14 symbols
crates/net/src/packet_stream.rs13 symbols
crates/minecraft_protocol/src/data_types/var_int.rs12 symbols
crates/pico_nbt/src/nbt_version.rs9 symbols
crates/minecraft_packets/src/play/chunk_data_and_update_light_packet.rs9 symbols
binaries/pico_ping/src/parse_host_port.rs9 symbols

For agents

$ claude mcp add PicoLimbo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page