Antwa CodeAntwaCode Blog

Aplikasi11 menit baca

DSTSSE: Save Editor untuk Digimon Story: Time Stranger

DSTSSE adalah desktop save editor untuk Digimon Story: Time Stranger yang dibangun dengan Rust, Tauri 2, dan React 19.

Baca dalam English

Siapa yang pernah main game, edit save-nya, terus save file-nya corrupt dan semua progress hilang? Kalau belum, berarti kamu beruntung. Kalau sudah — selamat datang di klub yang menyedihkan.

Itu tepatnya yang terjadi di balik kenapa DSTSSE (Digimon Story: Time Stranger Save Editor) dibangun. Bukan karena bikin save editor itu gampang atau seru — tapi karena rasa sakit kehilangan 100+ jam progress itu nyata, dan harusnya ada cara yang lebih aman untuk edit save file tanpa harus nahan napas setiap kali pencet tombol Simpan.

Kali ini aku mau ceritain soal DSTSSE dari sudut pandang yang berbeda: bukan cuma apa yang dibikin, tapi kenapa dibikin, bagaimana teknisinya, dan apa yang bikin beda dari save editor kebanyakan.

Apa Itu DSTSSE?

DSTSSE adalah desktop save editor untuk Digimon Story: Time Stranger — game RPG dari Bandai Namco yang dirilis untuk PC dan konsol. Kalau kamu pernah main Digimon Story: Cyber Sleuth atau game Digimon lainnya, kamu pasti tahu rasanya punya roster Digimon yang sudah kamu kembangkan ratusan jam. Kadang kamu pengen edit stat, ganti item, atau sekadar lihat apa yang ada di save file kamu — tapi tanpa resiko corrupt.

Simpelnya: DSTSSE baca save file dari disk kamu, tampilkan semua data yang bisa diedit, dan kalau kamu mau simpan perubahan — ia backup dulu, baru tulis. Tidak ada upload, tidak ada network call, tidak ada akun yang perlu dibuat. Semua terjadi di lokal komputer kamu.

Tagline-nya bilang itu dengan tepat: "Edit your save. Keep your save."

DSTSSE saat ini ada di versi 0.1.0 — artinya sudah bisa dipakai untuk daily use, tapi masih dalam fase awal pengembangan. Fitur yang sudah ada sudah cukup lengkap untuk kebutuhan dasar editing save file, dan tim pengembangnya aktif menerima feedback dari komunitas.

Kenapa Dibangun?

Masalah nyata yang dihadapi player

Kalau kamu main Digimon Story: Time Stranger di Steam, save file-nya ada di folder savedata. File-nya besar — sekitar 3 MB dengan format AES-128-ECB. Ada banyak sekali data yang dikemas di dalamnya: roster Digimon, inventory, skill, scan data, field guide, dan banyak lagi.

Yang menarik, ada tujuh region di dalam file save yang sudah dipetakan. Ketujuh region ini semuanya ada di sepertiga pertama file — sedangkan 85.3% sisanya (sekitar 2.6 juta byte) adalah gap dan tail yang belum pernah dimapping oleh editor manapun. DSTSSE membaca semua data ini, menyalinnya persis seperti adanya, dan menulisnya kembali tanpa mengubah apapun di bagian yang belum dipahami.

Masalahnya, save editor yang sudah ada sebelumnya punya beberapa kelemahan:

  • Tidak ada backup otomatis. Kalau edit salah, bye-bye save.
  • Banyak save editor yang pakai web atau Python script. Harus install dependensi, kadang harus manual decrypt.
  • Tidak ada validasi perubahan. Kalau kamu edit stat ke angka yang tidak valid, game-nya bisa crash atau save-nya corrupt.
  • Beberapa save editor perlu internet. Ada yang upload save file ke server untuk di-decrypt. Buat beberapa orang, ini deal breaker.
  • Tidak ada yang menunjukkan dampak edit. Kamu tidak tahu berapa banyak record yang akan terpengaruh sebelum menekan save.

