[Plugin] Advanced SA NickName (ASAN) - Лучший плагин Русских Ников
#1

Приветствую всех.

Хочу предложить Вам плагин, позволяющий заходить на сервер с расширенными правилами никнейма.

Название плагина:
Advanced-SA-NickName (сокращенно ASAN).

Актуальная версия:
5.0.

Главные особенности плагина:
  • Используйте свои символы в никнеймах (установите правила через регулярные выражения (Regex)).
  • Используйте повторные никнеймы (более чем один одинаковый ник) на Вашем сервере.
  • Используйте длину ника, отличную от стандартной (1 - 24 символа).
  • Заменяйте символы нижнего подчеркивания (_) на символы пробела ( ) перед подключением игрока.
  • Вам не нужно менять адреса памяти при переходе на новую версию SA:MP сервера. Плагин всё сделает за Вас.
  • Любые манипуляции с плагином происходят в файле конфигураций scriptfiles/ASAN_Config.ini (создается при первом запуске плагина).
  • Есть множество дополнительных функций для Вашего никнейма в файле конфигураций.
  • Плагин работает и я надеюсь будет работать на любой версии SA:MP, начиная с SA:MP 0.3C R5.
  • Есть несколько дополнительных функций для Вашего Pawn кода, чтобы контролировать никнеймы.
  • Большая просьба. Прочтите инструкции, указанные в архиве.
  • На данный момент багов не обнаружено!
Обязательно посмотрите и настройте под себя файл конфигураций после создания!

Создатель:
  • [KrYpToDeN]
Благодарности:
  • Большое спасибо [EC]Zero за помощь с нахождением адресов памяти и реализации автоматического нахождения адресов для плагина версии 1.0!
  • Большое спасибо Enrique_Heimonen за помощь в тестировании!
  • Большое спасибо ZiGGi за помощь в нахождении адреса памяти для повторных никнеймов!
Приятного использования

Ссылка на скачивание исходного кода + релиза (для Windows + Linux), а также инструкция в прилегающей ссылке:

Ссылка на релиз на GitHub


Сборка для OS Centos и OS Debian будет добавлена скоро!



Reply
#2

На самом деле вещь полезная, хотя бы потому что автоматом всё ищет. По советам/примерам одного профессионального программиста - для своего сервера я реализовал эту фишку без плагина. Если ты помнишь, то в скайпе я тебе давно писал, что достаточно поправить несколько байт дизассемблером в файлах samp-server.exe|samp03svr.
Reply
#3

Quote:
Originally Posted by Diman777
View Post
По советам/примерам одного профессионального программиста - для своего сервера я реализовал эту фишку без плагина.
Возможно ли узнать данный способ?
Reply
#4

Тут нет, т.к. противоречит правилам форума. В ЛС черкану принцип.
Так что советую использовать русские ники на ваших серверах, это смотрится нормально, и лично я не испытываю проблем с модом. Вот реальные скрины с сервера, игроки играют с такими никами и не жалуются:





Reply
#5

Quote:
Originally Posted by Diman777
View Post
На самом деле вещь полезная, хотя бы потому что автоматом всё ищет. По советам/примерам одного профессионального программиста - для своего сервера я реализовал эту фишку без плагина. Если ты помнишь, то в скайпе я тебе давно писал, что достаточно поправить несколько байт дизассемблером в файлах samp-server.exe|samp03svr.
убрав проверку на ники вообще?
Reply
#6

Нет, там на длину остаётся проверка (но даже и это можно реализовать). Кстати зайти можно не только с русскими никами, но и с другими спец. символами

Reply
#7

Quote:
Originally Posted by Diman777
View Post
Нет, там на длину остаётся проверка (но даже и это можно реализовать). Кстати зайти можно не только с русскими никами, но и с другими спец. символами

да, я помню мы с тобой говорили об этом.
Но ведь ты не сможешь байтами написать правила. Например какие символы пускать, а какие нет.
Да и всего лишь единицы юзеров смогут вообще что-то там исправить.

А плагин просто упрощает жизнь всем, добавляя куча возможностей (не создавая нагрузки. По крайней мере почти)
Reply
#8

