Logo
MINECRAFTBIBLE
Items
Items

All game items

Blocks
Blocks

Building blocks

Mobs
Mobs

Creatures & monsters

Biomes
Biomes

World biomes

Structures
Structures

Generated structures

Recipes
Recipes

Crafting guides

Advancements
Advancements

Achievements

Loot Tables
Loot Tables

Drop rates

Tags
Tags

Item groupings

All Versions
View all data →
Capes
Cape ArchiveNEW

Browse rare Minecon capes, OptiFine capes, and custom capes from players worldwide

Browse

Player Database
Player DatabasePopular

Search any player

Skin Browser
Skin Browser

Browse & download skins

Cape Gallery
Cape GalleryNEW

Minecon & OptiFine capes

Seed Vault
Seed Vault

Curated seeds

Learn

Guides
GuidesNew

Tutorials & tips

Blog
Blog

News & updates

Community

Community Hub
Community HubHub

Posts, discussions & more

All Versions
View community →
Seed Analyzer
Seed Analyzer

World seed analysis

Loot Explorer
Loot Explorer

Drop rates

Crafting Calculator
Crafting Calculator

Material planning

Enchant Calculator
Enchant Calculator

Probability math

Redstone Lab
Redstone Lab

Signal timing

Trading Profit
Trading Profit

Villager ROI

All Versions
View all tools →
Mods
Mods

Browse all mods

Plugins
Plugins

Server plugins

Resource Packs
Resource Packs

Textures & sounds

Shaders
Shaders

Visual enhancements

Datapacks
Datapacks

World logic

Scanner
Mod Intelligence

Scan & analyze any mod

All Versions
View all mods →
Loading...
IntroductionIntroductionVersion HistoryVersion HistoryGuidesGuidesBlog & NewsBlog & News
ItemsItemsBlocksBlocksMobsMobsRecipesRecipesBiomesBiomesStructuresStructuresAdvancementsAdvancementsLoot TablesLoot TablesTagsTags
ModsModsPluginsPluginsResource PacksResource PacksShadersShadersDatapacksDatapacks

MinecraftBible

The Ultimate Wiki

Logo
MINECRAFTBIBLE

The ultimate Minecraft reference. Every item, block, mob, and recipe documented with precision.

Community

  • Skin Browser
  • Cape Gallery
  • Seed Vault
  • Blog
  • Guides

Database

  • Items
  • Blocks
  • Mobs
  • Recipes
  • Biomes
  • Structures

Tools

  • Seed Analyzer
  • Mod Intelligence
  • Crafting Calculator
  • Enchant Calculator

Mods & Packs

  • Mods
  • Plugins
  • Resource Packs
  • Shaders
  • Datapacks

Site & Legal

  • About
  • Authors
  • Editorial Policy
  • Corrections
  • Contact
  • Privacy Policy
  • Terms of Service
  • DMCA
  • Sitemap

© 2026 MinecraftBible. Not affiliated with Mojang or Microsoft.

PrivacyTermsContact
NatsBridge
PluginLicenseRef-Dual-License

NatsBridge

NATS messaging library for Minecraft servers

6
Downloads
0
Followers
4 months ago
Updated
📦
1
Versions
librarymanagementutilitybukkitbungeecordfoliapaperpurpurspigotvelocitywaterfall
Download Latestv1.0.0View on Modrinth

📖About NatsBridge

NatsBridge

NatsBridge is a Java library that connects your Spigot, Velocity, or BungeeCord plugins to a NATS server — easily and efficiently.

🚀 Features

  • ✅ Shared NATS connection across plugins
  • ✅ Supports Spigot/Paper, Velocity, and BungeeCord
  • ✅ High-performance Consumer API for message handling
  • ✅ Clean API to publish messages
  • ✅ Auto-reconnect & error handling
  • ✅ YAML configuration
  • ✅ TLS & authentication support
  • ✅ Sync & async message handling

📦 Setup

  1. Download the JAR:

  2. Drop it into your server’s /plugins folder.

  3. Start the server. A nats-config.yml file will be generated.

  4. Edit the config file and restart.

⚙️ Usage Example

Using high-performance Consumer API

