▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Double Doors Server
Double Doors Server

Double Doors Server

A Bukkit/Spigot plugin that opens mirrored double doors together, with low-latency syncing and optional compatibility handling for common server stacks.

145
0

Double Doors Server

GitHub Release GitHub License GitHub Issues Modrinth Game Versions Crowdin
Online players Online servers

A Bukkit/Spigot plugin that opens mirrored double doors together, with low-latency syncing and optional compatibility handling for common server stacks.

Features

  • Same-tick partner door sync (no scheduled 1-tick delay)
  • Strict mirrored pair matching for doors:
    • same door type
    • same facing direction
    • opposite hinge
    • side-by-side only
  • Optional recursive opening support for non-door openables (fence gates/trapdoors)
  • Per-player toggle: /doubledoors toggle
  • LuckPerms-friendly permission nodes
  • GriefPrevention compatibility check for linked-door claim access
  • Duplicate interaction debounce (helps packet duplication patterns seen with some Bedrock/Geyser flows)
  • Translation support via JSON language files (built-in + custom)

Compatibility

  • Supports Minecraft Java Edition 26.1.

Geyser / Floodgate

  • Plugin declares soft-depends on Geyser-Spigot and floodgate.
  • A short duplicate-interaction debounce window is used to avoid rapid duplicate toggles on the same block.

LuckPerms

  • Works through standard Bukkit permissions, so LuckPerms applies automatically.
  • Use doubledoors.use to allow/deny linked opening behavior.

GriefPrevention

  • Plugin declares a soft-depend on GriefPrevention.
  • When present, linked-door interaction is checked against claim build permission before toggling the partner door.

Proxy Setup (Multi-Server)

DoubleDoors includes an optional Velocity proxy plugin for Geyser/Floodgate environments with multiple backend servers.

Proxy Features

  • Shared SQL heartbeat/presence tracking across multiple proxies
  • Automatic detection of Geyser/Floodgate clients
  • Support for SQLite and MySQL databases
  • Connection pooling via HikariCP for efficient SQL resource usage

Proxy Installation

  1. Download the proxy JAR from the releases page (doubledoors-proxy-<version>.jar)
  2. Place it in your Velocity plugins/ directory
  3. Restart the proxy
  4. A plugins/DoubleDoors/proxy-config.properties file will be generated

Proxy Configuration

Edit plugins/DoubleDoors/proxy-config.properties:

# Enable SQL heartbeat reporting (requires Geyser/Floodgate on this proxy)
sql.enabled=false

# JDBC URL for the shared database
# SQLite example: jdbc:sqlite:plugins/DoubleDoors/doubledoors.db
# MySQL example: jdbc:mysql://localhost:3306/doubledoors
sql.jdbcUrl=jdbc:sqlite:plugins/DoubleDoors/doubledoors.db

# SQL authentication (leave blank for SQLite)
sql.username=
sql.password=

# Unique proxy identifier (for multi-proxy setups)
sql.proxyId=velocity-main

# Heartbeat interval in seconds (minimum 5 seconds)
sql.heartbeatSeconds=30

Multi-Proxy Example

For a setup with multiple Velocity proxies reporting to a shared MySQL database:

Proxy 1:

sql.enabled=true
sql.jdbcUrl=jdbc:mysql://db.example.com:3306/doubledoors
sql.username=dd_user
sql.password=dd_pass
sql.proxyId=velocity-us
sql.heartbeatSeconds=30

Proxy 2:

sql.enabled=true
sql.jdbcUrl=jdbc:mysql://db.example.com:3306/doubledoors
sql.username=dd_user
sql.password=dd_pass
sql.proxyId=velocity-eu
sql.heartbeatSeconds=30

Commands

  • /doubledoors reload - reload config
  • /doubledoors toggle - toggle behavior for yourself
  • /doubledoors server-toggle - toggle behavior server-wide

Permissions

  • doubledoors.use (default: true)
  • doubledoors.toggle (default: true)
  • doubledoors.reload (default: op)
  • doubledoors.server-toggle (default: op)

Config

src/main/resources/config.yml

  • enableRecursiveOpening (default: true)
  • recursiveOpeningMaxBlocksDistance (default: 10)
  • enableDoors (default: true)
  • enableFenceGates (default: true)
  • enableTrapdoors (default: true)
  • enableVillagerLinkedDoors (default: true)
  • serverWideEnabled (default: true)
  • language (default: en_US)

Language files:

  • Built-in fallback file: src/main/resources/lang/en_US.json
  • Runtime custom language folder: plugins/DoubleDoors/lang/
  • Set active language with language: <code> in config.yml (example: language: de_DE)
  • Custom files are JSON objects of key/value strings and override built-in messages when present.

Build

Requirements:

  • Java 25
  • Maven

Build command:

mvn -DskipTests package

Output jar is generated under target/.

License

Licensed under the GNU General Public License v3.0. See LICENSE.

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

Minecraft: Java Edition

26.1.x1.21.x

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

Сервер

Создатели

Детали

Лицензия:GPL-3.0-only
Опубликован:1 месяц назад
Обновлён:1 неделю назад
Главная