Posts: 304
Threads: 11
Joined: Oct 2008
Reputation:
0
Доброго времени суток!
Подскажите, пожалуйста, возможно ли, осуществить автоматическое удаление аккаунта, если игрок, к примеру, не заходил на сервер определенное кол-во времени?
P.S. Cохранение аккаунта через Dini.
Posts: 760
Threads: 25
Joined: Aug 2009
Reputation:
0
Я как то создавал такую тему на павнору, но мне никто не ответил... но, сдесть в релизах лежит мод LVMAX, там это осуществлено =)
Posts: 203
Threads: 0
Joined: Jul 2010
Reputation:
0
в файл игрока писать нужно время последнео захода
Posts: 97
Threads: 3
Joined: Oct 2009
Reputation:
0
И что потом? Циклом перебирать все файлы игроков (а если их 5000 или более ?) и проверять там параметр даты?
Хотя я другого решения не вижу, но и этот не вариант.
Если сохранять дату последнего входа в одном файле в формате File|Unixtime ?
Конечно было бы лучше, если бы система аккаунтов была на MySQL, но речь идёт о Dini.
Posts: 203
Threads: 0
Joined: Jul 2010
Reputation:
0
угу, можно и сохранять дату последнего входа и в одном файле, но опять же баги обеспечены
Posts: 262
Threads: 5
Joined: Sep 2009
Reputation:
0
А как Вы потом собираетесь перебрать все фаилы, которые лежат в папке, если к примеру там будет фаил с ником игрока, т.е Nick1991.ini?
Posts: 262
Threads: 5
Joined: Sep 2009
Reputation:
0
Нерационально и убого и символ '|' ставить нельзя, при том, что сам игрок может использовать, как делиметр в своем нике.
Posts: 1,659
Threads: 17
Joined: Sep 2008
Quote:
Originally Posted by toneysix
Нерационально и убого и символ '|' ставить нельзя, при том, что сам игрок может использовать, как делиметр в своем нике.
|
С файлами по другому невозможно. Конечно, лучше юзать БД, там с этим гораздо проще.
Posts: 760
Threads: 25
Joined: Aug 2009
Reputation:
0
а при запуске сервера? открывать файлы players/*.ini и проверять дату последнего захода... хотя как говорили выше акков может быть очень много... ну просто рестарт займет какоето время)))
Posts: 688
Threads: 2
Joined: Oct 2008
Reputation:
0
в плагинах что-то для работы с каталогами есть - там должны быть и функции поиска файлов
Posts: 203
Threads: 0
Joined: Jul 2010
Reputation:
0
проще всё в одном файле сохранять...
даже если файл будет весить +100кбайт(это уже нихреновое кол-во юзеров), то имхо сервер затратит на его обработку от 2 до 10 секунд...
Posts: 262
Threads: 5
Joined: Sep 2009
Reputation:
0
23.11.2010, 01:26
(
Last edited by toneysix; 23/11/2010 at 02:01 AM.
)
Kernell по-моему пустые слова пока у тебя дорогои мои, ты сначала сделаи это, чтобы это чётко работало, а потом говори, ибо ты по-моему не сечёшь всеи сути проблемы, которых можно ожидать, лишние проверки на ники и приводят к нерациональности, а ущемление прав игрока тоже не есть хорошо, и как всем известно, любые операции с дисками - это медленные операции, которых лучше избегать. Поэтому мои дорогои про глупость ты не впариваи мне, ну или бабушке впарь она поверит xD
Я бы лучше изменил систему хранения данных, чем делал такие способы, как Kernell, чтобы добавить тормозов на сервер, вы видимо никогда не имели дела с сервером, у которого онлаин > 100, а там придётся учитывать всё, прежде чем реализовывать подобные тормоза.
Aleks10 Ещё лучше, не выспался сегодня? ^^
P.S: Имхо самыи лучшии способ я вижу пока у dimonml, потому что он не затрагивает доп.работу с фаилами и проверками непосредственно при процессе игры, а тем более, на теории не всегда получается так, как должно было работать на практике, таков сэмп и с этим ничего не поделать.
Posts: 203
Threads: 0
Joined: Jul 2010
Reputation:
0
без БД и внедрения плагина - способ который я предложил(и кто-то ещё вроде) лучше всего
конечно с БД или плагином можно вообще всё в несколько строк сделать и чтобы всё было быстро
Posts: 37
Threads: 2
Joined: Jun 2007
Reputation:
0
а если серьезно то в коде процесс удаления аккаунтов можно разбить на несколько этапов. Т.е. чтобы не сразу все 5000 или больше файлов обрабатывалось. а скажем по 500 файлов каждую минуту, ведь нет такой необходимости за один заход сносить сразу все что надо.
Posts: 203
Threads: 0
Joined: Jul 2010
Reputation:
0
да кстате, если надо, могу написать плагин для этого дела...
Posts: 262
Threads: 5
Joined: Sep 2009
Reputation:
0
23.11.2010, 09:15
(
Last edited by toneysix; 23/11/2010 at 09:37 AM.
)
Зачем нужен плагин, если есть БД, самыи лучшии способ, которыи ничего не затронет - способ dimonml'а, это очевидно, т.е непосредственно при выходе игрока он всё равно обновляет фаил так или иначе, и потом уже командочкои чистим старые фаилы.