DSTSSE dirancang untuk mengatasi semua masalah ini sekaligus.

Filosofi safety-first

Yang paling menarik dari DSTSSE bukan fiturnya — tapi filosofinya. Setiap aspek desainnya menjawab pertanyaan yang sama:

"Bagaimana kalau user pencet Ctrl+S sambil makan mie ayam dan tiba-tiba laptop-nya mati?"

Jawabannya: save file kamu tetap aman. Ini bukan hyperbola — ini benar-benar cara kerjanya.

Tech Stack: Rust + Tauri 2 + React 19

DSTSSE bukan sekadar save editor biasa. Pilihan tech stack-nya sangat disengaja dan masing-masing punya alasan yang kuat.

Rust (Backend)

Rust dipilih karena tiga hal: kecepatan, keamanan memory, dan binary yang kecil.

Untuk save editor, Rust memberikan:

  • Zero-cost abstractions — parsing save file secepat C tapi tanpa resiko buffer overflow
  • Type safety — kalau ada field yang salah, ketahuan di compile time, bukan saat runtime
  • No garbage collector — aplikasi startup-nya instant, tidak ada jeda GC yang ganggu UX
  • Single binary — hasil compile-nya cuma satu file executable, tidak perlu runtime atau dependensi

Save file-nya sendiri di-decrypt dari AES-128-ECB dan diparsing ke dalam struktur data yang ditulis di Rust. Offset-offset penting di-read dari file save/layout.rs di build time — jadi layout save file sudah diketahui sebelum aplikasi jalan. Ini memastikan bahwa semua offset dan region yang diketahui sudah ter-compile ke dalam binary, bukan di-hardcode di runtime.

Tauri 2 (Framework Desktop)

Kalau kamu familiar dengan Electron, Tauri mirip tapi lebih ringan. Perbedaan utamanya:

ElectronTauri 2
WebViewChromium (bundled)WebView2 / WKWebView (native OS)
Binary size~150 MB+~5-10 MB
RAM usage~200 MB+~30-50 MB
BackendNode.jsRust

Tauri 2 memberikan kemampuan untuk:

  • Secure IPC — komunikasi antara frontend (React) dan backend (Rust) yang aman dan terstruktur
  • File system access yang terkontrol — tidak perlu akses penuh ke seluruh disk
  • Window management yang native — terasa seperti aplikasi asli, bukan web app yang dibungkus
  • Auto-update yang built-in
  • Cross-platform — Windows, macOS, dan Linux dengan satu codebase

Yang paling penting: Tauri 2 secara default tidak mengizinkan network request dari aplikasi kecuali kamu secara eksplisit mengaktifkannya. DSTSSE memanfaatkan ini — aplikasi benar-benar tidak punya HTTP client yang ter-bundled. Tidak ada cara untuk mengirim data keluar, bahkan kalau kamu mau. Ini bukan hanya fitur — ini arsitektur.

React 19 (Frontend)

React 19 dipilih untuk UI-nya. Dengan fitur-fitur terbaru seperti React Compiler, Actions, dan Server Components (walaupun di desktop context, Server Components tidak relevan), React 19 memberikan:

  • Rendering yang lebih cepat — React Compiler mengoptimalkan re-render secara otomatis
  • Form handling yang lebih baik — save editor punya banyak form input (edit stat, bulk actions), dan React 19 mempermudah ini
  • Type safety dengan TypeScript — semua UI components di-type dengan ketat

UI-nya sendiri dirancang untuk responsif dan informatif. Setiap layar menampilkan informasi yang relevan — dari kartu slot save yang menampilkan party trio sampai detail pane per-Digimon. Semua screenshot di website menggunakan capture langsung dari aplikasi di resolusi 1280×800 — bukan mockup, bukan data palsu. Apa yang kamu lihat di website adalah apa yang kamu dapat.

Kenapa stack ini?

Kombinasi Rust + Tauri 2 + React 19 menghasilkan aplikasi yang:

  1. Ringan — binary kecil, RAM usage rendah
  2. Cepat — startup instan, parsing save file cepat
  3. Aman — memory-safe backend, network disabled by default
  4. Cantik — modern UI yang responsif tanpa bloat

