▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
xLimbo

xLimbo

A rock-solid fallback / limbo server plugin for Paper (Pufferfish) networks.

Оцените первым
10
0

!xLimbo by Xena Studios, a fallback server plugin for Paper. A life-buoy icon and the xLimbo wordmark on a dark mission-control style banner with the tagline "Never drop a player again."

A rock-solid fallback / limbo server plugin for Paper (Pufferfish) networks. When your main server crashes, restarts or becomes unreachable, players routed to xLimbo land in an empty void world — creative mode, flight enabled, on an unbreakable glass floor — so they stay connected to the network instead of being disconnected. When the main server is back, they hop straight over with /join (or automatically).

xLimbo is built to never go down: every code path fails safe. It never throws out of enable/reload, never blocks the main thread, never disables itself on a bad config value, and no single player action can lag, crash, grief or escape the sandbox.


✨ Features

  • Void world owned by the plugin — created programmatically with an ultra-cheap generator (one shared glass-floor layer per chunk; caves, decorations, structures, mobs and noise all disabled). Ephemeral: autosave off, spawn chunks not kept loaded, optional safe reset on restart.
  • Join flow — players are put in creative + flight and async-teleported to a bounded, spread-out random spawn (chunk preloaded first, so the join tick never blocks on generation).
  • World border bounds all roaming and caps total chunk generation; random spawns always land inside it.
  • /join — sends the player to the main server via the proxy (BungeeCord Connect message), with configurable aliases, permission and a per-player cooldown to stop proxy spam.
  • Optional auto-join — send players back automatically after a delay.
  • Optional action bar — repeating hint (component parsed once, reused each cycle).
  • Message control — suppress join/quit/death broadcasts; optional custom join message and chat clear. All text is MiniMessage and fully configurable.
  • /xlimbo reload / /xlimbo info — reload re-reads and re-validates config and re-applies live. A few settings are restart-only: join-command.aliases, world.name, world.floor-y and world.floor-block (the world/generator is fixed at creation).
  • Exploit resistance (all individually toggleable, safe defaults on): unbreakable floor, void rescue, blocked portals, no liquids, no gravity blocks, no fire, no explosions, no mob spawns, no redstone, no item drops, entity-item blocking + periodic cleanup, and an optional build-rate guard against lag machines.

📦 Requirements

  • Paper 1.18.2+ (or a fork like Pufferfish / Purpur)
  • Java 21 runtime

🚀 Install

  1. Grab a jar (see Downloads below) and drop it in your xLimbo server's plugins/ folder.
  2. Start the server once — xLimbo creates the xlimbo world and writes a default config.yml.
  3. Edit plugins/xLimbo/config.yml to taste, then run /xlimbo reload (most settings apply live; aliases, world.name, floor-y and floor-block need a restart).
  4. Point your proxy's fallback/xlimbo server at this instance and set main-server in the config to the proxy name of the server you want /join to send players to.

⌨️ Commands & permissions

CommandPermissionDefaultDescription
/join (+ aliases)xlimbo.joineveryoneConnect to the main server.
/xlimbo reloadxlimbo.adminopReload + re-apply config live.
/xlimbo infoxlimbo.adminopShow build/version + runtime status.

⚙️ Recommended server-level tuning

Some performance and security tuning lives outside the plugin. For a fallback server that should stay flat under load:

  • server.properties
    • view-distance=4, simulation-distance=4 (xLimbo also sets these per-world, but the global default matters for any other world and for the initial spawn world).
    • spawn-protection=0, allow-nether=false.
    • online-mode=false only behind a proxy — and only with secure forwarding (below).
  • spigot.yml — lower entity-tracking-range values and merge-radius; keep view-distance in step.
  • pufferfish.yml / Paper's config/paper-world-defaults.yml — tighten entity activation ranges, disable ticking far from players, and keep max-auto-save-chunks-per-tick low (xLimbo runs with autosave off anyway).
  • Proxy forwarding security (important): the /join "Connect" plugin message can be spoofed by clients if forwarding isn't secured. Configure Velocity modern forwarding (or a BungeeCord IP-forwarding guard / firewall so only the proxy can reach the backend) so players can't impersonate the proxy or move themselves around the network. The plugin cannot enforce this — it must be set up on the proxy + server.

⚡ How it stays fast & stable

  • Immutable settings snapshot. Config is parsed once into an immutable object (with MiniMessage components pre-parsed) and swapped atomically on /xlimbo reload. No hot path — per-tick, per-chunk or per-event — ever reads getConfig() or re-parses MiniMessage.
  • O(1) generation. The generator writes one floor layer and disables every vanilla phase via the shouldGenerate* hooks, with a single fixed biome. Chunk cost is flat no matter how far players roam, and the world border caps how far that can go.
  • Async where it matters. Join teleports use teleportAsync after getChunkAtAsync preloads the destination, so the join tick never blocks on generation. World creation happens once at startup, never during ticks; the optional world reset uses an absolute path, never throws and never runs while players are on.
  • Ephemeral world. Autosave off, spawn chunks not kept in memory, reduced view/simulation distance — the world doesn't bloat disk or RAM.
  • Register only what's enabled. Listeners and tasks are only registered for enabled features, and torn down/rebuilt cleanly on reload — no leaked tasks, no dead handlers.
  • Fail-safe everywhere. onEnable/reload are wrapped so they can never throw out; a failing feature is logged and skipped rather than taking the server (and everyone on the network) down.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки

Детали

Лицензия:
Опубликован:3 недели назад
Обновлён:2 недели назад
Главная