https://github.com/itsjokerzz/fpkgi
FPKGi is an open-source clone of the PKGi homebrew by Bucanero for PSP, Vita, and PS3. It retains the beloved functionality, UI, background image, and music while bringing the experience back to the latest console generations. It supports custom fake package (FPKG) content via .json files & more! It's ideal for game preservation and personal use.
https://github.com/itsjokerzz/fpkgi
fpkg homebrew pkgi ps4 ps5
Last synced: about 1 year ago
JSON representation
FPKGi is an open-source clone of the PKGi homebrew by Bucanero for PSP, Vita, and PS3. It retains the beloved functionality, UI, background image, and music while bringing the experience back to the latest console generations. It supports custom fake package (FPKG) content via .json files & more! It's ideal for game preservation and personal use.
- Host: GitHub
- URL: https://github.com/itsjokerzz/fpkgi
- Owner: ItsJokerZz
- License: gpl-2.0
- Created: 2024-12-25T09:01:15.000Z (over 1 year ago)
- Default Branch: nightly
- Last Pushed: 2025-04-03T04:04:14.000Z (about 1 year ago)
- Last Synced: 2025-04-05T14:09:59.575Z (about 1 year ago)
- Topics: fpkg, homebrew, pkgi, ps4, ps5
- Language: C#
- Homepage: https://www.itsjokerzz.site/projects/FPKGi/gen/
- Size: 926 MB
- Stars: 128
- Watchers: 10
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# FPKGi - A Server-Based PS4 & PS5 Content Installer
#### Important Notice: On PS5, an internet connection is currently required for the app to load. This will be resolved with the next **"etaHEN"** release. Until then, please ensure you have an active internet connection at launch.
> [!NOTE]
> FPKGi (Fake PKG Installer) is an open-source homebrew app for installing modified .pkg files on the PS4 and PS5. Inspired by the original PKGi for PSP, Vita, and PS3, it enables you to manage and install content via .json files—from your device, a local network, or the web—and supports package downloads from your private server. Designed for educational and personal use, FPKGi promotes game preservation in the PlayStation homebrew scene by streamlining content browsing, downloading, and installation. For best performance, offload your files to a NAS and run a web server with Node.js or Python, then pass the content URL to your .json files.
> [!IMPORTANT]
> Use FPKGi responsibly and in accordance with the laws of your country. This tool is intended solely for legal, educational, and personal use. Do not use FPKGi for piracy or any other illegal activities. Always download FPKGi from our official GitHub repository, via pkg-zone.com, or through the Homebrew Store, and avoid third-party sources. We assume no responsibility to any damage from malicious downloads and/or legal issues.
## Setup Instructions
#### Download the Latest Version:
- Get the latest compiled package from the [Releases](https://github.com/ItsJokerZz/FPKGi/releases) or visit [pkg-zone.com](https://pkg-zone.com/details/FPKGI13337).
#### Install the Package:
- Choose your preferred method to install the package on your console.
- Alternatively, you can install directly from LightningMods' [Homebrew Store](https://github.com/LightningMods/PS4-Store).
### Populate Content
Launch the app to automatically create the necessary directories and `.json` files in the `/user/data/FPKGi/` folder.
#### Populate Content Locally
Edit the `.json` files generated at `/user/data/FPKGi/ContentJSONs/` to add your content.
**You can also generate / populate, and save the necessary `.json` file [here](https://www.itsjokerzz.site/projects/FPKGi/gen/) on my site.**
> [!NOTE]
> Use bytes for `"size"` and for specifying content's region: `"USA"`, `"JAP"`, `"EUR"`, `"ASIA"`, or `null`.
### Example `.json` structure:
```json
{
"DATA": {
"https://www.example.com/directLinkToContent.pkg": {
"region": "USA",
"name": "Content Title",
"version": "1.00",
"release": "11-15-2014",
"size": 1000000000,
"min_fw": null,
"cover_url": "https://www.example.com/cover.png"
}
}
}
```
> [!IMPORTANT]
> Please ensure the size is as accurate as possible to prevent issues with downloading! The following fields can be
left as `null`
where applicable: `"version"`, `"region"`, `"release"`, `"min_fw"`, and `"cover_url"` if you decide.
#### Populate Content Via Web
To enable web population, edit the `config.json` file located at `/user/data/FPKGi/` and enable it in the menu.
### Locate and edit the following section:
```json
"CONTENT_URLS": {
"PS1": null,
"PS2": null,
"PSP": null,
"games": null,
"apps": null,
"updates": null,
"DLC": null,
"demos": null,
"homebrew": null,
"emulators": null,
"themes": null
}
```
#### Replace `null` with URLs pointing to `.json` files containing your content:
```json
"CONTENT_URLS": {
"games": "https://www.example.com/GAMES.json"
}
```
Unspecified fields will default to loading content from local `.json` files.
## Controls & Settings
### Navigation
- **Move Through Items**: Use **(LS)tick/(RS)tick** or use the dpad to navigate.
- **Select/Download**: Press **** to select or download content.
- **Page & Category Navigation**:
- **L1/R1**: Changes pages.
- **L2/R2**: Changes category.
- **View Details**: Press **** to view detailed information about the selected content.
### Settings Menu
- Press **** to open settings.
- **Save/Cancel**:
- Press **** to save current settings changes.
- Press **** to toggle menu & not save setting.
- **Press the touchpad to search or filter through content by title ID or name.**
## Features
### Core Features
- **Search**: Quickly find content using keywords.
- **Sorting**: Organize content by size, name, region, or title ID.
- **Filtering**: Filter content by type for faster navigation.
- **View Options**: Toggle between ascending and descending order.
### Customization
- **Background Music**: Toggle the original PKGi background music by [nobodo](https://www.github.com/nobodo).
- **Custom Backgrounds**:
Add images via URL or locally (supports `.png`, `.bmp`, `.jpg`, and `.jpeg`).
- URL Example:
```json
"background_uri": "https://www.example.com/image.png"
```
- Local Example:
```json
"background_uri": "/user/data/FPKGi/Backgrounds/custom.png"
```
- Reset to default:
```json
"background_uri": null
```
### Download Management
- **Background Downloads**: Supports simultaneous downloads with automatic installation and rest-mode support.
- **Foreground Downloads**: Single download support, with a queue feature planned in future updates.
- You can edit the path within the app's settings, or manually through the `config.json` like so:
```json
"downloadPath": "/mnt/usb0/"
```
```json
"downloadPath": "/user/data/folder/"
```
- To reset, simply set `null` or type the default path:
```json
"downloadPath": "/user/data/FPKGi/Downloads/"
```
## How to Build
Prerequisites
-
Unity Hub & Unity 2017.2.0p1 (or a compatible version) -
PS4 SDK 4.50+ with Unity integration - PS4 Fake PKG Tools 3.87
- .NET 4.6 Developer Pack
Included Precompiled Dependencies
### Steps to Build
1. **Ensure Prerequisites are Set Up:**
- Install **Unity Hub** and **Unity 2017.2.0p1** (or a compatible version).
- Set up the **PS4 SDK 4.50+** with the matching Unity integration.
- Download and move the [PS4 Fake PKG Tools 3.87](https://github.com/CyB1K/PS4-Fake-PKG-Tools-3.87) to the SDK.
- Download and install the [.NET 4.6 Developer Pack](https://www.dotnet.microsoft.com/en-us/download/dotnet-framework/net46).
2. **Open the Project:**
- Launch **Unity Hub**, add your project, and open it.
3. **Configure Build Settings:**
- In Unity, go to `File -> Build Settings`.
- Click the `Player Settings` button.
- Expand the `Other Settings` section.
- Find `PS4 SDK Override` and set the correct SDK path.
**Note:** Necessary files are provided in the root of the source!
- Expand the `Publishing Settings` section.
- Set the paths for the following:
- `Share File Param` under the `Package` section.
- Under the `Title Voice Recognition Details` section.
- `pronunciation.xml` and `pronunciation.sig`
**For more detailed guidance with images, check out [RetroGamer74's guide](https://github.com/RetroGamer74/HowToBuildWithUnityPS4FakePKG/blob/master/README.md).**
## Troubleshooting Error Code `CE-36441-8`
If you encounter this error, follow these steps to resolve it:
> [!WARNING]
> **THIS IS NOT A FIX OR RECOMMENDED BUT THIS CAN HELP AS A TEMPORARILY
> WORKAROUND UNTIL REAOLVED. PLEASE BE ADVISED AND REVERT THIS AFTER!**
1. **Enable Debug Menu**:
- Open the **GoldHEN** menu.
- Navigate to **Debug Settings** and enable **Full Menu**.
2. **Configure NP Environment**:
- Go to the PS4's settings.
- Navigate to `Debug Settings > PlayStation Network`.
- Set **NP Environment** to `invalid`.
3. **Restart the Console**.
This solution is sourced from [r/ps4homebrew](https://www.reddit.com/r/ps4homebrew/comments/1ctvvg2/comment/l4exrpy/), where several users, including myself, have found it to be effective.
**I am planning on looking into an actual fix rather than a work-around for this issue. If you have any ideas,
please make a pull-request
of [UnityOrbisBridge](https://github.com/ItsJokerZz/UnityOrbisBridge) plugin and I'll gladly look into it and merge into the branch.**
## Special Thanks
- **Original App Creator**: [Bucanero](https://www.github.com/bucanero)
- **Original PKGi Music**: [nobodo](https://www.github.com/nobodo)
### Unity Sources:
- [RetroGamer74](https://www.github.com/RetroGamer74) & [Lapy055](https://www.github.com/Lapy055)
A huge thank you to the following members of the [OOSDK Discord](https://www.discord.com/invite/GQr8ydn) for their support:
- **[TheMagicalBlob](https://github.com/TheMagicalBlob)**, [LightningMods](https://github.com/LightningMods), [Al-Azif](https://github.com/Al-Azif), Da Puppeh, Kernel Panic, lainofthewired, and others.
For more credits, please check out [UnityOrbisBridge](https://www.github.com/ItsJokerZz/UnityOrbisBridge). If I've missed anyone, feel free to reach out.
For assistance, please leave an issue and/or join my community [Discord server](https://discord.com/invite/RjG4Whf) and I'll help you out.
## License
This project is licensed under the GNU General Public License v2.0 - see the [LICENSE](LICENSE) file for details.