1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Получить IP от RCON

Тема в разделе "Разработка плагинов для новичков", создана пользователем TheSkiffSailor, 16 май 2019.

Статус темы:
Закрыта.
  1. Автор темы
    TheSkiffSailor

    TheSkiffSailor Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    Как получить кодом IP с которого сидят на Rcon клиенте?
    Если ркон подключается к серверу то пишется - Rcon connection и айпи.
    Думаю суть понятна, получить этот айпи НО при получении комманды в евенте RemoteServerCommandEvent.
     
  2. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Попробуй sender.getName() может?
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    В голос!
     
  4. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    А что он в этом случае должен возвращать? Консоль? Название сервера? Никогда не использовал этот метод при использовании не-игроком.
     
  5. AbstractCoder

    AbstractCoder Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Ор, а открыть реализацию и посмотреть не судьба?) Rcon там будет.
     
  6. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    *moonface*
     
  7. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    В RemoteServerCommandEvent никак не получить, ибо в объекте события не содержится экземпляр подключения.

    Можно лишь выудить список всех подключений - они находятся в RemoteControlListener (NMS) в Map<SocketAddress, RemoteControlSession>.

    Можно пропатчить ядро самостоятельно. Либо попросить кого-то сделать это за тебя - вот тут, например: https://github.com/PaperMC/Paper/issues/new?template=feature_request.md

    Есть ещё более извращенский вариант - подменить обработчик подключений/команд своим при помощи рефлексии. Внутри вызывать оригинальный код + нужный функционал. Допустим, вызывать какой-нибудь кастомный RemoteSessionCommandEvent, содержащий экземпляр NMS-сессии или айпишника. Ну, а потом уже стандартный баккитовский RemoteServerCommandEvent для совместимости с остальными плагинами.
    В теории может сработать, но на практике проверять не советую.

    Считаю, что вполне достаточно указать в server.properties адекватный rcon-пароль и настроить фаервол таким образом, чтобы даже брутить не пытались.
     
  8. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Тут скорее иной случай. Опять какая то продаже консоли игрокам. Не лечится.
     
  9. Автор темы
    TheSkiffSailor

    TheSkiffSailor Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    Yt
    Неа, для себя
     
  10. Автор темы
    TheSkiffSailor

    TheSkiffSailor Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    Кароче понял что идея бред.
    Закрываю.
     
Статус темы:
Закрыта.

Поделиться этой страницей