Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Кто напишет плагин под заказ

Статус пользователя asasinn22
сообщение 1.12.2014, 14:53
Сообщение #1
Стаж: 11 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Нужно написать плагин, который будет работать по такому алгоритму:
  1. При коннекте игрока, искать в папке cstrike файл IdScan.afx.
  2. В данном файле зашифрована в SHA1 строка. Ее нужно дешифровать (по ключу). В результате получится число (ID).
  3. Подключиться к БД MySQL и искать в таблице данный ID
  4. Когда ID будет найдет, проверить столбцы бд, соответствующие данному ID. Каждый столбец - определенное оружие, и если в ячейке под оружием указан параметр не равный 0, то установить модель оружия для данного игрока. Но только для него, и чтобы другие игроки видели модель только на нем.

Пишите ниже кто сможет сделать, и указывайте стоимость в ЛС. Если у вас есть другие идеи по алгоритму - не стесняйтесь.
Суть задачи: проверить, если игрок приобрел себе модель оружия на сервере - поставить ее ему.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя 4ePBb
сообщение 1.12.2014, 15:03
Сообщение #2
Стаж: 14 лет

Сообщений: 101
Благодарностей: 73
Полезность: 346

По steamid выдавать модель не комильфо?


При коннекте игрока, искать в папке cstrike файл IdScan.afx.
В данном файле зашифрована в SHA1 строка. Ее нужно дешифровать (по ключу). В результате получится число (ID).
Подключиться к БД MySQL и искать в таблице данный ID

Так понимаю для защиты выдачи модельки от подмены steamid.

Отредактировал: 4ePBb, - 1.12.2014, 15:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя asasinn22
сообщение 1.12.2014, 15:07
Сообщение #3
Стаж: 11 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Можно и так, если вы подскажете как узнать steam_id аппаратно, через файлы игры, не вписывая в консоль status. Здесь есть свои загвоздки, и поэтому придется использовать такой велосипед. Если кто-либо может написать плагин, который будет через сокеты подключатся к серверному .NET приложению, будет вообще прекрасно. За все соответствующая оплата.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MrFoza
сообщение 1.12.2014, 15:09
Сообщение #4


Стаж: 16 лет

Сообщений: 377
Благодарностей: 111
Полезность: 101

А есть такой нюанс а если модель с твоим ключом по рукам пойдет.
надо делать еще проверку по ip и steamid если оно совпадает,
Ключ+ip или steamid то чтоб выдавала модель.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя asasinn22
сообщение 1.12.2014, 15:12
Сообщение #5
Стаж: 11 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Можно сделать проверку на IP, который тоже будет записан в той таблице. Так-же можно сверять серийник жесткого диска.

Модель по рукам вряд-ли пойдет, поскольку при каждом запуске игры сверяется хэш-сумма данного файла с базой, и если он не совпадает, то скачивается заново.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 4ePBb
сообщение 1.12.2014, 15:13
Сообщение #6
Стаж: 14 лет

Сообщений: 101
Благодарностей: 73
Полезность: 346

Если использовать IP (предположительно статический), зачем тогда весь сыр бор с шифрованием и ключем?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nsgenn
сообщение 1.12.2014, 15:16
Сообщение #7


Стаж: 13 лет

Сообщений: 885
Благодарностей: 561
Полезность: 667

что мешает одному игроку передать этот файл другому?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя asasinn22
сообщение 1.12.2014, 15:18
Сообщение #8
Стаж: 11 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Я в amxx-кодинге - ноль без палочки. Поэтому и прибег к вашей помощи. Задача должна быть решена не важно каким способом, главное результат. Так-же есть вопросы к людям, понимающим скриптинг на amxx:
  1. Можно-ли обмениваться данными с .NET приложением, и получать от него инструкции.


Цитата(nsgenn @ 1.12.2014, 14:12) *
что мешает одному игроку передать этот файл другому?

Передал он его, и что дальше? Запустил игру, а старый файл заново скачался.

Цитата(4ePBb @ 1.12.2014, 14:09) *
Если использовать IP (предположительно статический), зачем тогда весь сыр бор с шифрованием и ключем?

На душе спокойнее будет. Дополнительная защита лишней не бывает. Тем более, не обязательно игроку знать его внутренний ID
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nsgenn
сообщение 1.12.2014, 15:20
Сообщение #9


Стаж: 13 лет

Сообщений: 885
Благодарностей: 561
Полезность: 667

Цитата(asasinn22 @ 1.12.2014, 15:13) *
Передал он его, и что дальше? Запустил игру, а старый файл заново скачался.


во-первых :
у игрока может быть протектор и ты ничего не сможешь записать ему
во-вторых:
ты не сможешь перезаписать файл повторно
в-третьих:
как будет определяться, что этому игроку нужно записать старый файл, а другому - новый?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
letsplayer
сообщение 1.12.2014, 15:20
Сообщение #10
Стаж: 13 лет

Сообщений: 215
Благодарностей: 35
Полезность: 0

1. Файл нельзя перекачать заного заменив старый.
2. Нельзя прочесть содержимое файла на клиенте.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 1.12.2014, 15:26
Сообщение #11


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Чем неугодила связка name+password. Зачем городить огород то ?)


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя asasinn22
сообщение 1.12.2014, 15:32
Сообщение #12
Стаж: 11 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Цитата(nsgenn @ 1.12.2014, 14:16) *
во-первых :
у игрока может быть протектор и ты ничего не сможешь записать ему
во-вторых:
ты не сможешь перезаписать файл повторно
в-третьих:
как будет определяться, что этому игроку нужно записать старый файл, а другому - новый?

Я могу перезаписать файл. В клиент вшита дополнительная dll-ка, что выполняет эти действия.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 1.12.2014, 15:35
Сообщение #13


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Цитата(asasinn22 @ 1.12.2014, 15:28) *
Я могу перезаписать файл. В клиент вшита дополнительная dll-ка, что выполняет эти действия.

Т.е. вы будете навязывать качать свой г* клиент ? Как со стимом быть ?

Отредактировал: qvadro, - 1.12.2014, 15:36


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя asasinn22
сообщение 1.12.2014, 15:37
Сообщение #14
Стаж: 11 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Это уже мои проблемы, мы уже отошли от темы. Я, кажется, попросил написать плагин.
"Начали за здравие, а закончили за упокой"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nsgenn
сообщение 1.12.2014, 15:43
Сообщение #15


Стаж: 13 лет

Сообщений: 885
Благодарностей: 561
Полезность: 667

Цитата(asasinn22 @ 1.12.2014, 15:33) *
Это уже мои проблемы, мы уже отошли от темы. Я, кажется, попросил написать плагин.
"Начали за здравие, а закончили за упокой"


Прислушался бы ты. Сам потом пожалеешь, что не делал этого.
Есть у меня один знакомый скриптер, который делает не задавая вопросов.
Правда клиенты потом ревут горькими слезами.
Контакт давать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя admir
сообщение 1.12.2014, 15:44
Сообщение #16
Стаж: 13 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

пустая трата времени, усилий и ваших денег. а игрока потом забанит EAC (если вдруг играть с анти-читом будет) за вшитую dll. не морочьте людям голову и используйте стандартную комбинацию name+pass.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя asasinn22
сообщение 1.12.2014, 15:49
Сообщение #17
Стаж: 11 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Вы имеете ввиду такой вариант:
  1. Включаем admin.amxx через SQL
  2. Прописываем туда ники и пароли всех игроков, у которых стоит модель
  3. Добавляем setinfo _test "pswd" в конфиг
  4. Выдаем модели по флагу доступа

Игрок меняет ник и остается без модели

Отредактировал: asasinn22, - 1.12.2014, 15:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя admir
сообщение 1.12.2014, 15:52
Сообщение #18
Стаж: 13 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

Цитата(asasinn22 @ 1.12.2014, 14:45) *
Вы имеете ввиду такой вариант:
  1. Включаем admin.amxx через SQL
  2. Прописываем туда ники и пароли всех игроков, у которых стоит модель
  3. Добавляем setinfo _test "pswd" в конфиг
  4. Выдаем модели по флагу доступа

  1. используйте Amxbans или аналог, если вам так нужна web панель (или PhpMyAdmin)
  2. даете им по нику+паролю, steam_id или ip админку, а точнее флаг (какой хотите, тот же флаг T не даст управлять сервером)
  3. используете плагин выдачи модели по флагу доступа

бесплатно и без лишних проблем. ставите на steam_id+пароль или ip+пароль - безопасно и ничего не спадает при смене ника.

Отредактировал: admir, - 1.12.2014, 15:53
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя asasinn22
сообщение 1.12.2014, 15:57
Сообщение #19
Стаж: 11 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Но если таких игроков 100 или 500, это вызовет перебои в работе, и вообще, повлияет-ли на производительность.
Я не могу узнать steam_id игрока аппаратно. Его можно получить только приконектившись на сервер, а мой скрипт этого не делает, т.к. заказчик запретил подобного рода эксперименты.

Может вы знаете, по какому алгоритму из серийника жесткого диска получается эмулированный steam_id, или где он записывается в клиенте.

Отредактировал: asasinn22, - 1.12.2014, 15:56
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя admir
сообщение 1.12.2014, 21:58
Сообщение #20
Стаж: 13 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

Цитата(asasinn22 @ 1.12.2014, 14:53) *
Но если таких игроков 100 или 500, это вызовет перебои в работе, и вообще, повлияет-ли на производительность.
Я не могу узнать steam_id игрока аппаратно. Его можно получить только приконектившись на сервер, а мой скрипт этого не делает, т.к. заказчик запретил подобного рода эксперименты.

Может вы знаете, по какому алгоритму из серийника жесткого диска получается эмулированный steam_id, или где он записывается в клиенте.

не вижу разницы в нагрузке от предложенной вами работы из первого сообщения.
steam_id dproto генерирует, если вы можете получить серийный номер жесткого диска - зачем вам вообще steam_id? посылайте его на сервер и сравнивайте
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: