SA-MP Forums Archive
Авто-удаление аккаунтов - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Авто-удаление аккаунтов (/showthread.php?tid=192171)

Pages: 1 2


Авто-удаление аккаунтов - Baks - 21.11.2010

Доброго времени суток!
Подскажите, пожалуйста, возможно ли, осуществить автоматическое удаление аккаунта, если игрок, к примеру, не заходил на сервер определенное кол-во времени?

P.S. Cохранение аккаунта через Dini.


Re: Авто-удаление аккаунтов - lost13 - 21.11.2010

Я как то создавал такую тему на павнору, но мне никто не ответил... но, сдесть в релизах лежит мод LVMAX, там это осуществлено =)


Re: Авто-удаление аккаунтов - Aleks10 - 22.11.2010

в файл игрока писать нужно время последнео захода


Re: Авто-удаление аккаунтов - Kernell - 22.11.2010

И что потом? Циклом перебирать все файлы игроков (а если их 5000 или более ?) и проверять там параметр даты?
Хотя я другого решения не вижу, но и этот не вариант.
Если сохранять дату последнего входа в одном файле в формате File|Unixtime ?
Конечно было бы лучше, если бы система аккаунтов была на MySQL, но речь идёт о Dini.


Re: Авто-удаление аккаунтов - Aleks10 - 22.11.2010

угу, можно и сохранять дату последнего входа и в одном файле, но опять же баги обеспечены


Re: Авто-удаление аккаунтов - toneysix - 22.11.2010

А как Вы потом собираетесь перебрать все фаилы, которые лежат в папке, если к примеру там будет фаил с ником игрока, т.е Nick1991.ini?


Re: Авто-удаление аккаунтов - Kernell - 22.11.2010

Дк я же писал об этом. Или я тебя не понимаю..
Quote:

Если сохранять дату последнего входа в одном файле в формате File|Unixtime ?

File = файл игрока т.е. его ник естественно.
Unixtime = gettime();
к примеру
"PlayerName|123456789"
разбиваем на 2 части. первая это ник, к "PlayerName" прилепляем ".ini".. как-то так..))


Re: Авто-удаление аккаунтов - toneysix - 22.11.2010

Нерационально и убого и символ '|' ставить нельзя, при том, что сам игрок может использовать, как делиметр в своем нике.


Re: Авто-удаление аккаунтов - ZiGGi - 22.11.2010

Quote:
Originally Posted by toneysix
View Post
Нерационально и убого и символ '|' ставить нельзя, при том, что сам игрок может использовать, как делиметр в своем нике.
С файлами по другому невозможно. Конечно, лучше юзать БД, там с этим гораздо проще.


Re: Авто-удаление аккаунтов - dimonml - 22.11.2010

Можно, как тут упоминалось, писать в файл профиля дату последнего захода - тогда и дата файла будет обновляться при каждом заходе. А потом раз в месяц командой (или в ручную, кому как удобней) удалять файлы, которые старше, скажем, 3х месяцев, из директории с акаунтами.

В линуксах будет что-то типа
Code:
find директория -type f -mtime +90 -exec rm -f {} \;
или как то так. man find в общем


Re: Авто-удаление аккаунтов - lost13 - 22.11.2010

а при запуске сервера? открывать файлы players/*.ini и проверять дату последнего захода... хотя как говорили выше акков может быть очень много... ну просто рестарт займет какоето время)))


Re: Авто-удаление аккаунтов - dimonml - 22.11.2010

в плагинах что-то для работы с каталогами есть - там должны быть и функции поиска файлов


Re: Авто-удаление аккаунтов - Kernell - 22.11.2010

Quote:
Originally Posted by toneysix
View Post
Нерационально и убого и символ '|' ставить нельзя, при том, что сам игрок может использовать, как делиметр в своем нике.
А я сказал, что обязательно использовать символ '|'? Есть куча других символов, и есть которые запрещены в нике. Разделить можно чем угодно, я лишь привожу пример.

Обоснуй чем не рационально и тем более убого? То что ты говоришь глупо и не обоснованно. Или по твоему перебирать каждый файл рациональнее и не убого? Прежде чем делать подобные выводы, приведи хотя бы один факт. Приведи свой более рациональный пример.

lost13,
Прикольно будет, если рестарт продлится 30 минут


Re: Авто-удаление аккаунтов - Aleks10 - 23.11.2010

проще всё в одном файле сохранять...
даже если файл будет весить +100кбайт(это уже нихреновое кол-во юзеров), то имхо сервер затратит на его обработку от 2 до 10 секунд...


Re: Авто-удаление аккаунтов - toneysix - 23.11.2010

Kernell по-моему пустые слова пока у тебя дорогои мои, ты сначала сделаи это, чтобы это чётко работало, а потом говори, ибо ты по-моему не сечёшь всеи сути проблемы, которых можно ожидать, лишние проверки на ники и приводят к нерациональности, а ущемление прав игрока тоже не есть хорошо, и как всем известно, любые операции с дисками - это медленные операции, которых лучше избегать. Поэтому мои дорогои про глупость ты не впариваи мне, ну или бабушке впарь она поверит xD
Я бы лучше изменил систему хранения данных, чем делал такие способы, как Kernell, чтобы добавить тормозов на сервер, вы видимо никогда не имели дела с сервером, у которого онлаин > 100, а там придётся учитывать всё, прежде чем реализовывать подобные тормоза.
Aleks10 Ещё лучше, не выспался сегодня? ^^
P.S: Имхо самыи лучшии способ я вижу пока у dimonml, потому что он не затрагивает доп.работу с фаилами и проверками непосредственно при процессе игры, а тем более, на теории не всегда получается так, как должно было работать на практике, таков сэмп и с этим ничего не поделать.


Re: Авто-удаление аккаунтов - Aleks10 - 23.11.2010

без БД и внедрения плагина - способ который я предложил(и кто-то ещё вроде) лучше всего
конечно с БД или плагином можно вообще всё в несколько строк сделать и чтобы всё было быстро


Re: Авто-удаление аккаунтов - [RUS]max - 23.11.2010

В общем не парьтесь пацаны . Все делается вручную, банально......
заходишь в каталог с аккаунтами, можешь сделать поиск всех файлов дата изменения которых старше требуемого времени и кнопочкой DEL . либо упорядочить все файлы в каталоге по дате и удалить все файлы которые давно изменялись . И не надо мозг ломать что и как сделать. ГЫ и сервер не занят этим процессом и все быстро происходит .


Re: Авто-удаление аккаунтов - [RUS]max - 23.11.2010

а если серьезно то в коде процесс удаления аккаунтов можно разбить на несколько этапов. Т.е. чтобы не сразу все 5000 или больше файлов обрабатывалось. а скажем по 500 файлов каждую минуту, ведь нет такой необходимости за один заход сносить сразу все что надо.


Re: Авто-удаление аккаунтов - Aleks10 - 23.11.2010

да кстате, если надо, могу написать плагин для этого дела...


Re: Авто-удаление аккаунтов - toneysix - 23.11.2010

Зачем нужен плагин, если есть БД, самыи лучшии способ, которыи ничего не затронет - способ dimonml'а, это очевидно, т.е непосредственно при выходе игрока он всё равно обновляет фаил так или иначе, и потом уже командочкои чистим старые фаилы.