// Sync consumer
NatsAPI api = BungeeCordNatsPlugin.getNatsAPI();
api.subscribeSubject("game.player.join", message -> {
    String playerName = new String(message, StandardCharsets.UTF_8);
    System.out.println("Player joined: " + playerName);
}, false);

// Async consumer (byte[])
api.subscribeSubject("game.chat", message -> {
    // Process chat message asynchronously
    String chatMessage = new String(message, StandardCharsets.UTF_8);
    broadcastToAllServers(chatMessage);
}, true);

// Async consumer (String) - more convenient!
api.subscribeStringSubject("game.chat", chatMessage -> {
    // Directly receive as String - no need for manual conversion
    broadcastToAllServers(chatMessage);
}, true);

Publish a message

Firstly you need to know when the connection is established.
There are 3 events for Velocity, Bungeecord and Spigot.

  • VelocityNatsBridgeConnectedEvent
  • BungeeNatsBridgeConnectedEvent
  • SpigotNatsBridgeConnectedEvent

Something like

@EventHandler
public void onNatsBridgeConnected(SpigotNatsBridgeConnectedEvent event) {
    //Do something here
}

You just need to listen these events and the event is fire when the connection to NATS is up.

BungeeCordNatsPlugin.getNatsAPI().publishString("subject", "Awesome message");
BungeeCordNatsPlugin.getNatsAPI().publishRaw("subject", [something that is byte[]]);

📂 Configuration (nats-config.yml)

nats:
  # List of NATS servers (can be a single server or a cluster)
  servers:
    - "nats://127.0.0.1:4222"
    - "nats://nats-cluster.local:4222"

  # Authentication configuration (optional)
  auth:
    enabled: true
    # Username/password authentication
    username: "user"
    password: "pass"
    # OR token authentication (if provided, username/password are ignored)
    # token: "your_token_here"

  # TLS configuration (optional)
  tls:
    enabled: false
    # Paths to keystores (optional)
    # keystore: "/path/to/keystore.jks"
    # keystore_password: "keystore_password"
    # truststore: "/path/to/truststore.jks"
    # truststore_password: "truststore_password"

  # Reconnection configuration
  reconnect:
    # Maximum number of reconnection attempts (-1 = unlimited)
    max_reconnects: -1
    # Delay between reconnection attempts (in milliseconds)
    reconnect_wait: 2000
    # Connection timeout (in milliseconds)
    connection_timeout: 5000

🔧 Commands

  • /nats help – Show help menu
  • /nats status – Check NATS connection status
  • /nats test <subject> <message> – Send a test message
  • /nats reload – Reload NATS configuration (planned)

Permission required: natsbridge.admin

🧩 Gradle

repositories {
    maven {
        name = "natsbridge-repo"
        url = uri("https://repo.nhsoul.fr/releases")
    }
}
dependencies {
    //Use the latest version
    
    // Mandatory
    compileOnly("fr.nhsoul.natsbridge:core:1.0.0")
    compileOnly("fr.nhsoul.natsbridge:common:1.0.0")
    
    //Select your platform
    compileOnly("fr.nhsoul.natsbridge:spigot:1.0.0")
    compileOnly("fr.nhsoul.natsbridge:velocity:1.0.0")
    compileOnly("fr.nhsoul.natsbridge:bungeecord:1.0.0")
}

🧩 Performance Considerations

The Consumer API approach offers several advantages:

  1. No reflection overhead: Native performance for message handling.
  2. Type safety: Use of standard Java interfaces.
  3. Explicit control: You control exactly when and how messages are processed.
  4. Platform integration: Easy access to platform-specific APIs (Spigot, Velocity, BungeeCord).

✅ Requirements

  • Java 21+
  • A NATS server
  • Minecraft 1.20+ server (Spigot, Velocity, or BungeeCord)

🤝 Contributing

  1. Fork this repo
  2. Create a branch
  3. Submit a PR – all contributions welcome!

👥 Team & Contributors

NhPro
NhProOwner

⚙️ Compatibility

Environment
🖥️ Server-side
Loaders
bukkitbungeecordfoliapaperpurpurspigotvelocitywaterfall
Minecraft Versions
1.201.20.11.20.21.20.31.20.41.20.51.20.61.21+11 more

🔗 Links

Modrinth Page