▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/ResidenceBridge
ResidenceBridge

ResidenceBridge

Cross-Server Residence Bridge Plugin, Seamlessly share Residence data across Velocity / BungeeCord multi-server networks

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

ResidenceBridge

Cross-server Residence bridge for sharing Residence data, teleport requests, and global limits across a Velocity / BungeeCord network.

Features

  • Globally unique residence names for /res create and /res rename.
  • Cross-server /res tp <name> with automatic server switching and final Residence teleport on the target server.
  • Cross-server tab completion for global residence names in /res tp, /res remove, /res rename, and similar commands.
  • Global /res list showing residences owned by the player on every sub-server, plus /res list <player> for admins.
  • Global residence count limits, configurable by permission group and compatible with LuckPerms permission assignments.
  • Permission-based teleport wait time, with movement and damage cancellation; admins or a configured permission can skip the wait.
  • Cross-server common actions: /res rename, /res give, /res remove, and /res delete switch to the owning server and execute the original command there.
  • Scheduled MySQL sync for all local Residence data, suitable for installing on an already running network.
  • PlaceholderAPI placeholders: %reslink_ressize%, %reslink_reslist_1%, %reslink_reslist_2%, and so on.
  • Custom messages with legacy & colors and &#RRGGBB RGB colors.
  • Folia-aware scheduling for player tasks.

Requirements

ComponentRequirement
Sub-serverPaper / Spigot / Folia 1.16+
ResidenceInstalled on every sub-server
VelocityVelocity 3.x
DatabaseMySQL 5.7+ or MariaDB 10.4+
PlaceholderAPIOptional, only required for placeholders

Configuration Checklist

1. Sub-server IDs

Use the same names as Velocity servers:

# velocity.toml
[servers]
s1 = "127.0.0.1:25566"
s2 = "127.0.0.1:25567"
# s1/plugins/ResidenceBridge/config.yml
server-id: "s1"

# s2/plugins/ResidenceBridge/config.yml
server-id: "s2"

If server-id does not match a Velocity server name, database sync can still work, but cross-server switching will fail.

2. MySQL

All sub-servers must use the same database. Tables are created automatically.

mysql:
  host: "127.0.0.1"
  port: 3306
  database: "minecraft"
  username: "root"
  password: "password"

The database user needs CREATE TABLE, ALTER TABLE, SELECT, INSERT, UPDATE, and DELETE permissions.

3. Proxy Channel

The Velocity-side plugin currently has no separate config file. Keep this on the sub-server side:

velocity:
  channel: "residencebridge:main"
  fallback-bungee-channel: true

For pure Velocity networks, fallback-bungee-channel may be set to false; keeping the default is fine when unsure.

4. First Sync and Debugging

After installing on an existing network, run this from every sub-server console:

rb sync

Check what ResidenceBridge can read:

rb debug

Important debug fields:

FieldMeaning
Residence instanceWhether the Residence plugin instance is available
Residence names / Residence valuesWhether Residence API data is readable
Residence file snapshotsWhether saved Residence files were found
SnapshotsFinal data that will be synced to MySQL

If Snapshots is not 0, rb sync should write data to MySQL.

Commands and Permissions

CommandPermissionDefaultTypeDescription
/res tp <name>Residence original permissionPlayerPlayerCross-server teleport to a residence. ResidenceBridge will switch the player to the target server and continue the Residence teleport there.
/res listResidence original permissionPlayerPlayerLists the player's global residences across all linked sub-servers.
/res remove <name>Residence original permissionPlayerPlayerRemoves a residence. If the residence is on another server, ResidenceBridge switches the player to the owning server and executes the action there.
/res delete <name>Residence original permissionPlayerPlayerAlias-style delete action handled through the owning server when needed.
/res rename <old> <new>Residence original permissionPlayerPlayerRenames a residence while keeping residence names globally unique across the network.
/res give <name> <player>Residence original permissionPlayerPlayerTransfers a residence to another player. Cross-server ownership actions are routed to the owning server.
/res list <player>residencebridge.list.othersOPAdminLists another player's global residences.
/rb reloadresidencebridge.command.reloadOPAdminReloads the sub-server config.
/rb syncresidencebridge.command.syncOPAdminSyncs local Residence data to MySQL immediately.
/rb debugresidencebridge.command.debugOPAdminPrints Residence read and sync diagnostics.
/residencebridge reloadresidencebridge.command.reloadOPAdminAlias of /rb reload.

Permission-driven behavior is configured in config.yml and works well with LuckPerms, for example lp group vip permission set reslink.count.vip true. Default examples:

PermissionPurpose
ResLinkDefault3-second teleport wait
ResLinkDefaultCount3 global residences
reslink.tp.vip1-second teleport wait
reslink.count.vip10 global residences
residencebridge.list.othersList another player's global residences
residencebridge.teleport.bypassNo teleport wait
residencebridge.limit.bypassUnlimited global residence count

PlaceholderAPI

PlaceholderDescription
%reslink_ressize%Player's global residence count
%reslink_reslist_1%Player's first residence name
%reslink_reslist_2%Player's second residence name

Database Tables

TablePurpose
residence_bridge_indexGlobal residence index with name, server, world, owner, and status
residence_bridge_pending_tpPending cross-server teleport requests
residence_bridge_pending_actionPending cross-server command actions

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

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

Minecraft: Java Edition

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

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

Сервер

Ссылки

Создатели

Детали

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