Skip to content
anyplaynetPublic
forked from boykopovar/AnyPS5

About

AnyPlay's fork of AnyPS5 with the network bridge. Upstream: boykopovar/AnyPS5.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

 
 

Repository files navigation

AnyPS5, AnyPlay fork

This is AnyPlay's fork of boykopovar/AnyPS5, a compatibility layer that relinks PS5 executables into native Windows and Linux programs. It is not an emulator. The engine is the work of upstream and its authors. Get AnyPS5, report engine bugs and follow its development there.

The fork adds the network bridge and the nightly toolkit builds that the AnyPlay Launcher uses.

What the fork adds

  • Network bridge. A small layer inside the system libraries that hands a game's sign-in, session and web API calls to the AnyPlay net service on the same PC, so a game you own can play online with AnyPlay accounts. It is merged in the fork for:

    • sign-in state and identity;
    • NAT information;
    • web API requests and push events;
    • the online-permission check, answered for the AnyPlay network only;
    • peer-to-peer datagram and stream sockets through the net service.

    The bridge is off unless the launcher sets ANYPS5_NET_ENDPOINT and ANYPS5_NET_TOKEN for one game start. Without them every library behaves as in upstream. Session joins are not wired yet (debt). The wire format is the bridge protocol.

  • Observation mode. ANYPS5_NET_OBSERVE writes the network calls a game makes to a file, in the observation log format.

  • Nightly toolkit. Every push to main publishes the nightly release: relinker and system libraries for Windows and Linux, in the layout the launcher downloads or accepts as a toolkit folder. It is a pre-release, and each build replaces the last.

The bridge follows the line: no Sony servers, code or keys, and only games the player owns. The variables are listed in ENVIRONMENT; known gaps are in docs/dev/debt.

How the fork tracks upstream

A workflow keeps one open pull request, sync/upstream-<date>, that merges upstream main into the fork every day (and on demand). It lists the upstream changes and the files both sides changed, starts the Linux and Windows builds, and opens the pull request as a draft with the conflicting files when upstream does not merge cleanly. A person reads it, and then it is merged. Everything outside the bridge stays as upstream has it, which keeps those merges small. FORK lists every place the fork differs and why; a script checks it against upstream.

Contributing

  • Generic engine work (a library, a fix, a faster path) goes upstream as a pull request to boykopovar/AnyPS5. It reaches this fork with the next sync.
  • Bridge work goes here as a pull request. Follow AGENTS.md, CONTRIBUTING.md and the conventions. Commit subjects and PR titles are Conventional Commits.
  • Build: the fork's CI builds the C++ tree. The full Windows job has a 120-minute limit here.
  • Questions and ideas: the AnyPlay Discord.

English | Português (Brasil) | Español | 简体中文 | Русский

About

Tool for automatic executables porting to Linux and Windows.

The relinker-only build runs on macOS, including Apple silicon.

Web converter - files stay on your device.

anyps5_collage1

Includes a relinker that converts executable to the target system's native format and implementations of system prx libraries suitable for dynamic linking. No emulation or separate runtime process.

Discord, Usage, Build instructions, Architecture, Technical debt of the project, code style conventions, contributing

Status

libraries shaders

progress map

Progress history

* System libraries: percentage of the functions known to the project so far (declared in core/libs/prx), not of every PS5 system function. The total grows as more functions are declared.

Unsupported or unexpected states strictly throw std::runtime_error. what() is printed to stderr and the process terminates.

The shader recompiler successfully produces SPIR-V (validated via Spirv-Tools when built with ANYPS5_ENABLE_SPIRV_TOOLS).

Compatibility

Per-game status and test reports live in the Game bring-up discussions, one thread per title.

Input mapping

SDL-mapped game controllers are supported, including analog sticks and triggers. Keyboard and mouse controls can be configured with an anyps5-input.ini file. See input mapping for the supported devices and configuration format.

Disclaimer

This project is intended for interoperability, research, preservation, and compatibility purposes. It does not include, distribute, or require copyrighted software, firmware, cryptographic keys, or proprietary libraries. Users are responsible for ensuring that any binaries used with this project are obtained and used in accordance with applicable laws and their respective license terms.

AnyPS5 is an independent project and is not affiliated with, authorized or endorsed by Sony Interactive Entertainment. "PlayStation" and "PS5" are trademarks of Sony Interactive Entertainment Inc.

License

This project is licensed under the GNU General Public License version 2 only.

About

AnyPlay's fork of AnyPS5 with the network bridge. Upstream: boykopovar/AnyPS5.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages