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

Помогите Как получить ip игрока на bukkit и bungeecord

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

  1. Автор темы
    Cristalix

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

    Баллы:
    76
    Имя в Minecraft:
    Test
    Столкнулся с такой проблемой. Ип одного и того же игрока отличаются между бакитом и банжой.
    Каким методом получить ip игрока на банже?
    Каким методомо получить ip игрока на баките?
     
  2. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Player#getIpAddress

    А у банджи вроде нет получения ip в ProxiedPlayer.. чекал последнюю версию.
     
  3. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Для баккита выше, только Player#getAddress().getAddress().toString()
    Для банжи ProxiedPlayer#getPendingConnection().getAddress().getAddress().toString()
     
  4. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Мм, я думаю чел бы догадался про getAddress toString, ага
     
  5. alexandrage

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

    Баллы:
    173
    :good:
     
  6. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Да не факт. Это не особо очевидно без гугла.
     
  7. MurlikMurlik

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

    Баллы:
    96
    А разве, короче не будет так?
    Player#getAddress().getHostAddress()
    ProxiedPlayer#getPendingConnection().getAddress().getHostString()
    Или тут что то другое возвращается в некоторых случаев?
     
  8. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    В документации это дело несколько размыто. Вариант, который я кидал, возвращает "название.хоста/ip", и, можно предположить, что твой вариант возвращает первую половину(до /), если она есть, иначе ip.
     
    Последнее редактирование: 22 июл 2019
  9. Автор темы
    Cristalix

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

    Баллы:
    76
    Имя в Minecraft:
    Test
    Именно
     
  10. MurlikMurlik

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

    Баллы:
    96
    Тогда какой использовать лучше? Я давно использую свой способ, вроде проблем нет, мне то нужно просто ип получить, ничего более.
     
  11. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    В InetAddress есть метод InetAddress#getHostAddress(), который возвращает только Ip. При использовании /seen или /whois из того же Essentials(там используется первый вариант с toString, кстати) довольно редко, но всё же возможно заметить перед Ip то самое название хоста. Так что, я бы все же предпочел либо вариант, который я упомянул в начале сообщения, либо toString для большей конкретности.
     

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