Documentation Index
Fetch the complete documentation index at: https://docs.royalratsproductions.ru/llms.txt
Use this file to discover all available pages before exploring further.
Данные и устойчивость
CROWN/RRP использует постоянные локальные хранилища для экономического состояния, настроек и служебной истории.SQLite
Экономика и связанные с ней операции хранятся в SQLite. В банковском хранилище находятся:- счета игроков;
- счета фракций;
- инвентарь и магазин;
- журнал денежных операций;
- кредиты;
- платежи по кредитам;
- заявки на кредиты;
- статусы заморозки счетов;
- фракционные выплаты.
settings.json
Конфигурация серверов хранится вsettings.json. В ней находятся настройки модулей, роли, лимиты, параметры UI, заявки и часть runtime-состояния, которое уже исторически связано с настройками сервера.
Запись настроек выполняется атомарно и сопровождается резервными копиями. При повреждении файла система переходит в безопасное degraded-состояние.
Durable requests
Заявки на кредиты и заявки Applications проектируются как durable requests:- нефинальные статусы восстанавливаются после рестарта;
- финальные статусы не возвращаются в активные;
- старые нефинальные записи истекают через 30 дней;
- дубли закрываются без удаления основной записи.
tx_log и аудит
tx_log хранит историю денежных событий: пополнения, списания, переводы, фракционные операции, кредиты и выплаты. Этот журнал используется для истории, экспорта, восстановления и проверки спорных операций.
Отдельные audit-журналы используются для административных действий и изменений конфигурации. В них нельзя записывать секреты, токены или приватные payload-данные.
Принципы restart safety
- Сначала записывается устойчивое состояние, затем выполняются побочные эффекты.
- Денежные операции выполняются транзакционно.
- Повторный запуск не должен создавать дубли платежей или заявок.
- Старые кнопки и устаревшие сообщения должны требовать повторного открытия актуального экрана.
- История операций сохраняется даже при удалении активной сущности, если это нужно для аудита.