Skip to content

(WIP) PRX plugin to re-enable connecting to Steam for the PS3

License

Notifications You must be signed in to change notification settings

InvoxiPlayGames/condenstation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NOT READY FOR GENERAL USE! BATTERIES NOT INCLUDED!

condenstation

A PRX plugin to re-enable connecting to Steam for the PS3.

This third-party project is not affiliated with nor endorsed by Valve Software.

!! IMPORTANT !!

  • This is very work-in-progress. It requires a lot of manual setup, no downloads are provided.
  • Only works with Portal 2 for now, and possibly forever.
  • I am not responsible for any damage to your Steam account, PSN account or PS3 for using this. You aren't breaking any Steam rules, nor are you cheating, so you should not get (VAC) banned, but I am not responsible if you do somehow.
  • PC Portal 2 co-op partners must be using the "demo_viewer" beta branch of Portal 2.
  • Team Fortress 2 (TF2) does not use Steam, and will NEVER be supported by this.

TODO (required for release)

  • Logging into Steam using a modern access token
  • Connecting to Steam without any external tools or PRX patches
  • Reading account details and CM address from a config file
    • Game-specific config file using the paths given to SteamAPI
  • Make binary version independent - no hardcoding addresses!
  • Using GetCMList API and patching the existing binary's CM list
  • Stubbing matchmaking (Portal 2 only)
    • Ideally we would figure out making it PS3/demo_viewer only, but that probably isn't possible.
  • Implementing on-console login
    • QR code login
      • Steam auth backend logic
      • QR code renderer
      • Steam Overlay hooks for displaying QR code
      • UI/UX for end user
    • Username/password + guard code login
      • Password RSA-4096 encryption
      • Steam Guard mobile prompt
      • Steam Guard email/mobile code
      • UI/UX for end user
    • Per-console encrypted token storage (THIS IS VERY IMPORTANT)

TODO (nice-to-haves, not required)

  • Neat blog on what all this does and why it is how it is
  • Functioning on RPCS3
  • Multiple accounts (1 per PS3 user)
  • Built in no-PSN patching (maybe Portal 2 only)
  • Fixing or stubbing Steam Cloud
    • Anything to get rid of the endless "Syncing" on the menu.
  • Upgrade netfilter to use newer authenticated encryption
    • Not required but would avoid future deprecation. be nice. It's unlikely legacy netfilter would be deprecated as they'd break any old game's dedicated server unless they asked admins to upgrade steamclient.
  • CS:GO - this will be hard!
    • Uses AppID 720. Nobody owns this, so all calls fail by default! :(
    • Trying to use another AppID leads to "Searching" forever, even in private lobbies. Could entirely rely on dedicated servers.
    • Needs a lot more research...

License

This isn't ready for the average person to use. This software is free software provided with absolutely no warranty under the terms of the GNU General Public License version 2, or later, at your choice. Read LICENSE.txt for more.

Thanks/credits

  • relt from "SourceSPMP" discovered Portal 2's ability to load native PRX addons without any game patches directly (video), as well as implemented the first re-implementation of crossplay (via direct IP connection, rather than Steam - meaning it will work forever!). Huge props.
  • SteamKit2 and SteamDB helped out a ton by having a documented history of the Steam3 communications protocol, as well as examples of how modern authentication and server communication is supposed to work. They've effectively documented almost every Steam3 protocol difference over the past 12+ years with their source code and commit history. Thanks!
  • vxzip was used to create the XZP2 files used by the console versions of the game.
  • nta helped me get my bearings around Protobufs, SteamClient and the Steam API. Thanks! :3

Third-Party Software

See "third_party_licenses" for full license text.

Note to Valve

If anyone at Valve has any concerns with this (security, backend stability, or otherwise) or has anything important they need to share, make an issue in the issue tracker if you're okay with being in public or send me an e-mail from a @valvesoftware.com address.

Also pls add AppID 720 to the global sub. Also pls respond to me on H1.

About

(WIP) PRX plugin to re-enable connecting to Steam for the PS3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages