PS3 [RELEASE] Surface Support Frontend (SSF)

JumpSuit

Member
upload_2025-3-16_19-56-39.png

PlayStation Home - Surface Support Frontend or (SSF)
The name was quickly put together, but ironically works well for the intentions I have in mind for it, some parts are ported from a proof of concept project to reimplement the PlayStation Home Content Delivery System backend 3rd party, QA, and first party Sony developers used to submit new objects or scenes for PlayStation Home, but that's for another time... Here these tools came out of the need to manage specific files, in this case the entry point for later game clients that support it - the TSS (Title Small Storage) file. This file is the first server-side file requested that sets in stone the rest of how the game client will handle connecting to PlayStation Home online.

What are Data Captures you might ask? They are simply put, arbitrary event logs the game will first write to the hard drive in the USRDIR folder of the game, then either upon scene exit or after load, determined by TSS option, will it upload to the dataloaderweb queue service.

Feature Set

Title Small Storage (TSS) Config Editor
upload_2025-3-16_20-6-51.png


upload_2025-3-16_20-7-23.png

upload_2025-3-16_20-7-43.png

Presenting, the TSS Config Editor after some research within the PlayStation Home HDK 1.82 Debug Symbols, I've broken down the TSS parser functions for each part of the file, one of the recent discoveries is the support of HTTP Compression for varies parts of Home CDN files, even SSFW SaveData services!

Configuration options allow for enabling maintenance mode, adding SceneRedirects re-pathing scene names to different ones on the surface, region type, localization settings, specifying the AdminObjectId for admin library features, disabling bar support via our Knight mode, and another big discovery Globals for enabling or disabling some features, this is the list of all types:


VoiceCommsMode = 0,
PictureFrameFileTransfers = 1,
TUSWriteDisable = 2,
TUSReadDisable = 3,
TrophyAPIDisable = 4,
ClansAPIDisable = 5,
ScoreRankingAPIDisable = 6,
LoadBeforeSpawnEnable = 7,
ClientCameraItemEnable = 8,
PSPLusExtrasAvailable = 9,
GhostOnMergeGlitch = 10,
PublicInstanceMethod = 11,
PlayersMetListPrivateTextSend = 12,
PlayersMetListPrivateTextReceive = 13,
PlayersMetListPrivateVoiceAccept = 14,
PlayersMetListGroup = 15,
PlayersMetListGameLaunch = 16,
PlayersMetListAvatarInteraction = 17,
PlayersMetListPortableInteraction = 18,
PlayersMetListChatLog = 19,
PlayersMetListDeveloper = 20,
PresenceInfo = 21,
UseOldApartmentMechanism = 22,
DisableAllClubFeatures = 23,
DisableCrossRegionGroupFeatures = 24,
ProtocolOverride = 25


A lof of these are fascinating, and shed light on what Sony themselves controlled as some parts of the PSN APIs in the game could be disabled outright, or how you met players via some interactions, or more!

One of the important ones, is the SSFW endpoints themselves for the SaveData, Avatar, Apartment Layout, Club, and Scripted Save Data from minigames to be "cloud-saved", ahead of its time and we can even code more services for our own custom content!

Upon Selecting what region you desire, and if you want "Retail XML" enabled, it will create each xml file with the settings you put, originally from a template TSS file original from Sony, courtesy of SpookySniper for the dumps.


Data Capture Analysis
upload_2025-3-16_20-21-46.png

This was designed first, and is a crude but operational attempt to parse data capture logs from the service by players, and can primarily aid in determining SHA1 security hash mismatches for scene descriptions, object descriptions, scene archives, and scene archives. Even able to detect player errors upon Sign In to PlayStation Home and assist in troubleshooting!
Each event sent can be anything, and is enough to know what player it is from, and track errors to specific scenes.
This is a list of known event types from the debug symbols:

SessionStart = 1001, // 0x3E9
EnterScene = 11000, // 0x2AF8
ChangeClothing = 20101, // 0x4E85
ChangeAppearance = 20201, // 0x4EE9
AddPurchase = 30101, // 0x7595
AddReward = 30102, // 0x7596
ObjectPlace = 30201, // 0x75F9
ObjectUse = 40101, // 0x9CA5
ScreenZoom = 40201, // 0x9D09
ScreenLink = 40202, // 0x9D0A
WorldChat = 40301, // 0x9D6D
Dance = 41001, // 0xA029
CreateClan = 50101, // 0xC3B5
JoinClan = 50102, // 0xC3B6
LeaveClan = 50103, // 0xC3B7
ExpelledFromClan = 50104, // 0xC3B8
DisbandClan = 50105, // 0xC3B9
NetworkError = 61881, // 0xF1B9
SecurityErrorSignIn = 990000, // 0xF1B30
SecurityErrorObjectDefinition = 990001, // 0xF1B31
SecurityErrorObjectDescription = 990002, // 0xF1B32
SecurityErrorSceneArchive = 990003, // 0xF1B33
SecurityErrorSceneDescription = 990004, // 0xF1B34
OnNetworkError = 990099, // 0xF1B93


Most haven't been observed, but some have particularly the hash mismatch ones for SecurityErrors, as the game will spam the log with them. This is a hidden service not known about much at all until recently internally by me and helps server administrators maintain parts of the CDN contents.

MOTD Editor
Message of the Day editor, designed to save changes to the UserType, Territory, and Region Locale Code for read upon startup or MenuScreen Nav.
MOTDEditor.png


STATUS:
After some more additional features, and bugfixes this is considered RELEASED.
Functionality should be there though but not fully guaranteed while this is still maintained.

RELEASE


How to Install?
- Simply navigate to the github.
- Go to releases and download the binary, OR compile from source.
 
Last edited:
Back
Top