Bobby Share

A high-performance Fabric mod that collaboratively streams chunk NBT data from the server directly to clients to dynamically fill the Bobby render distance cache.

Bobby Share is a high-performance Fabric mod designed to collaboratively stream chunk data from the Minecraft server directly to clients to dynamically fill the rendering cache of the Bobby mod.

🚀 How It Works

Bobby is a client-side mod that allows you to have a render distance greater than the server's limit by caching chunks locally on your computer. Normally, you have to visit the chunks yourself to cache them.

Bobby Share bridges this gap:

  1. When you join the server, your client checks if it is missing chunk data in its local Bobby cache.
  2. If the chunk is missing, the client sends a lightweight network request to the server.
  3. The server loads the chunk data asynchronously, optimizes it, and streams it back to you.
  4. Your client saves the chunk locally, allowing you to instantly see far beyond the server's render distance.

⚡ Performance & Safety Optimizations

Designed to scale smoothly from 3 players to 100+ concurrent players without causing TPS drops or clogging network channels:

  • Server-Side LRU Cache: Caches up to 4096 optimized chunk compounds in memory (~100MB of RAM) to serve popular regions instantly.
  • Token Bucket Rate Limiting: Limits requests per player (Burst: 200 chunks, Refill: 80 chunks/second) to protect the server from being spammed.
  • NBT Stripping (Bandwidth Optimization): Strips heavy, rendering-irrelevant data from chunks (structures, entity ticks, carving masks, block entities) before sending, reducing payload sizes by 50% to 80%.
  • Main-Thread Safety: Fetches chunk data asynchronously on the server. On the client, file writing runs on background threads to keep the game completely lag-free.

⚙️ Configuration & Commands (Server-Side)

You can configure Bobby Share's performance settings using the auto-generated config file at config/bobbyshare.json on your server:

  • rateLimitBurst - Maximum chunks a player can request in a quick burst (default: 200).
  • rateLimitRefill - Number of chunk requests restored to a player per second (default: 80).
  • cacheCapacity - Maximum stripped chunks stored in server RAM (default: 4096).
  • maxRequestDistance - Safety limit of how far from the player requested chunks can be (default: 34.0).
  • blacklistedDimensions - List of dimension identifiers to disable chunk streaming for (default: ["minecraft:the_end"]).

Admin Commands (Requires OP level 2):

  • /bobbyshare reload - Reloads the configuration file from disk and applies changes instantly.
  • /bobbyshare clearcache - Clears the server-side RAM chunk cache.

📥 Installation & Setup

To stream chunks successfully, Bobby Share must be installed on both the server and client:

  • Client-Side: Place the bobbyshare-*.jar AND the original bobby-*.jar in your .minecraft/mods/ directory.
  • Server-Side: Place ONLY the bobbyshare-*.jar in your server's mods/ directory. (WARNING: Do NOT put the original Bobby mod on the server, as it is client-side only and will crash the server on startup).

The Bobby Share Team

profile avatar
Owner
  • 1
    Projects
  • 46
    Downloads