Trade Companion Server — безопасный обмен предметами для вашего сервера Minecraft
Вы когда-нибудь теряли алмазы в результате нечестной сделки? На крупных серверах Minecraft это обычное дело: один игрок передает предмет, а второй исчезает из чата, так и не заплатив. Дополнение Trade Companion Server решает эту проблему раз и навсегда. Это серверный плагин, который выступает гарантом каждой сделки: он удерживает предметы обеих сторон и совершает обмен одной атомарной операцией. Либо обе стороны получают свое, либо сделка отменяется полностью — третьего не дано.
Trade Companion Server для Minecraft работает в паре с клиентским модом Trade Companion, но это не обязательное условие. Если у игрока нет мода, он не получит ошибку — просто увидит понятное объяснение и продолжит играть как обычно. Никто не вылетает, ничего не ломается. Это продуманный подход, который не делит игроков на тех, у кого есть мод, и тех, у кого его нет.
Как работает защищенный обмен
Механика проста и надежна. Два игрока открывают окно обмена, выкладывают предметы и валюту, обсуждают условия и нажимают кнопку принятия. Когда обе стороны подтверждают сделку, сервер перемещает все предметы одновременно. Ключевая особенность — подтверждение привязано к точному содержимому окна обмена. Если один игрок изменит предложение после того, как второй нажал «принять», подписи перестанут совпадать, и сделка не состоится.
Даже если игрок использует модифицированный клиент и отправляет серверу произвольные данные, худшее, что он сможет сделать, — это добиться несовпадения собственной подписи с данными сервера. Обмануть систему невозможно, потому что сервер хранит контрольные суммы каждой стороны.
Предметы перемещаются, а не создаются заново
Важное преимущество: плагин перемещает реальные предметы, а не создает их копии. Прочность инструментов, зачарования и NBT-данные сохраняются в целости. Если вы обмениваете меч с зачарованием «Острота V», получатель получит именно этот меч, а не его безликий аналог. Это критично для серверов, где ценность предмета определяется его историей и характеристиками.
Установка и настройка Trade Companion Server
Установка плагина занимает пару минут. Скачайте jar-файл, поместите его в папку plugins и перезапустите сервер. Для поддержки валюты потребуется установить Vault и любой экономический плагин, например EssentialsX. Разработчики тестировали Trade Companion Server на Paper 1.21.8 с Vault 1.7.3 и EssentialsX 2.21.2, так что эта связка гарантированно работает.
Если вы пользуетесь лаунчером foxygame.net, установка Trade Companion Server станет еще проще: в каталоге дополнений лаунчера можно найти плагин и добавить его на сервер в один клик, без ручной возни с файлами и правами доступа.
Команды и права доступа
- /trade <игрок> — пригласить игрока на сделку, доступно всем
- /trade recibos — показать ваши последние 10 сделок
- /trade recibos <игрок> — просмотр чужих сделок для разбора жалоб, доступно персоналу
- /trade ignorar <игрок> — запретить игроку отправлять вам приглашения
- /trade reload — перезагрузить конфигурацию без перезапуска сервера
В игре достаточно нажать Shift и кликнуть правой кнопкой мыши по игроку, чтобы отправить приглашение. Права доступа разделены на две группы: tradecompanion.use для всех игроков и tradecompanion.admin для операторов сервера.
Конфигурация под ваш сервер
Файл конфигурации позволяет гибко настроить поведение плагина. Можно выбрать язык сообщений — испанский или английский, причем тексты хранятся в отдельных файлах и плагин никогда не перезаписывает их при обновлении. Вы можете перевести сообщения на русский или любой другой язык, и они останутся неизменными.
- distancia-maxima — максимальная дистанция между игроками для сделки, по умолчанию 12 блоков
- invitacion-cooldown-segundos — задержка между приглашениями, 8 секунд
- invitacion-vence-segundos — время жизни приглашения, 20 секунд
- recibos-por-jugador — количество хранимых записей о сделках, 20 штук
Ограничение дистанции существует не просто так. Без него торговля превращается в телепортацию предметов: игрок может копать руду в глубине пещеры и отправлять добычу напарнику на базу, не сделав ни шага. Требование находиться рядом возвращает торговле живой характер и заставляет мошенников хотя бы появиться лично.
Атомарность и защита от мошенничества
Главное преимущество Trade Companion Server — атомарность операций. Деньги через Vault переводятся в той же атомарной операции, что и предметы. Если на любом этапе происходит сбой, система выполняет откат к исходному состоянию. Ни один предмет и ни одна монета не пропадут и не задвоятся.
Каждая сделка сохраняется с обеих сторон: что на что менялось, с кем и когда. Если игрок заявляет, что его обманули, персонал может открыть записи и посмотреть, что произошло на самом деле. Это избавляет от бесконечных споров в чате и делает разбирательства быстрыми и объективными.
В лаунчере foxygame.net можно настроить автообновление дополнений, чтобы Trade Companion Server всегда оставался актуальным. Это удобно для администраторов, которые не хотят вручную отслеживать новые версии плагинов и проверять совместимость с обновлениями Minecraft.
Текущий статус и перспективы
Версия 0.9.0-beta прошла полное тестирование: обмен предметами, перевод валюты через Vault и EssentialsX, откат при сбоях — все работает. Чего не хватает, так это реальной нагрузки: плагин еще не запускался с настоящей задержкой сети и с более чем двумя игроками одновременно. Если вы установите его на свой сервер, логи помогут выявить проблемы. Каждая отклоненная сделка записывается с описанием обеих сторон, а непонятный конфигурационный файл выведет предупреждение красным цветом, вместо того чтобы молча запуститься с настройками по умолчанию.
Trade Companion Server — это решение, которое делает торговлю на сервере по-настоящему честной. Плагин распространяется по лицензии GPL-3.0-or-later, так что вы можете изучать его код и адаптировать под свои нужды. Если вы администратор сервера и устали разбирать жалобы на обман при обмене, этот плагин сэкономит вам часы времени и нервы. Скачать Trade Companion Server можно на официальных площадках модов, а установка займет не больше пяти минут.