Files
flying-jib/README.md
T
2026-07-30 23:02:00 -04:00

3.0 KiB
Raw Blame History

Flying Jib

Fully decentralized peer-to-peer Minecraft — no master servers, ever.

Flying Jib is a Bare/Pear app that runs Flying Squid inside Bare (via bare-node-runtime), bound only to 127.0.0.1. Friends join through encrypted Holepunch tunnels. Worlds stay private (capability invites) or enroll into a federated mesh of linked regions.

End users do not install Node.js. CI ships single standalone executables (bare-build --standalone) plus Pear P2P OTA.

Phase 0 complete: architecture and documentation are in place (including ADR-0013). Application runtime arrives in Phase 1.

Why “Flying Jib”?

A flying jib is a sail that works with the main sail — not above it as a master. Each peer runs its own server; the mesh is coordination among equals.

Architecture (one paragraph)

Java Edition always connects to localhost. The Bare app owns Squids lifecycle and a HyperDHT tunnel for remote peers. Mesh membership uses Autobase; borders use session migration, not a global voxel database. Runtime: Bare + pear-runtime only. Stack: Hyperswarm, HyperDHT, Protomux, Corestore — see living_docs/ARCHITECTURE_OVERVIEW.md.

Documentation

Tree Audience
living_docs/ Current status, roadmap, progress, open questions
developer_docs/ Setup, deep architecture, modules, protocol, release
user_docs/ End-user guides (features marked Planned until shipped)
agent/ Rules for humans & AI agents, ADRs, security

Start here: living_docs/CURRENT_STATUS.md · ADR-0013

Non-negotiables

  1. No central/master game servers
  2. Minecraft TCP only on 127.0.0.1
  3. Bare/Pear only — no system Node.js for the product; no Node child for Squid
  4. CI: single standalone executables + Pear OTA
  5. Documentation updated with every significant change
  6. ADRs before architecture changes
  7. Apache-2.0 — no AGPL hard dependencies

Roadmap (summary)

Phase Focus Status
0 Research, ADRs, full docs/agent scaffold Done
1 hello-pear-bare + Squid on Bare Not started
2 Private worlds via HyperDHT tunnel Not started
3 Presence + chat Not started
4 Mesh registry + border migration Not started
5 Security polish + bare-build CI/release Not started

Development

# Phase 1+ (Bare)
npm install          # dev machine only
npm start            # bare bin.mjs --no-updates
# Minecraft Java → 127.0.0.1:25565

See developer_docs/SETUP.md and developer_docs/CONTRIBUTING.md.

License

Apache License 2.0