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

Lost Crafters Server Switcher

Customizable /server command and connection management velocity plugin

28
0

LostCrafters Server Plugin

A Velocity plugin that provides a customizable /server command with support for server groups, GUIs (via Protocolize), and text-based selection.

Features

  • Server Groups: Define groups of servers. Players only see servers within their current group.
  • GUI Support: Use Protocolize to show an interactive inventory for server selection.
  • Text-based Selection: Fallback to clickable chat messages if GUIs are disabled.
  • Customizable Messages: All messages support MiniMessage and can be fully customized in the config.
  • LuckPerms Integration: Fine-grained permission control.
  • MiniPlaceholders Support: Integration with MiniPlaceholders for dynamic placeholders from other plugins.

Commands

  • /server [server]: Opens the server selection GUI/menu or connects directly to the specified server.
  • /lcserver reload: Reloads the plugin configuration.

Permissions

  • lostcrafters.server.use: Allows use of the /server command.
  • lostcrafters.server.reload: Allows use of the /lcserver reload command.
  • lostcrafters.serveraccess.<server>: Grants access to connect to a specific server, where <server> is the internal Velocity server name.
  • lostcrafters.serveraccess.*: Grants access to all servers.

Note: By default, players have no access to any server. You must explicitly grant access via these permissions.

If a player's permission is revoked while they are connected to a server, they will be automatically redirected to a fallback server (as defined in velocity.toml) or disconnected if no fallback is available.

Configuration

The configuration is located at plugins/lostcrafters/server/config.yml.

Example Configuration

Note: For GUI items, it is recommended to use vanilla Minecraft IDs (e.g., minecraft:compass). Modded items may not be supported by the GUI library and will default to a diamond sword if not found.

server-groups:
  survival_group:
    name: "<green>Survival Group</green>"
    show-gui: true
    enable-switch-broadcast: true
    servers:
    - lobby:
        name: "Lobby"
        item: "minecraft:compass"
    - survival:
        name: "Survival"
        item: "minecraft:iron_pickaxe"
    - creative:
        name: "Creative"
        item: "minecraft:grass_block"
    - staff_lounge:
        name: "Staff Lounge"
        hide-from-list: true
  minigames_group:
    name: "<yellow>Minigames Group</yellow>"
    show-gui: false
    servers:
    - minigames_lobby:
        name: "Minigames Lobby"
        item: "minecraft:clock"

Configuration Breakdown

Server Groups

Each entry under server-groups defines a collection of servers.

  • name: (String) The display name of the group. Supports MiniMessage.
  • show-gui: (Boolean) If true, a GUI (chest menu) will be shown when using /server. If false, a text-based selection message will be sent in chat.
  • enable-switch-broadcast: (Boolean, Optional, Default: true) If true, a message will be broadcast to all players within the group when a player switches from one server in the group to another.

Server Entries

Each server within a group is defined by its internal Velocity name and the following properties:

  • name: (String) The display name of the server.
  • item: (String, Optional, Default: minecraft:diamond_sword) The Minecraft item ID for the GUI representation (e.g., minecraft:compass).
  • hide-from-list: (Boolean, Optional, Default: false) If true, this server will be hidden from the GUI and the text selection list. The server remains accessible via /server <name> if the player has the appropriate permission. This is useful for servers like limbo lobbies or staff-only areas that you don't want to advertise in the general list.

Message Configuration

You can customize all plugin messages in the messages section of the config. The following placeholders are available and valid per message as indicated:

  • %servername%: The display name of the server as configured in server-groups.
  • %playercount%: The current number of players online on that server.
  • %players%: A comma-separated list of names of players currently on that server.
  • %server%: The internal ID/name of the server.
  • %player%: The name of the player who is switching servers.
  • %previousserver%: The internal ID of the previous server.
  • %previousservername%: The display name of the previous server.

Valid Placeholders per Message:

MessageDefault MessageValid Placeholders
select-server<yellow>Select a server: </yellow>(none)
server-format[<green>%servername%</green>]%servername%, %playercount%, %players%
current-server-format[<gray>%servername%</gray>]%servername%, %playercount%, %players%
hover-text<aqua>%servername%</aqua><newline><white>Players (%playercount%): %players%</white>%servername%, %playercount%, %players%
no-permission<red>You do not have permission to use this command.</red>(none)
reloaded<green>Configuration reloaded.</green>(none)
server-not-found<red>Server %server% not found.</red>%server%
already-connected<red>You are already connected to %servername%.</red>%server%, %servername%
connecting<green>Connecting to %servername%...</green>%server%, %servername%
no-server-permission<red>You do not have permission to connect to %servername%.</red>%server%, %servername%
no-fallback-server<red>You no longer have permission to be on this server and no fallback server is available.</red>(none)
server-switch-broadcast<gray>%player% has switched from %previousservername% to %servername%</gray>%player%, %server%, %servername%, %previousserver%, %previousservername%

Example usage in hover-text:

hover-text: "<aqua>%servername%</aqua><newline><white>Players (%playercount%): %players%</white>"

Dependencies

  • Velocity API: 3.4.0-SNAPSHOT
  • Protocolize: 2.4.1 (Optional, required for GUIs)
  • MiniPlaceholders: (Optional, for additional placeholders)
  • LuckPerms: For permission management
  • Configurate (YAML): For configuration management

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

Minecraft: Java Edition

1.21.x1.20.x

Платформы

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

Сервер

Создатели

Детали

Лицензия:LicenseRef-All-Rights-Reserved
Опубликован:3 месяца назад
Обновлён:2 месяца назад
Главная