Fitur Utama

Slot Save Browser

Saat pertama kali membuka DSTSSE, kamu akan diminta pointing ke folder savedata Steam. Setelah itu, semua slot save akan ditampilkan sebagai kartu — masing-masing menampilkan:

  • Party trio (3 Digimon utama) yang sama seperti layar load di game
  • Waktu main (playtime)
  • Uang dalam game
  • Ukuran roster
  • Kapan file terakhir diubah

Folder yang pernah kamu buka akan diingat, jadi next time cukup satu klik. Tidak perlu browsing lagi. Kamu langsung tahu slot mana yang mau diedit tanpa harus buka satu per satu.

Roster Editor

Ini adalah fitur inti. DSTSSE bisa menampilkan dan mengedit seluruh roster Digimon kamu — dari party, box, sampai farm. Fiturnya:

  • Edit stat individual — level, EXP, bond, talent, semua stat base
  • Evolution counters — edit counter evolusi per Digimon
  • Detail pane — lihat detail lengkap satu Digimon sambil melihat daftar roster di sampingnya. Kamu bisa scroll roster dan detail-nya langsung berubah
  • Scope selector — pilih apakah perubahan berlaku untuk satu Digimon, satu party, atau seluruh roster

Agent & Inventory Editor

Selain roster, DSTSSE juga bisa mengedit:

  • Agent skills — progress bar dan level untuk setiap skill agent
  • Inventory — item yang kamu miliki, jumlahnya, dan kemana item tersebut dipakai
  • Scan data — data scan yang sudah kamu kumpulkan

Field Guide & Digidex

DSTSSE menampilkan field guide dan digidex sebagai read-only summary — jadi kamu bisa melihat completion-mu tanpa risiko mengubah data yang seharusnya tidak diubah.

Bulk Actions

Fitur yang sangat powerful: kamu bisa melakukan perubahan ke banyak Digimon sekaligus. Contohnya:

  • Set level seluruh roster ke level tertentu (otomatis menghitung EXP yang sesuai)
  • Set bond ke angka tertentu
  • Set talent ke angka tertentu
  • Add atau set stat blocks ke seluruh roster

Yang keren: setiap tombol bulk action menampilkan jumlah record yang akan disentuh sebelum kamu menekannya. Jadi kamu tahu persis dampaknya — apakah kamu akan mengubah 3 Digimon atau 300. Tidak ada kejutan.

Overview Dashboard

Ringkasan read-only dari save file yang terbuka:

  • Nama tamer
  • Split roster (party, box, farm)
  • Party trio
  • Progress bars untuk agent skills, inventory, scans, dan field guide
  • Angka yang mencakup perubahan yang belum disimpan (dengan dot penanda yang membedakan dari file di disk)

Dashboard ini sangat berguna untuk sekadar "cek kondisi save tanpa edit apapun."

Pendekatan Safety-First: Lima Langkah Keamanan

Ini bagian yang paling menarik dari DSTSSE. Setiap kali kamu pencet Ctrl+S, ini yang terjadi:

Langkah 1: Konfirmasi Batch

Aplikasi menampilkan semua perubahan yang akan kamu tulis ke save file. Bukan cuma "Apakah kamu yakin?" — tapi daftar lengkap setiap perubahan, berapa banyak yang berubah, ke file mana, dan backup file apa yang akan dibuat.

Contoh: kalau kamu mengedit 49 field, dialog-nya akan menampilkan "49 changes will be written to 0001.bin, with the backup it will make named beneath the list." Tombolnya berbunyi "Back up & save" — karena memang itulah urutannya.

Kalau kamu klik "Cancel", tidak ada satu byte pun yang bergerak. Itu janjinya.

Langkah 2: Validasi Batch

Sebelum apapun ditulis, seluruh batch perubahan divalidasi dulu. Kalau ada satu edit yang tidak valid — misalnya stat out of range, atau field yang corrupt — seluruh batch ditolak. Save file tetap persis seperti sebelumnya.

