Возможно я был не так понят, попробую внести ясность:
- система может работать полностью независимо, интеграция
создана только для совместимости с ресурсом admin, ему подобными и системой привелегий MTA.
Разумеется, однако данные аккаунта полностью загружаются в память при первом обращении к нему, далее
идет простое обращение к таблице, аккаунт освобождается если игрок вышел с сервера.
Недостатком является то, что если к аккаунту было обращение в тот момент, когда в него не был залогинен игрок
он не будет выгружен, а только синхронизирован с диском по таймауту.
тесты эквивалентов getAccountData / setAccountData , вызываемых удаленным скриптом показывают
скорость в 2-3 раза быстрее ( чтение в 2, запись в 3 ... если не ошибаюсь )
у меня расчет на то что http будет использоваться только администраторами, в противном случае
привелегия подключения через http будет доступна всем игрокам.
С момента создания моей системы было несколько коммитов улучшающих
встроенную систему аккаунтов, однако переходить не неё обратно не вижу смысла.
ИМХО можно улучшить сущствующую систему, создав аналог executeSQLQuery для internal.db, конечно, сделав
его разрешенным только для группы .
Т.к бы не помешали бы в ней запросы поиска/обновления групп данных, а также BEGIN,END,COMMIT и т.д.
Истину глаголишь...
Есть одна глупая идейка для встроенной БД - можно создавать таблицу вида
< TEXT ACCOUNTNAME, TEXT SERIAL, TEXT REGISTER_IP, BOOL AUTOLOGIN, BLOD ACCOUNT_DATA >
и хранить в ACCOUNT_DATA все данные игрока в виде JSON, чтобы не увеличивать количество записей в таблице.
Не помню точно как выглядит структура internal.db, да и нутром чую что не все так гладко как написал.. но а вдруг?
PS: Прошу строго не судить за слишком явный бред.
PSS: очень нехватает spoiler или offtop bb-кода.
Добавлено:
Это не метод, а лишь один из вариантов решения проблемы sqlite, в том виде в каком понял.
Что идейка с уменьшнием числа записей глупая писал еще ранее, т.к сомневался
Кроме того эта идея является взаимоисключающей с предложением расширенного доступа к БД.