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

Помогите проверка имени игрока при коннекте.

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    FUZIK
    нужен плагин который будет проверять имя игрока на валидность символов("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789_") при подключении:
    • "FUZIK" - тру;
    • "FUZIK " - фолс;
    • "унитаз" ор "затину" - фолс;
    • "md5_" - тру.
    thank you.
     
  2. _MasterCapeXD_

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

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    Насколько помню, в AuthMe есть.
     
  3. Автор темы
    FUZIK

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

    Баллы:
    76
    Имя в Minecraft:
    FUZIK
    в общем вы правы. но мне нужен отдельный плагин с подобным алгоритмом.
     
  4. Exception_Prototype

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

    Баллы:
    96
    Декомпелируй, посмотри, собери себе. Не подходит такой варик?
    Изучи регулярные выражения, сделай свою проверку, собери себе и пользуйся.
     
  5. iD3LSY

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

    Баллы:
    76
    Код:
    boolean validate(String username) {
        Matcher matcher = Pattern.compile("^[a-z0-9_-]{3,16}$").matcher(username);
        return matcher.matches();
    }

    Но есть небольшая проблема. Ник игрока может состоять и из 1-го символа (таких 3). А также существует много игроков с ником из 2-х. Это связано с тем, что при выпуске игры можно было регистрировать любой ник.

    Примеры:
    8, F, G, 0r, iD, u9, ab...
     
  6. alexandrage

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

    Баллы:
    173
    На нормальный сервер не пустит с ником 1-2 символа. А вообще бесполезная затея, только сервер быстрее от ботов сляжет из за регулярок.
     
  7. Автор темы
    FUZIK

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

    Баллы:
    76
    Имя в Minecraft:
    FUZIK
    от души. душевно. в душу;D
    как установить минимальную длину ника?

    а это мысль, спасибо, а как тогда избежать попадание игроков с никами "зэ бэст мамкин поц" и подобными этому при оффлайн моде?
     
    Последнее редактирование: 1 июн 2017
  8. TheZefirrkka

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

    Баллы:
    76
    {3,16} - от 3 до 16, под себя делай
     
  9. xDark

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

    Баллы:
    96
    name.split(" ").length
     
  10. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Код:
    boolean isValid = name.indexOf(' ') < 0;
     
  11. TheZefirrkka

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

    Баллы:
    76
    if ((c == '0') || (c == '1') || (c == '2') || (c == '3') || (c == '4') || (c == '5') ||
    (c == '6') || (c == '7') || (c == '8') || (c == '9')) {
    count++;
    }

    //Зачем проверять каждую цифру?? Можно же проще...
     
  12. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Ой всё :oops:
    То было столько время-опыта назад...
     
  13. alexandrage

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

    Баллы:
    173
    Вот эта регулярка правильная username.matches("^[A-Za-z0-9_]{3,16}$"); Ник от 3 до 16 инглишом и _.
     

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