SimpleTPA
SimpleTPA - плагин для Майнкрафт с системой запросов на телепортацию (/tpa, /tpaccept, /tpdeny). Кастомные звуки, сообщения, кулдауны и поддержка Folia.
Что такое SimpleTPA
SimpleTPA - это плагин для Minecraft, который добавляет классическую систему запросов на телепортацию между игроками. Если у вас есть сервер и вы хотите дать людям возможность перемещаться друг к другу без хаоса и читеров с чит-командами, то этот проект закрывает именно эту потребность. Никакого магического /tp для всех подряд - только осознанные запросы, которые вторая сторона может принять или отклонить.
Плагин актуален и активно поддерживается. По данным на момент обзора, совместимость заявлена для версий Minecraft Java 1.21.x, а скачивания уже перевалили за 91 тысячу. Проект распространяется под лицензией Apache-2.0, что для админов означает свободу модификации под свои нужды. Доступны две отдельные сборки: одна для Paper/Folia, другая для классического Bukkit/Spigot.
Какие проблемы решает плагин
На многих серверах без плагинов на телепорты игроки тратят часы на пешие переходы. С другой стороны, если просто раздать всем права на /tp, начнется хаос - тебя будут таскать через полкарты без спроса. SimpleTPA решает обе проблемы:
- Игроки могут быстро перемещаться к друзьям для совместного выживания или строительства.
- Никто не телепортируется против воли - всегда есть окно с запросом, который можно отклонить.
- Есть кулдауны, чтобы не спамили запросами.
- Можно отключить прием входящих запросов одной командой, если задолбали.
Для администраторов это еще и инструмент контроля. Вы можете настроить warmup - задержку перед телепортацией, чтобы игрок не мог сбежать из PvP-боя моментально. А команда /tpo позволяет телепортироваться к последней известной точке вышедшего из сети игрока, что полезно для модерации.
Основные возможности
- Кастомизация сообщений - поддерживает MiniMessage теги и старые цветовые коды. Можно делать градиенты, ховеры, кликабельные элементы.
- TPA-кулдауны - настраиваемая задержка между запросами, чтобы не было спама.
- Свои звуки - каждое событие (отправка запроса, принятие, отказ, истечение) имеет свой звук, который можно менять в конфиге.
- Кликабельные сообщения - в чате появляются кнопки
[✔ Accept]и[✖ Deny], по которым можно кликнуть мышкой, чтобы принять или отклонить запрос. Не нужно вручную печатать команды. - Поддержка PlaceholderAPI - имена игроков в сообщениях можно форматировать с помощью плейсхолдеров, например, добавлять префиксы из LuckPerms.
- Опциональный warmup - после принятия запроса игрок должен простоять на месте несколько секунд. Если сдвинется - телепорт отменяется. Отличная защита от сбега из боя.
- Множественные запросы - можно разрешить игрокам отправлять и принимать несколько запросов одновременно.
- Поддержка Folia - работает на новых экспериментальных сборках Paper с многопоточной обработкой тиков.
Команды и как ими пользоваться
Базовые команды для игроков
/tpa [Player]- отправить запрос на телепортацию к указанному игроку./tpahere [Player]- попросить указанного игрока телепортироваться к вам./tpaccept [Player]- принять входящий запрос. Если их несколько, укажите ник./tpdeny [Player]- отклонить входящий запрос./tpacancel [Player]- отменить один из ваших исходящих запросов, если передумали./tpatoggle- переключить прием входящих запросов. Если устали от спама - отключите одной командой./tpa version- посмотреть версию плагина и наличие обновлений./tpa help- список всех доступных команд.
Команды для администрации
/tpreload- перезагрузить конфиг без рестарта сервера. Требуется правоtpa.reload./tpdebug- включить логирование событий жизненного цикла TPA-запросов в консоль. Полезно при поиске багов. Требуется правоtpa.debug./tphere [Player]- принудительно телепортировать игрока к себе. Требуется правоtpa.command.tphere./tpo [Player]- телепортироваться к последней известной точке игрока, даже если он не в сети. Требуется правоtpa.command.tpo.
Права доступа
Игроки (по умолчанию)
tpa.command.tpa- для/tpatpa.command.tpahere- для/tpaheretpa.command.tpaccept- для/tpaccepttpa.command.tpdeny- для/tpdenytpa.command.tpacancel- для/tpacanceltpa.command.tpatoggle- для/tpatoggletpa.command.version- для/tpa versiontpa.command.help- для/tpa help
Администрация (по умолчанию только OP)
tpa.reload- для/tpreloadtpa.debug- для/tpdebugtpa.command.tphere- для/tpheretpa.command.tpo- для/tpo
Важные нюансы и советы
Совет по warmup: Если у вас PvP-сервер, обязательно включите teleport_warmup_enabled: true и поставьте хотя бы 3-5 секунд. Без warmup игроки будут сбегать из боя моментально, что убивает динамику.
Нюанс с множественными запросами: Опция allow_multiple_requests: true удобна, но может путать новичков. Если игрок получит три запроса одновременно и не укажет ник при /tpaccept, плагин выведет список и попросит уточнить. Убедитесь, что ваши игроки понимают, как это работает, иначе будут жаловаться на "сломанный телепорт".
Совет по /tpo: Эта команда полезна для модерации, но помните, что она телепортирует к последней точке выхода из сети. Если игрок вышел в своей базе, админ сможет туда попасть. На серверах с приватностью это может быть проблемой - выдавайте право только доверенным модераторам.
Совместимость: Плагин работает на Paper, Purpur, Spigot и Folia. Для Folia нужна отдельная сборка - не пытайтесь ставить Spigot-версию на Folia-сервер, будут ошибки. PlaceholderAPI опционален, но без него форматирование имен через плейсхолдеры работать не будет.
Обновления: В конфиге есть check_for_updates: true - плагин каждые 12 часов проверяет Modrinth на наличие новой версии. Если вы не хотите, чтобы в консоли появлялись сообщения об обновлениях, просто отключите эту опцию.
Конфигурация
Ниже приведен дефолтный config.yml для Paper (версия 1.6). Все комментарии переведены и поясняют каждую настройку.
yaml
settings:
tpa_cooldown: 30 # Кулдаун в секундах перед тем, как игрок сможет отправить новый TPA-запрос.
tpa_request_timeout: 60 # Время в секундах, после которого TPA-запрос истекает.
check_for_updates: true # Проверяет Modrinth каждые 12 часов на наличие новой версии.
modrinth_project_slug: "simpletpaplugin" # Slug проекта на Modrinth для уведомлений об обновлениях. Менять обычно не нужно.
use_placeholderapi_formatting: true # Форматирует имена игроков в сообщениях через PlaceholderAPI. Требует установленного PlaceholderAPI.
player_display_format: "%player%" # Формат имен игроков. Коды § и MiniMessage-теги (например, из %luckperms_prefix%) автоматически переводятся и могут смешиваться. Пример: "%luckperms_prefix% | %player%" требует PlaceholderAPI, LuckPerms и экспансии LuckPerms для PlaceholderAPI.
teleport_warmup_enabled: false # Если включено, отправитель должен простоять на месте заданное время после принятия запроса, прежде чем телепортироваться.
teleport_warmup_seconds: 5 # Время в секундах, которое нужно простоять. Используется только если teleport_warmup_enabled: true.
allow_multiple_requests: true # Если включено, игроки могут отправлять запросы нескольким игрокам одновременно и получать несколько входящих запросов.
suppress_usage_hint: true # Если включено, подавляет встроенный подсказку сервера "/tpa <player|version|help>", которая иначе появлялась бы под сообщениями об ошибках SimpleTPA.
tpahere_enabled: true # Если включено, игроки могут использовать /tpahere, чтобы попросить другого игрока телепортироваться к ним.
tpahere_cooldown: 30 # Кулдаун в секундах для /tpahere. По умолчанию совпадает с tpa_cooldown, но может меняться независимо.
tpahere_request_timeout: 60 # Время в секундах до истечения /tpahere-запроса. По умолчанию совпадает с tpa_request_timeout.
tpo_enabled: true # Если включено, персонал может использовать /tpo для телепортации к последней известной точке вышедшего игрока. Также контролирует, записываются ли точки выхода вообще.
sounds:
tpa_request_sent: "entity.experience_orb.pickup"
tpa_request_received: "entity.player.levelup"
tpa_accept: "entity.enderman.teleport"
tpa_deny: "entity.villager.no"
tpa_expired: "entity.item.break"
tpa_toggle_enabled: "block.note_block.bass"
tpa_toggle_disabled: "block.note_block.pling"
tpa_teleport_cancelled: "entity.villager.no"
tpahere_request_sent: "entity.experience_orb.pickup"
tpahere_request_received: "entity.player.levelup"
messages: # Использует MiniMessage-теги (например, <green>, <gradient:blue:aqua>, <hover:show_text:'...'>). Коды § также работают и автоматически переводятся.
tpa_request_sent: "<gray>You sent a TPA-Request to <gold>%target%</gold>."
tpa_request_received: "<gold>%player%</gold> <gray>sent you a TPA-Request! <green>/tpaccept</green> <gray>or <red>/tpdeny</red>"
tpahere_request_sent: "<gray>You sent a TPA-Request asking <gold>%target%</gold> to teleport to you."
tpahere_request_received: "<gold>%player%</gold> <gray>sent a TPA-Request asking you to teleport to them! <green>/tpaccept</green> <gray>or <red>/tpdeny</red>"
tpahere_disabled: "<red>The /tpahere command is currently disabled."
tpa_accept_success: "<green>You accepted the TPA-Request from <gold>%player%</gold>."
tpa_accept_teleport: "<green>You got teleported by <gold>%player%</gold>."
tpa_teleport_warmup_started: "<yellow>Teleporting to <gold>%player%</gold> in <gold>%seconds%</gold> seconds. <red>Don't move!"
tpa_teleport_warmup_cancelled: "<red>Teleportation to <gold>%player%</gold> was cancelled because you moved."
tpa_deny_success: "<red>You denied the TPA-Request from <gold>%player%</gold>."
tpa_deny_notify: "<gold>%player%</gold> <red>denied your TPA-Request."
tpa_no_request: "<gray>You dont have any pending TPA-Requests."
tpa_request_exists: "<gray>You already have a pending TPA-Request. Wait for it to be accepted, denied, or to expire before sending another."
tpa_request_exists_target: "<gray>You already have a pending TPA-Request to this Player."
tpa_no_request_from: "<gray>You don't have a pending TPA-Request from <gold>%player%</gold>."
tpa_no_request_to: "<gray>You don't have a pending TPA-Request to <gold>%player%</gold>."
tpa_multiple_requests: "<gray>You have multiple pending TPA-Requests: <gold>%players%</gold>. Use <green>/tpaccept</green> [player] or <red>/tpdeny</red> [player] to choose one."
tpa_multiple_requests_outgoing: "<gray>You have multiple pending outgoing TPA-Requests: <gold>%players%</gold>. Use <yellow>/tpacancel</yellow> [player] to choose one."
player_not_online: "<red>This Player is currently not online."
player_only_command: "<red>This command can only be used by Players."
tpa_self_request: "<red>You cannot send a TPA-Request to yourself."
wrong_usage: "<gray>Use: <yellow>/%command%</yellow> [Player]"
tpa_cancel_success: "<red>Your TPA-Request was cancelled."
tpa_cancel_notify: "<gold>%player%</gold> <gray>cancelled their TPA-Request."
tpa_request_expired_sender: "<gray>Your TPA-Request to <gold>%target%</gold> ran out."
tpa_request_expired_receiver: "<gray>The TPA-Request by <gold>%player%</gold> ran out."
tpahere_request_expired_sender: "<gray>Your TPA-Request asking <gold>%target%</gold> to teleport to you ran out."
tpahere_request_expired_receiver: "<gray>The TPA-Request by <gold>%player%</gold> asking you to teleport to them ran out."
tpa_cooldown: "<yellow>Please wait <gold>%seconds%</gold> Seconds, before sending a new TPA-Request."
config_reloaded: "<green>The Configuration has succesfully been reloaded."
no_permission: "<red>You dont have the required Permissions to use this Command.!"
tpa_toggle_enabled: "<red>You will no longer receive TPA-Requests."
tpa_toggle_disabled: "<green>You can now receive TPA-Requests again."
tpa_target_not_accepting: "<gold>%target%</gold> <red>is not currently accepting TPA-Requests."
version_info: "<gray>SimpleTPA version info - Current: <gold>%current%</gold> | Latest: <gold>%latest%</gold> | <aqua>%url%"
update_available_console: "A new version (%version%) of SimpleTPA is available! Download: %url%"
update_available_player: "<yellow>A new version (<gold>%version%</gold>) of SimpleTPA is available! <white>Download: <aqua>%url%"
tpa_debug_enabled: "<green>TPA event debug logging is now enabled.</green>"
tpa_debug_disabled: "<gray>TPA event debug logging is now disabled.</gray>"
tphere_success: "<green>You teleported <gold>%player%</gold> to you."
tphere_moved_notify: "<yellow>You were teleported to <gold>%player%</gold>."
tpo_disabled: "<red>The /tpo command is currently disabled."
tpo_player_online: "<gold>%player%</gold> <red>is currently online, use /tpahere or /tpa instead."
tpo_no_data: "<red>No last known location is available for <gold>%player%</gold>."
tpo_success: "<green>Teleported to <gold>%player%</gold>'s last known location."
clickable_messages:
accept_text: "[✔ Accept]"
accept_hover: "Click to accept the TPA!"
accept_command: "/tpaccept"
accept_color: "GREEN"
deny_text: "[✖ Deny]"
deny_hover: "Click to deny the TPA!"
deny_command: "/tpdeny"
deny_color: "RED"
help_messages:
header: "<gold>--- SimpleTPA Commands ---"
tpa: "<yellow>/tpa</yellow> <gray>[player] - Sends a TPA-Request to a Player."
tpahere: "<yellow>/tpahere</yellow> <gray>[player] - Asks a Player to teleport to you."
tpaccept: "<green>/tpaccept</green> <gray>[player] - Accepts a pending TPA-Request. Specify a Player if you have multiple."
tpdeny: "<red>/tpdeny</red> <gray>[player] - Denies a pending TPA-Request. Specify a Player if you have multiple."
tpacancel: "<yellow>/tpacancel</yellow> <gray>[player] - Cancels one of your pending outgoing TPA-Requests."
tpatoggle: "<yellow>/tpatoggle</yellow> <gray>- Toggles whether you can receive TPA-Requests."
tphere: "<yellow>/tphere</yellow> <gray>[player] - Force-teleports a Player to you. (Staff)"
tpo: "<yellow>/tpo</yellow> <gray>[player] - Teleports you to an offline Player's last known location. (Staff)"
version: "<yellow>/tpa version</yellow> <gray>- Shows the current plugin version and update status."
help: "<yellow>/tpa help</yellow> <gray>- Shows this help message."
tpreload: "<yellow>/tpreload</yellow> <gray>- Reloads the plugin configuration."
Для кого этот плагин
SimpleTPA подойдет для серверов любого размера, где нужна базовая телепортация между игроками без перегрузки лишним функционалом. Если вы собираете ванильный survival-сервер на Paper или Purpur и хотите дать людям удобный инструмент для совместной игры - это отличный выбор. Для mini-game серверов с упором на PvP warmup-задержка делает плагин особенно ценным.
Если же вам нужны регионы, варпы, хоумы и прочие навороты - SimpleTPA не закроет все эти потребности, тут лучше смотреть в сторону EssentialsX или CMI. Но если нужна именно простая, легкая и настраиваемая система TPA без лишнего мусора - это то, что надо.
Как запустить с друзьями
Хотите поиграть с друзьями онлайн с этим плагином? Разместите сервер Майнкрафт на BungeeHost - плагин установится в один клик, и вам не придется возиться с ручным деплоем. Хостинг серверов Майнкрафт от BungeeHost отлично подходит для Paper, Purpur и Folia-сборок, на которых работает SimpleTPA. Арендовать сервер Майнкрафт можно за пару минут, и сразу начать настраивать телепортацию для своего комьюнити.
Скачайте SimpleTPA и сделайте перемещение по серверу удобным для ваших игроков - без хаоса и читеров, только осознанные запросы и полный контроль.
Скриншоты SimpleTPA
Часто задаваемые вопросы
Версии плагина SimpleTPA
Доступно 12 версий. Сначала показаны самые популярные и самые свежие.