Note
FPKGi (Fake PKG Installer) is a tool for installing modified .pkg
files on the PS4, inspired by the original PKGi for PS3. It allows you to manage and install your own content using .json
files, either locally over your network or from the web, and download packages from your private server. Fully compatible with "fake" .pkg
content, this open-source, community-driven project is designed for educational and personal use. It supports game preservation in the PS4 homebrew scene by providing a seamless way to browse, download, and install content efficiently. A recommended setup is offloading to a NAS, running a web server with Node.js or Python, and using direct URLs for downloads. Use responsibly with your own content and servers and make sure to be downloading FPKGi from our GitHub official repository, via pkg-zone.com, or through the Homebrew Store. Avoid third-party sources, we do not take any responsibility if there's any damage to your console due to malicious FPKG(s) downloaded from any public third-party hosted sources or unknown sources.
- Get the latest compiled package from the Releases or visit pkg-zone.com.
- Choose your preferred method to install the package on your console.
- Alternatively, you can install directly from LightningMods' Homebrew Store.
Launch the application to automatically create the necessary directories and .json
files in the /data/FPKGi/
folder.
Edit the .json
files generated at /data/FPKGi/ContentJSONs/
to add your content.
You can also generate / populate, and save the necessary .json
file here on my site.
Note
Use bytes for "size"
and for specifying content's region: "USA"
, "JAP"
, "EUR"
, "ASIA"
, or null
.
{
"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
URLs must be direct links to .pkg
files. Indirect links may cause issues, and the "size"
attribute is REQUIRED!
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.
To enable web population, edit the config.json
file located at /data/FPKGi
and enable it in the menu.
"CONTENT_URLS": {
"PS1": null,
"PS2": null,
"PSP": null,
"games": null,
"apps": null,
"updates": null,
"DLC": null,
"demos": null,
"homebrew": null,
"emulators": null,
"themes": null
}
"CONTENT_URLS": {
"games": "https://www.example.com/GAMES.json"
}
Unspecified fields will default to loading content from local .json
files.
- 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.
- Press the touchpad to search or filter through content by title ID or name.
- 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.
- Background Music: Toggle the original PKGi background music by nobodo.
- Custom Backgrounds:
Add images via URL or locally (supports
.png
,.bmp
,.jpg
, and.jpeg
).- URL Example:
"background_uri": "https://www.example.com/image.png"
- Local Example:
"background_uri": "/data/FPKGi/Backgrounds/custom.png"
- Reset to default:
"background_uri": null
- URL Example:
-
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:
"downloadPath": "/mnt/usb0/"
- When using, you must provide '/user/' before your path, unless it's in '/mnt/', for example:
"downloadPath": "/user/data/folder/"
- To reset, simply set
null
or type the default path:
"downloadPath": "/user/data/FPKGi/Downloads/"
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
-
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 to the SDK.
- Download and install the .NET 4.6 Developer Pack.
-
Open the Project:
- Launch Unity Hub, add your project, and open it.
-
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!
- Find
-
Expand the
Publishing Settings
section.- Set the paths for the following:
Share File Param
under thePackage
section.
- Set the paths for the following:
-
Under the
Title Voice Recognition Details
section.pronunciation.xml
andpronunciation.sig
-
For more detailed guidance with images, check out RetroGamer74's guide.
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!
-
Enable Debug Menu:
- Open the GoldHEN menu.
- Navigate to Debug Settings and enable Full Menu.
-
Configure NP Environment:
- Go to the PS4's settings.
- Navigate to
Debug Settings > PlayStation Network
. - Set NP Environment to
invalid
.
-
Restart the Console.
This solution is sourced from r/ps4homebrew, 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 plugin and I'll gladly look into it and merge into the branch.
A huge thank you to the following members of the OOSDK Discord for their support:
- TheMagicalBlob, LightningMods, Al-Azif, Da Puppeh, Kernel Panic, lainofthewired, and others.
For more credits, please check out UnityOrbisBridge. If I've missed anyone, feel free to reach out.
For assistance, please leave an issue and/or join my community Discord server and I'll help you out.
This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.