ASAR direct reading Feature Request <3
This guide explains how to enable direct reading of ASAR archives without JoiPlay extracting them first.
Prerequisites
- A game that uses an
app.asar
archive.
- JoiPlay installed on your device.
- Demo Plugin installed on your device. ( Read it below on how to get it )
What’s wrong with default Tyrano plugin?
By default, JoiPlay may attempt to extract .asar
files, or we might need to do it manually via termux just to play it.
nobody got time for that. asar is is open source we should read directly into it..
The Solution
By porting the readArchiveHeaderSync
and readFileSync
functions from the Electron ELECTRON/ASAR library at Github into C++ or Java, so JoiPlay can read the archive directly.

You can download a demo of a Tyrano App with this feature already implemented:
[DEMO]: https://pixeldrain.com/u/nh99TPyu
Stuff you need to know before using the demo plugin above.
Correct Game Folder Structure
To prevent JoiPlay from extracting the archive, you must rename app.asar
to data.bin
and follow this specific folder structure:
game
Tyrano
(EMPTY FOLDER)
index.html
data.bin
(this is the renamed app.asar
file)

Important Warning
- If you see “joipad,” it means the
Tyrano
folder is missing.
- If JoiPlay starts extracting the
.asar
file, it means you have not renamed it correctly.
Instructions
- Organize your game files into the folder structure shown above.
- Add the
index.html
file to JoiPlay to launch the game. It should now work with direct ASAR reading.
Tested Games
The following games have been successfully tested with this method:
- Living Together [v1.26] [PicoPicoSoft]
- [ENG] NEET, Angel, and Ero Family (V1.36) (V25.01.22) Uncensored (072project)
Limitation
The demo doesn’t support NW.js API features because it’s just a demo, and I don’t have any games that require them, so I couldn’t add that functionality. This may not be a concern once this feature is ported to JoiPlay, as I’ve seen that JoiPlay already has a setting to enable these features.