Празнината
Простият код за записи пише направо върху единственото копие на прогреса на играча, не различава повреден файл от здрав и чупи старите записи, щом класовете с данни се променят.
Инструменти за разработка на игри
Играчите не губят прогрес при срив или повреден файл: слотове с версии, атомарен запис, контролни суми, самовъзстановяващи се копия, миграции, AES и асинхронен API. Unity не е пускан; ядрото е тествано с .NET.
Очаквайте скоро
Още не е публикуван в магазина, затова няма връзка за покупка или изтегляне. PN Scripts не приема плащане за него тук.
Празнината
Простият код за записи пише направо върху единственото копие на прогреса на играча, не различава повреден файл от здрав и чупи старите записи, щом класовете с данни се променят.
Какво представлява
Stashwright пише атомарно, слага контролна сума на всяко съдържание, пази резервни копия и се възстановява от тях, и надгражда старите записи чрез изрични миграции на JSON, зад асинхронен API за слотове.
Как се използва
Играчите не губят прогрес заради срив или повреден файл, а вие можете да променяте данните между обновленията, без да чупите старите записи.
Компактен слой за записи с включен код за Unity разработчици, които искат записи, устойчиви на сривове и с версии, без голяма рамка за данни.
Използвайте го когато
Направено за
Всеки слот е един JSON файл с маркер на формата, име на слота, версия на записа, UTC време, пореден номер, вашите метаданни (място, ниво, изиграно време), SHA-256 контролна сума и съдържанието. ListSlotsAsync чете само тези заглавия, най-новите първи, така че менюто за зареждане показва всички слотове, без да зарежда или декриптира данните.
SaveAsync пише в slot.save.tmp, изпраща го на физическия диск и го преименува върху слота. Преди това текущият файл се копира в slot.save.bak1, а по-старите копия се отместват до зададения брой. Запис, прекъснат преди преименуването, оставя стария запис на място, а CleanUpInterruptedWrites маха останалия временен файл.
При зареждане се проверяват пликът, името на слота, контролната сума и при криптирани записи HMAC. Отхвърленият файл се отчита с причина, използва се най-новото здраво копие и се записва обратно като слот, а резултатът е RecoveredFromBackup. Ако всички копия са лоши, резултатът е Corrupt и нищо не се презаписва.
Вдигнете версията на записа, когато данните се променят, и регистрирайте по една миграция за стъпка; всяка получава суровия JSON и връща надградения, а резултатът показва пътя, например 1, 2, 3. Криптирането е по избор: AES-256-CBC с нови сол и IV при всеки запис, HMAC-SHA256 върху шифъра и ключове от паролата чрез PBKDF2-SHA256. То спира лесното редактиране; ключ в билд на играта може да бъде извлечен.
1 от 5
| Платформа или среда | Поддържани версии | Тествано до |
|---|---|---|
| .NET (core library) | netstandard2.1 или по-нова | .NET 8.0 |
| Unity | 2021.3 или по-нова | compiled against 6000.5.4, not run |
Продуктът е завършен и тестван. Още не се продава; тази страница ще посочи откъде да го вземете, когато започне.
Очаквайте скоро
Още не е публикуван в магазина, затова няма връзка за покупка или изтегляне. PN Scripts не приема плащане за него тук.