Quote:
Originally Posted by Diman777
View Post
Нет, там на длину остаётся проверка (но даже и это можно реализовать). Кстати зайти можно не только с русскими никами, но и с другими спец. символами

дай-ка мне ип сервера с такими изменениями, я его с радостью крашну
Reply
#9

Quote:
Originally Posted by DartfoL
View Post
дай-ка мне ип сервера с такими изменениями, я его с радостью крашну
Ну да. %s должен крашнуть его.
Reply
#10

Quote:
Originally Posted by KrYpToDeN
View Post
Ну да. %s должен крашнуть его.
узко мыслите, что если меня зовут:
Code:
../samp-server
Reply
#11

Quote:
Originally Posted by Stepashka
View Post
узко мыслите, что если меня зовут:
Code:
../samp-server
Что будет? (не проверял)
Reply
#12

Quote:
Originally Posted by KrYpToDeN
View Post
Ну да. %s должен крашнуть его.
Меня не крашнуло, протестил на винде на локалке:

[19:26:22] [join] Тестер%s has joined the server (0:127.0.0.1)
[19:27:25] [part] Тестер%s has left the server (0:1)

Но если ввести что-то в чат, то серв действительно упал, и только потому что чат у меня сделан свой, и там не предусмотрена такая фигня.

Quote:
Originally Posted by KrYpToDeN
View Post
Но ведь ты не сможешь байтами написать правила. Например какие символы пускать, а какие нет.
А плагин просто упрощает жизнь всем, добавляя куча возможностей (не создавая нагрузки. По крайней мере почти)
Скриптово на павне легко сделать проверку на нужные символы, чтобы впускало с теми символами, с которыми нужно. Например на рабочем серве у меня так и сделано.
Плагин твой хорош, спору нет.
Quote:
Originally Posted by Stepashka
View Post
что если меня зовут:
Code:
../samp-server
Как ни странно меня не впустило, а нажав Tab я увидел в ники только две точки: ..

CONNECTION REJECTED: Unacceptable NickName
Please choose another nick between and 3-20 characters
Please use only a-z, A-Z, 0-9
Use /quit to exit or press ESC and select Quit Game

Короче при таких модификациях достаточно сделать свою проверку на нужные символы и дело по сути в шляпе.
Reply
#13

Потому, что происходит ошибка при чтении командной строки (-n ../samp-server), / - считается за начало нового параметра.
Reply
#14

Нарисовалась проблема, этот плагин оказывается несовместим с YSF поскольку у них две одинаковых функции native IsValidNickName(name[]);
Reply
#15

Имеются исходники, что мешает пересобрать плагин с измененным именем функции?
Reply
#16

нативную функцию вроде можно переименовать, типа native FuncTest(name[]) = IsValidNickName;
но не уверен в этом, попробуй что-то типа этого
Reply
#17

Quote:
Originally Posted by Elgujakviso
View Post
Нарисовалась проблема, этот плагин оказывается несовместим с YSF поскольку у них две одинаковых функции native IsValidNickName(name[]);
При использовании YSF этот плагин не нужен, так как в YSF есть все функции этого плагина.
PHP Code:
native IsValidNickName(const name[]);
native AllowNickNameCharacter(characterbool:allow);
native IsNickNameCharacterAllowed(character); 
Reply
#18

Quote:
Originally Posted by Diman777
View Post
нативную функцию вроде можно переименовать, типа native FuncTest(name[]) = IsValidNickName;
но не уверен в этом, попробуй что-то типа этого
Переименовывать нельзя. В плагине прописано, как должен native называться.
Reply
#19

Quote:
Originally Posted by Elgujakviso
View Post
Нарисовалась проблема, этот плагин оказывается несовместим с YSF поскольку у них две одинаковых функции native IsValidNickName(name[]);
И, я думаю, что не за этого он не совместим.

Проблема в том, что там есть хук функции и в ASAN есть хук функции.
ASAN, чтобы найти адрес в памяти, читает её и ищет там 'шаблон'.

Не знаю, как работает YSF, но результат один.

И получается, что оба плагина хукают одно и тоже. Конечно ничего не заработает.
Reply
#20

Никто, случайно, не хочет добавить в ASAN возможность захода под используемыми никами на сервер (с правкой в конфиге) ?
Идейку подкинули)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)