COWMODSКаталог модов

DynamicDNS

Keeps your subserver online by auto-updating its IP when it changes. Perfect for home-hosted servers with dynamic IPs.

Автор: lajczi5068обновлён 21 окт. 2026 г.
УправлениеТехнологииУтилиты

Описание

dynamicdns

DynamicDNS is a lightweight, cross-platform Minecraft plugin and proxy extension that keeps your subservers connected and reachable even when hosted on dynamic IP addresses (such as home servers or VPS nodes without static IPs).

No separate port forward, custom daemons or DNS propagation delays are required — address changes are synchronized in real-time directly through Minecraft's native networking layer.

Features

  • Port-Free Subserver Synchronization: Subservers ping the proxy using native Minecraft Handshake packets signed with HMAC-SHA256 (sync.v2.<name>.<port>.<signature>). No extra open ports or firewall adjustments are needed on the proxy.
  • HMAC-SHA256 Handshake Verification: Cryptographic handshake signatures verify authenticity without exposing the raw secret token over the wire, with seamless backward-compatibility for legacy payloads.
  • Proxy Configuration Persistence: Automatically registers, updates, and persists subserver addresses directly into velocity.toml (Velocity) or config.yml (BungeeCord).
  • Subserver Status & Last Update Tracking: Displays real-time registration status and accurate last update timestamps recorded directly on the proxy.
  • Multiple DDNS Providers:
    • Cloudflare DNS API: Automated updates for root or subdomain A (IPv4) and AAAA (IPv6) records with configurable proxy (orange cloud) status.
    • DuckDNS: Instant HTTP/HTTPS updates with dual-stack IPv4 and IPv6 support.
    • No-IP / DynDNS v2: Automated hostname updates using HTTP Basic Auth.
    • Dynu DDNS: Updates Dynu domains and SRV records automatically with your current public IP address or ngrok hostname.
  • Dual-Stack IPv4 & IPv6 Detection: Native public IPv4 and IPv6 resolution via redundant global lookup services.
  • Built-in ngrok Tunneling: Automatically exposes local servers via ngrok TCP tunnels and propagates the assigned public tunnel endpoint to your proxy or Dynu.
  • Integrated Modrinth Update Checker: Checks for new releases against the Modrinth API asynchronously in the background.
  • All-in-One Universal Jar: One unified artifact supports all platforms.

Supported Platforms

PlatformTypeMinimum Version
VelocityProxy3.x / 4.x
BungeeCord / WaterfallProxy1.8.8 – 26.4
Paper / Purpur / Spigot / FoliaSubserver1.8.8 – 26.4
SpongeSubserverSpongeAPI 8+ (Minecraft 1.16.5+)

How It Works

+-------------------------------------------------------------------+
|               Subserver (Spigot / Paper / Sponge)                 |
|                                                                   |
|   1. Periodically sends handshake ping:                           |
|      virtualHost = "sync.v2.<name>.<port>.<hmac>"                 |
+---------------------------------+---------------------------------+
                                  |
               (Standard Minecraft Port, e.g. 25565)
                                  v
+-------------------------------------------------------------------+
|                  Proxy (Velocity / BungeeCord)                    |
|                                                                   |
|   2. Intercepts incoming handshake/ping connection                |
|   3. Verifies HMAC-SHA256 signature                               |
|   4. Updates subserver address in proxy server registry           |
|   5. Saves updated address to velocity.toml or config.yml         |
|   6. Records 'last update' timestamp and drops connection         |
+-------------------------------------------------------------------+
  1. The subserver runs a repeating background task sending a handshake ping to the proxy's regular Minecraft address and port.
  2. The payload contains the subserver identifier, target port/IP, and a 32-character HMAC-SHA256 signature calculated with the shared secret token.
  3. The proxy verifies the signature using its shared secret.
  4. The proxy updates the subserver route dynamically in memory, persists it to file, records the proxy-side last update timestamp, and terminates the sync ping handshake without proxying player traffic.

Installation & Setup

