Skip to content

Latest commit

 

History

History
222 lines (179 loc) · 10.5 KB

README.md

File metadata and controls

222 lines (179 loc) · 10.5 KB

FPKGi GitHub Tag - A Server-Based PS4 Content Installer

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.

Setup Instructions

Download the Latest Version:

Install the Package:

  • Choose your preferred method to install the package on your console.
  • Alternatively, you can install directly from LightningMods' Homebrew Store.

Populate Content

Launch the application to automatically create the necessary directories and .json files in the /data/FPKGi/ folder.

Populate Content Locally

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.

Example .json structure:

{
    "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.

Populate Content Via Web

To enable web population, edit the config.json file located at /data/FPKGi and enable it in the menu.

Locate and edit the following section:

    "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:

    "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 X to select or download content.
  • Page & Category Navigation:
    • L1/R1: Changes pages.
    • L2/R2: Changes category.
  • View Details: Press square to view detailed information about the selected content.

Settings Menu

  • Press triangle to open settings.
  • Save/Cancel:
    • Press triangle to save current settings changes.
    • Press circle 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.
  • 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

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:
    "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/"

How to Build

Prerequisites
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 to the SDK.
    • Download and install the .NET 4.6 Developer Pack.
  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.

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, 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.

Special Thanks

A huge thank you to the following members of the OOSDK Discord for their support:

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.

License

This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.