Към съдържанието
PN Scripts

Инструменти за разработка на игри

Stashwright by PN Scripts

Играчите не губят прогрес при срив или повреден файл: слотове с версии, атомарен запис, контролни суми, самовъзстановяващи се копия, миграции, AES и асинхронен API. Unity не е пускан; ядрото е тествано с .NET.

  • C#
  • .NET Standard 2.1
  • Newtonsoft.Json
  • Unity Package Manager
  • xUnit
  • Очаквайте скоро

Очаквайте скоро

Още не е публикуван в магазина, затова няма връзка за покупка или изтегляне. PN Scripts не приема плащане за него тук.

Три карти на слотове с резервните им файлове и размери до JSON съдържанието на slot1.save

Какъв проблем решава

Празнината

Простият код за записи пише направо върху единственото копие на прогреса на играча, не различава повреден файл от здрав и чупи старите записи, щом класовете с данни се променят.

Какво представлява

Stashwright пише атомарно, слага контролна сума на всяко съдържание, пази резервни копия и се възстановява от тях, и надгражда старите записи чрез изрични миграции на JSON, зад асинхронен API за слотове.

Как се използва

Играчите не губят прогрес заради срив или повреден файл, а вие можете да променяте данните между обновленията, без да чупите старите записи.

Компактен слой за записи с включен код за Unity разработчици, които искат записи, устойчиви на сривове и с версии, без голяма рамка за данни.

За кого е

Използвайте го когато

  • Слотове за записи в RPG, приключенски и управленски игри
  • Обновления, които променят формата на записа, без да чупят старите записи
  • Откриване на редактирани или повредени записи на PC и мобилни устройства

Направено за

  • 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. То спира лесното редактиране; ключ в билд на играта може да бъде извлечен.

Спецификации

Наличност
Очаквайте скоро
Разработчик
PN Scripts
Вид
Пакет
Ценообразуване
Еднократно плащане Цената ще бъде обявена.
Лиценз
Собственически лиценз
Внедряване
Изтегляне (UPM tarball и ZIP с C# код)
Зрялост
v1.0.0

Съвместимост

Платформа или среда Поддържани версии Тествано до
.NET (core library) netstandard2.1 или по-нова .NET 8.0
Unity 2021.3 или по-нова compiled against 6000.5.4, not run

Стек

  • C#
  • .NET Standard 2.1
  • Newtonsoft.Json
  • Unity Package Manager
  • xUnit

Stashwright предстои

Продуктът е завършен и тестван. Още не се продава; тази страница ще посочи откъде да го вземете, когато започне.

Очаквайте скоро

Още не е публикуван в магазина, затова няма връзка за покупка или изтегляне. PN Scripts не приема плащане за него тук.

Въпроси

Система за записи за Unity: слотове с версии в JSON с миграции, атомарен запис, контролни суми, резервни копия с възстановяване, криптиране с AES по избор и асинхронен API, с целия C# код.

Пакетът изисква Unity 2021.3 или по-нов и официалния пакет Newtonsoft JSON. Ядрото е за netstandard2.1 и е тествано на .NET 8 под Linux. Редакторът на Unity не е пускан за тази версия: скриптовете за Unity са компилирани срещу асемблитата на Unity 6000.5.4, но нищо не е пускано в Unity.

Няма записи в облака или платформено хранилище (Steam, конзоли, iCloud), няма двоичен сериализатор, няма отделно хранилище за WebGL и няма визуален преглед на записите освен менюто в редактора. Настройките за IL2CPP stripping не са тествани.

Написано е на C# с Newtonsoft.Json и криптографските API-та на .NET. Създадено с помощта на AI; ядрото е проверено от PN Scripts с 38 теста с xUnit на .NET 8 и със сценарий върху истински файлове, от който са и изображенията.

Още не се продава. Когато започне, тази страница ще води към магазина; PN Scripts не приема плащания на този сайт.