1. Proxy Setup (Velocity or BungeeCord)

  1. Drop DynamicDNS.jar into your proxy's plugins/ directory.
  2. Start or restart the proxy to generate plugins/DynamicDNS/config.yml.
  3. Open plugins/DynamicDNS/config.yml and enable synchronization:
    server_sync:
      enabled: true
      token: "YOUR_SECRET_TOKEN" # If left blank, a UUID token is automatically generated on startup
    
  4. Copy the secret token for use on your subservers.

2. Subserver Setup (Paper, Spigot or Sponge)

  1. Drop DynamicDNS.jar into your subserver's plugins/ (or mods/ on Sponge) directory.
  2. Start or restart the server to generate config.yml.
  3. Configure plugins/DynamicDNS/config.yml:
    server_sync:
      enabled: true
      token: "YOUR_SECRET_TOKEN"          # Must match the token set on your proxy
      name: "survival"                    # The server ID registered on the proxy
      target_address: "proxy.host:25565"  # Host and port of your proxy server
      interval: 30                        # Sync interval in seconds
    
  4. Reload the configuration with /dynamicdns reload or restart the subserver. The proxy will automatically register the subserver's current IP and port.

Commands & Permissions

CommandAliasesDescriptionPermission
/dynamicdns status/ddns statusDisplays active provider hooks, registered subservers, and last update timestampsdynamicdns.status
/dynamicdns sync/ddns syncForces an immediate sync ping to the configured proxy (subserver only)dynamicdns.sync
/dynamicdns reload/ddns reloadReloads config.yml and restarts active hooksdynamicdns.reload
/dynamicdns update/ddns updateChecks Modrinth for available plugin updatesdynamicdns.update

The dynamicdns.admin permission grants full access to all commands. By default, permissions are granted to server operators (op) or administrators.

Последние версии

Все версии →
release

DynamicDNS 2.2

2.2
21 окт. 2026 г.32Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, bungeecord, folia, paper, purpur, spigot, sponge, velocity, waterfall
Скачать
Что нового
- Fixed NullPointerExceptions in proxy ping handlers by not setting ping response to null
release

DynamicDNS 2.1

2.1
21 окт. 2026 г.9Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, bungeecord, folia, paper, purpur, spigot, sponge, velocity, waterfall
Скачать
Что нового
- Added Cloudflare DNS API v4 provider (A and AAAA records) - Added DuckDNS provider with IPv4 and IPv6 support - Added No-IP / DynDNS v2 provider - Added public IPv6 address detection - Added HMAC-SHA256 handshake signature (v2) to secure subserver authentication - Simplified handshake payload to send only port and resolve IP directly from socket - Added `/dynamicdns status` command with last update tracking for subservers - Added `/dynamicdns sync` command to force immediate synchronization - Added Sponge 8+ support with full Bukkit parity - Added automatic update checker via Modrinth - Added bStats metrics - Refactored command permissions (`dynamicdns.admin`, `dynamicdns.reload`, `dynamicdns.update`, `dynamicdns.status`, `dynamicdns.sync`)
release

DynamicDNS 2.0

2.0
21 окт. 2026 г.8Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, bungeecord, folia, paper, purpur, spigot, sponge, velocity, waterfall
Скачать
Что нового
- Added plugin updates checker - Added /dynamicdns update/reload command - Reworked server ip synchronization (now you doesn't need second port) - Added sponge 8+ support - Updated kotlin to latest version - Reworked configuration structure
release

DynamicDNS

1.2
29 апр. 2026 г.208Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, bungeecord, folia, paper, purpur, spigot, velocity, waterfall
Скачать
Что нового
- Updated config structure and few fixes
release

DynamicDNS

1.1
21 авг. 2025 г.177Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, bungeecord, folia, paper, purpur, spigot, velocity, waterfall
Скачать
Что нового
- Added support for BungeeCord and Waterfall - Optimized several methods - Minor code rework - Added a logger for IP address changes - Improved compatibility by removing the Guava dependency - Added bStats metrics
release

DynamicDNS

1.0
27 июл. 2025 г.71Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, folia, paper, purpur, spigot, velocity
Скачать