Ini berbeda dari banyak save editor yang menulis per-edit satu per satu. Kalau edit ke-15 dari 50 salah, editor lain mungkin sudah menulis 14 edit pertama — dan sekarang kamu punya save file yang setengah lama, setengah baru. DSTSSE tidak pernah dalam situasi ini.

Langkah 3: Backup File

Backup dilakukan SETELAH validasi lolos, SEBELUM penulisan apapun. Jika backup gagal — misalnya disk penuh atau file locked — penulisan dibatalkan. Tidak ada "save anyway." Tidak ada opsi untuk skip backup.

Langkah 4: Write-Beside-Rename

DSTSSE tidak menulis langsung ke save file. Yang terjadi:

  1. Tulis ke file baru di samping file asli (misalnya 0001_new.bin di samping 0001.bin)
  2. Setelah file baru ditulis 100%, rename file asli ke backup
  3. Rename file baru ke nama file asli

Kenapa ini penting? Karena kalau laptop tiba-tiba mati di tengah penulisan — kamu masih punya file yang utuh, bukan file setengah jadi. Backup file lama masih ada, dan file baru yang setengah ditulis tidak akan pernah menggantikan file yang valid. Ini pattern yang sama yang dipakai oleh database production dan editor teks profesional — atomic write via rename.

Langkah 5: Restore

Backup yang dibuat bisa di-restore kapan saja. Kalau kamu sadar edit-nya salah setelah save, kamu bisa restore backup dan kembali ke kondisi sebelumnya.

Rangkuman Safety Flow

Edit → Konfirmasi Batch → Validasi → Backup → Write Beside → Rename → Selesai
         ↓ Cancel           ↓ Fail       ↓ Fail       ↓ Fail
      Tidak ada yang berubah  Batch ditolak  Write dibatalkan  File tetap utuh

"Nothing is uploaded, ever." — Kalimat ini ada di halaman website-nya, dan itu serius. Tidak ada network calls, tidak ada telemetry, tidak ada akun. Aplikasi di-build tanpa HTTP client sama sekali. Semua terjadi di disk kamu.

Cara Pakai

Persyaratan

  • Sistem operasi: Windows (primary support)
  • Game: Digimon Story: Time Stranger (Steam)
  • Save file: Sudah ada di disk kamu (biasanya di Steam/userdata/[your-id]/)

Langkah-langkah

  1. Download DSTSSE dari website resmi — file-nya .zip, cukup unzip
  2. Jalankan executable-nya — tidak perlu install, tidak perlu dependensi, tidak perlu .NET atau Java
  3. Point ke folder savedata Steam — biasanya di Steam/userdata/[your-id]/
  4. Pilih slot save dari daftar kartu yang muncul
  5. Edit data yang kamu mau — roster, agent, inventory, dll
  6. Tekan Ctrl+S untuk save — konfirmasi batch akan muncul, review perubahan, lalu klik "Back up & save"

Itu saja. Tidak ada login, tidak ada setup wizard, tidak perlu restart. Unzip, jalankan, edit, simpan.

Tips

  • Baca changelog di About — semua fitur yang tersedia sudah di-list di sana, lengkap dengan detail fitur
  • Perhatikan angka di bulk action — tombol menunjukkan berapa record yang akan disentuh sebelum kamu klik
  • Gunakan Overview untuk cek apakah ada perubahan yang belum disimpan — ada dot penanda yang menunjukkan perbedaan dengan file di disk
  • Folder terakhir diingat — kamu tidak perlu browsing ulang setiap kali membuka aplikasi

Kenapa Rust, Bukan Python atau Electron?

Ini pertanyaan yang muncul kalau kamu familiar dengan tool development.

vs Python

