gamevault-app icon indicating copy to clipboard operation
gamevault-app copied to clipboard

Playnite Integration

Open Alfagun74 opened this issue 1 year ago • 7 comments

Depends on https://github.com/Phalcode/gamevault-app/issues/144

What Playnite does is allow you to import games from various platforms like Uplay, Origin, Steam, and GOG. You can search, list, and launch these games from within Playnite. However, Playnite doesn't currently support adding games directly from a file server. Integrating GameVault with Playnite would enable this functionality. With a plugin, you would be able to list and launch downloaded games from your GameVault server in Playnite as well.

  • [x] Review it thoroughly to understand what it does.
  • [ ] Set up a Deployment Pipeline for Packaging it.
  • [ ] Publish it to https://github.com/JosefNemec/PlayniteAddonDatabase.

Alfagun74 avatar Jul 07 '23 20:07 Alfagun74

Should the Playnite Plugin connect to your GameVault Client Application or to your GameVault Server Backend? -> Both would make sense!

Alfagun74 avatar Jul 07 '23 20:07 Alfagun74

  • All games available on the GameVault Server are listed for installation on Playnite.
  • Clicking on "Install" in Playnite will open the GameVault Client App using a Protocol or CLI and initiate the game download.
  • Once the game is installed, you can launch it through Playnite. The launch process follows this sequence: Playnite -> GameVault App (runs in the background) -> Game. This allows for accurate time tracking and other functionalities.

Alfagun74 avatar Jul 07 '23 20:07 Alfagun74

https://github.com/Phalcode/gamevault-app would benefit from implementing a protocol to streamline the process of installing and launching games.

For instance, Steam uses the protocol "steam://launch/620/Dialog" to launch a specific game. In the case of GameVault, a similar protocol could be implemented as "gamevault://launch/id" for launching a game and "gamevault://install/id" for installing a game.

To support multiple servers, an extended protocol could be used, such as "gamevault://server/id/launch/id" for launching a game from a specific server and "gamevault://server/id/install/id" for installing a game from a specific server.

Alfagun74 avatar Jul 07 '23 20:07 Alfagun74

Extensions have to be written in C# (Perfect for @Yelo420 actually):

https://api.playnite.link/docs/tutorials/extensions/intro.html

Alfagun74 avatar Jul 12 '23 05:07 Alfagun74

Bumping - would love this feature! Would even be able to implement it myself if there was a URL schema to launch GameVault games

jnortell avatar Dec 23 '23 02:12 jnortell

URL schema & Named Pipe integration added in https://github.com/Phalcode/gamevault-app/pull/360 if it gets pulled

Zallist avatar Mar 08 '24 16:03 Zallist

Side Note: The playnite extension itself will be free, but the APIs it uses to communicate with (https://github.com/Phalcode/gamevault-app/issues/144) GameVault will be exclusive to GameVault+.

Alfagun74 avatar Mar 12 '24 00:03 Alfagun74

Opened PR to publish this extension finally.

https://github.com/JosefNemec/PlayniteAddonDatabase/pull/386

Alfagun74 avatar Oct 30 '24 16:10 Alfagun74