Save editor kebanyakan dibuat dengan Python karena cepat dan mudah. Tapi untuk aplikasi desktop yang benar-benar ingin zero dependencies dan zero network, Python kurang cocok:

  • Python perlu runtime terinstall
  • PyInstaller bisa membundling, tapi binary-nya besar (~50-100 MB)
  • Memory usage lebih tinggi
  • Tidak ada type safety compile-time
  • Startup time lebih lambat

vs Electron

Electron memang populer untuk cross-platform desktop app. Tapi:

  • Chromium yang di-bundled bikin binary raksasa
  • RAM usage tinggi bahkan untuk aplikasi sederhana
  • Secara default punya akses network
  • Startup time lebih lambat
  • Overkill untuk aplikasi yang fokusnya adalah file manipulation

Rust + Tauri memberikan yang terbaik dari kedua dunia: kemudahan React untuk UI, kecepatan dan keamanan Rust untuk backend, dan ukuran binary yang kecil.

Use Case

1. Mengembalikan Progress yang Hilang

Kalau save file corrupt karena crash atau bug game, dan kamu punya backup dari DSTSSE — kamu bisa restore.

2. Eksplorasi Data Save

Penasaran data apa saja yang tersimpan di save file kamu? DSTSSE menampilkan struktur data secara visual — dari offset hingga isi field per-field. Bahkan bagian-bagian yang belum dipetakan pun dibaca dan disalin dengan benar.

3. Testing Build Strategy

Mau coba build Digimon tertentu tanpa resiko kehilangan progress? Clone save, edit di DSTSSE, test di game — kalau tidak cocok, restore backup.

4. Penelitian Save Format

DSTSSE menggunakan format save yang sudah di-mapping oleh ANAMNESIS Save Editor by DotingDavid. Save format, reference database, dan icons semuanya berasal dari proyek itu. DSTSSE mengakui ini dengan jelas di footer website-nya — dan ini menunjukkan pentingnya open source collaboration di komunitas game.

5. Speedrunning & Challenge Runs

Untuk speedrunner yang perlu reset progress atau menyiapkan save file tertentu untuk challenge run, DSTSSE memberikan cara yang aman untuk memanipulasi data.

6. Debugging

Kalau game crash atau ada bug, kamu bisa inspect save file dengan DSTSSE untuk melihat apakah data-nya valid atau corrupt — tanpa perlu hex editor.

Kontribusi & Open Source

DSTSSE di-build dengan spirit open source. Save format, reference database, dan icons berasal dari ANAMNESIS Save Editor by DotingDavid — proyek yang sudah memetakan di mana roster hidup, apa arti setiap field, dan bagaimana values di-scale di disk.

Kalau kamu menemukan bug atau punya saran, kamu bisa buka issue di GitHub. Tidak ada akun yang perlu dibuat, tidak ada proses approval yang ribet.

Proyek ini menunjukkan bagaimana satu save editor bisa membangun di atas kerja orang lain dengan cara yang etis — memberikan atribusi, menggunakan data yang sudah di-mapping, dan berkontribusi balik ke ekosistem.

Kesimpulan

DSTSSE menunjukkan bahwa save editor tidak harus berupa Python script yang rapuh atau web app yang perlu upload file ke server. Dengan pendekatan yang benar — Rust untuk backend, Tauri 2 untuk desktop framework, React 19 untuk UI — kamu bisa membuat aplikasi yang ringan, aman, dan benar-benar menghormati privasi user.

Yang paling penting: safety-first bukan fitur, tapi arsitektur. Lima langkah keamanan di DSTSSE tidak ditambahkan sebagai afterthought — mereka dirancang sejak awal sebagai satu-satunya jalur dari edit ke save.

Kalau kamu main Digimon Story: Time Stranger dan butuh save editor yang serius soal keamanan data, DSTSSE layak dicoba. Gratis, open source, dan tidak akan pernah mengirim data kamu kemana-mana.

Download: dstsse.antwacode.com

Catatan: DSTSSE tidak berafiliasi, disponsori, atau terhubung dengan Bandai Namco Entertainment atau Media Vision. Digimon Story: Time Stranger adalah merek dagang dari Bandai Namco Entertainment Inc.