jeshibu / playniteextensions Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
This is the file playnite generated on the crash
Attempting to download the game size for a game from the Epic library fails with an error.
I found this error while trying to download the size for "Homeworld Remastered Collection." I was also able to reliably replicate it with games from other libraries:
A lot of itch bundles have games that are free, while I like having all of my games from bundles in playnite so I know which games I own if the game is free I would rather be able to decide which ones I want in my library. The ability to add a tag to what games in the bundle are free would be really useful so they could be sorted properly
Is it possible to specify a platform to the Launchbox metadata plugin?
I want to download metadata (in bulk mode) only for a specific platform (ex: Commodore Amiga)
Hi,
does the MobyGames Metadata Import extension consider the platform on importing release dates?
Some games have a long list of different release dates, depending on the platform, often there IBM-PC ports got later on it than the original release, but the extension does import the most old date regardless of platform.
Perhaps this should be an toggleable option if it should just get the oldest date or the correct one.
Sample games:
https://www.mobygames.com/game/50/zork-the-great-underground-empire/ (released on the PDP-10 in 1980, but on IBM-PC 1984)
https://www.mobygames.com/game/12111/ultima-i/ (released on Apple II in 1986, IBM-PC 1986 or 1987)
https://www.mobygames.com/game/1823/california-games/ (original release in 1987, IBM-PC release 1988)
Playnite 9.19
Steam Tags Importer 3.2
I had wondered about the plugin running on my one device but not the other. Now I found the setting that causes the problem: when I set 'tag language' to 'English' or 'don't specify', the extension crashes as seen in the screenshot. If I set it to German (my native language), I get the tags.
But I would like to have them in English to avoid confusion of the different sources.
Hi,
Very useful extension for a terrible launcher. Thanks for your effort.
Game is installed in LL, but I get the image error (enclosed). I have attached relevant log for your convenience.
Thanks
I keep my wishlisted games within Playnite by using the Completion field to store a "Wishlist" value. It would be really nice to be able to sync the Wishlist to/from RAWG, since your addon syncs other categories, and RAWG offers Wishlist as a categorization. Is this possible?
Currently the plugin doesn't implement rate limiting doesn't have the 360 requests per hour constraint, which results in requests failing after a certain number of searches. After downloading metadata for a lot of games, I noticed that most of them had obtained only partial metadata and when looking at the logs I found this:
...
05-09 16:35:20.283|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/search/?q=A+Building+Full+of+Cats&page=0&type=game completed in 00:00:00.5197662
05-09 16:35:20.283|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/search/?q=%2Fg%20A%20Building%20Full%20of%20Cats&type=game completed in 00:00:00.7714210
05-09 16:35:21.951|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/game/194394/a-building-full-of-cats/ completed in 00:00:00.9782239
05-09 16:35:21.951|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/game/194394/ completed in 00:00:01.5607065
05-09 16:35:21.953|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/game/194394 completed in 00:00:01.6636328
05-09 16:35:21.953|DEBUG|MobyGamesMetadata#MobyGamesMetadata:Get games/194394
05-09 16:35:22.139|DEBUG|MobyGamesMetadata#MobyGamesMetadata:Response code 429
05-09 16:35:22.452|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/search/?q=Grotto&page=0&type=game completed in 00:00:00.1881049
05-09 16:35:22.455|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/search/?q=%2Fg%20Grotto&type=game completed in 00:00:00.2957155
05-09 16:35:23.397|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/game/174314/grotto/ completed in 00:00:00.5855795
05-09 16:35:23.397|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/game/174314/ completed in 00:00:00.7797591
05-09 16:35:23.397|INFO |MobyGamesMetadata#WebDownloader:Call to https://www.mobygames.com/game/174314 completed in 00:00:00.9224531
05-09 16:35:23.397|DEBUG|MobyGamesMetadata#MobyGamesMetadata:Get games/174314
05-09 16:35:23.519|DEBUG|MobyGamesMetadata#MobyGamesMetadata:Response code 429
...
MobyGames indicates the following limits:
As a suggestion I recommend using this library and using a composed limiter: https://github.com/David-Desmaisons/RateLimiter#composed
An example of a simple implementation in a Playnite metadata plugin is available here: https://github.com/darklinkpower/PlayniteExtensionsCollection/blob/b1c9cfe4a4cbed4aa6581edda058ef7f77b099d3/source/Metadata/MetacriticMetadata/Services/MetacriticService.cs#L23-L57
Update: Created PR with missing API constraint in #42
Make it so that imported tags are linked to saved Steam tag data, so that renames can persist, and so that tags can be renamed when switching languages (maybe).
If a user prefers to only tag the bundles they own, they need to keep deleting the unwanted ones in library manager. It would be helpful to be able to disable them in the extension options, perhaps with a checkbox for each bundle.
As the bundles aren't done too often, hopefully this wouldn't be too much time to maintain.
Thanks.
Can't import the GiantBomb "Genre" metadata into playnite "Genres" field.
Game size calculation could not find part of the path for a game jolt game....even though it was clearly downloaded on my ssd in my laptop
Hey Hi. I'm adding only GoG games into Playnite. I notice a lot of games are not found.
Going a little deeper, I see that the games that are not found are games that are not in the GoG store Baldur's Gate: The Original Saga however it was superseded by Baldur's Gate: Enhanced Edition. I'm interested to add "Baldur's Gate: The Original Saga" not the "Enhanced Edition", if you notice from the GoGDB site in the detail tab, you have the cover and the information need it to add it in the library, which use the GoG API, but the add-ons can't find it.
Another problem I notice are games that the product type is "Package" and not "Game" aren't found either, look for instance Fallout or Pillars of Eternity: Definitive Edition
There is a workaround to fix this? beside adding the information manually. thank you
Was wondering if it's at all possible to implement Rawg's Rating bar, so that it would show up when a game is selected, allowing us to rate from there or see the ratings (including if the user already rated it)
At the moment the batch functionality to add groups/genres always tries to download data for all games in the library. I'd rather be able to apply the bulk updates only to selected or filtered games, because I don't really need those tags for all my games, but only the ones I plan to play. That would reduce unnecessary traffic and loading times.
Hello!
I have the latest version of the Legacy Games client (1.7.3) and the client won't populate apps in Playnite. I've downloaded a couple. Originally there was no "downloads" section of the user - profile segment of the app.state.json file. Now there is, but it isn't populated. ("No items found" in the title listing pane.)
Once the downloads section was added, Playnite stopped throwing an error, but now it simply won't populate, because there are no records in the file. Any thoughts on this would be greatly appreciated. Thanks!
Update: Oddly, the "downloads" element of the profile section does get removed from the json file from time to time just by clicking around the app, it seems. Refreshing the app seems to restore it, but it won't populate at all.
Getting this error:
Failed to get Legacy Games games: Value cannot be null. Parameter name: source
Legacy games launcher is installed and I am logged in.
Since there was an update to the Launchbox database, the add-on doesn't work anymore, throwing a Failed to download metadata: Object reference not set to an instance of an object error
when trying to download a game metadata.
Recently, my Legacy Games library titles are no longer being detected. I tried uninstalling and reinstalling the Legacy launch -and- your plugin, but I keep getting this error when I try to refresh my Legacy library in Playnite:
Failed to get Legacy Games games: Object reference not set to an instance of an object.
I've made sure to install at least one title.
Currently, PathReplacer doesn't edit the file paths of the actions located under the Actions tab. Would this be a difficult feature to add to the extension?
Is it possible to have the RAWG library/plugin only import game titles that are not already in Playnite library?
Is it also possible for RAWG library to update the data for example the "user score" or "completion status" for pre-existing games from other sources like Steam for example if the game entry exists in Playnite library?
Great job on the plugin/library for it, really enjoying it though if the above is possible would be even better.
I have Alien Isolation in Steam. Instead of Steam cover(without any overlay), I want PS3 or PS4 cover for the game (cover with Playstation 3/Playstation 4 overlay).
For this:
Unfortunately, the cover that I get is Alien Isolation cover without Playstation 3/Playstation 4 overlay.
I checked in Launchbox games db, I can see Alien Isolation have Playstation 3/Playstation 4 cover. Why does Launchbox does not get the Playstation 3/Playstation 4 cover for this game? This does not happen for all games. Certain games Im able to get Playstation 3/Playstation 4 cover, while certain game I cant.
Bug Description
Checked Steelrising's size within Playnite and it's being reported as around 15GB, but when checking it within Steam's local files itself it's being reported as 67GB. Spoke to Jeshibu and he asked me to raise it as he was also experiencing the same issue
To Reproduce
Get the size for Steelrising, it won't match the size from Steam
Hey again, I was thinking about what other data might be available via the API from RAWG. Do you know if any of these could be integrate-able?
Collections. You've already integrated syncing FROM collections, is it possible to sync TO them (Playnite into RAWG) as well? This could simply be a right-click menu option. Collections could be refreshed from the addons settings, as it is already offered.
The "# Top YEAR" which shows at the top of a game listing. e.g. "#216 Top 2019" could be synced to Playnite as "2019 #216" which could allow it to be sortable within Playnite views.
Scenarios:
Given that Playnite doesn't (yet, I hope in the future) offer custom fields, perhaps it's possible to sync one or all of these into the Categories field, or Tags, or another of the user's choice.
Just thinking out loud here, if these aren't available in the RAWG API then that's a bummer but understandable.
It seems that rawg has a comprehensive database of very obscure itch.io titles, and provides a suggested age rating for them as well.
Most metadata sources omit the age rating, this would cover a big gap!
Thanks
It might be handy to be able to explicitly differentiate which tags have been added from the Steam Store, in the Library Manager as well as while filtering.
A much simpler implementation might also be applied to the itch.io Bundle Tagger.
In the screenshot of the options here, the Hint text about the included/excluded tags could be moved to the bottom, or hidden in a mouseover info symbol as seen in other settings pages - that line could then be occupied by a checkbox and "Add prefix tag to added tags:" and the option to set the text of the prefix - user's choice, whether it be [Steam] or just [!] to filter those to the top of the list.
[See below the shot for my 'future' suggestion]
ALSO (this only applies to the Steam Tags Importer, and it may be a bridge too far, so just the above is my major request, but this may be for the future if it's possible)
If there is a way for the plugin to determine the order in which the tags are imported for each game, different prefixes might be applied for each "rank" of tag, with a user-definable range per rank (up to three ranks to keep it from being too chaotic :) )
Possibly - using my example of 10 tags -
If the plugin architecture doesn't allow for this level of detail (if it's internally just a simple list after all the tags are imported), that's totally okay. Just my first section, then :)
All connections to the https://marketplace.xbox.com/en-us/Search
are closed by the remote. The URLs generated still work in a browser. Connections likely need a user-agent set.
15-07 18:18:50.704|INFO |XboxMetadata#WebDownloader:Call to https://www.microsoft.com/msstoreapiprod/api/autosuggest?market=en-us&clientId=00000000-0000-0000-0000-000000000000&sources=Microsoft-Terms,Iris-Products,DCatAll-Products&filter=+ClientType:StoreWeb&counts=5,1,5&query=Halo%204 completed in 00:00:00.0231117
15-07 18:18:52.825|INFO |XboxMetadata#WebDownloader:Call to https://marketplace.xbox.com/en-us/Search?query=Halo%204&DownloadType=Game completed in 00:00:02.1431182
15-07 18:18:55.005|ERROR|XboxMetadata#XboxMetadata:Error fetching Xbox data
System.IO.IOException: Unable to read data from the transport connection: The connection was closed.
at System.Net.ConnectStream.EndRead(IAsyncResult asyncResult)
at System.IO.Stream.<>c.<BeginEndReadAsync>b__43_1(Stream stream, IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory`1.FromAsyncTrimPromise`1.Complete(TInstance thisRef, Func`3 endMethod, IAsyncResult asyncResult, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.IO.StreamReader.<ReadBufferAsync>d__97.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.IO.StreamReader.<ReadToEndAsyncInternal>d__62.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at PlayniteExtensions.Common.WebDownloader.<DownloadStringAsync>d__17.MoveNext() in D:\a\PlayniteExtensions\PlayniteExtensions\source\PlayniteExtensions.Common\WebDownloader.cs:line 131
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at PlayniteExtensions.Common.WebDownloader.<DownloadStringAsync>d__16.MoveNext() in D:\a\PlayniteExtensions\PlayniteExtensions\source\PlayniteExtensions.Common\WebDownloader.cs:line 66
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at XboxMetadata.Scrapers.XboxOneScraper.<GetDetailsAsync>d__7.MoveNext() in D:\a\PlayniteExtensions\PlayniteExtensions\source\XboxMetadata\Scrapers\XboxOneScraper.cs:line 25
For games released only in Japan, it fails to download any Cover Image at all. I believe it also doesn't download Fan Art (or Screenshots? I'm not sure when/if it does this in general) for Background Images.
I can't seem to find any information anywhere of how to sync into RAWG other than the storefronts they offer directly. Do you think this would be possible by any measure?
Hello,
A couple of days ago the xbox metadata plugin does not return anything in the searches. It only sometimes returns Xbox 360 games nothing else.
I am attaching the log, since it performs the search correctly, but on the web it says that it has not found anything.
12-08 16:08:06.702|INFO |XboxMetadata#WebDownloader:Call to https://marketplace.xbox.com/en-US/Search?query=A%20Short%20Hike&DownloadType=Game completed in 00:00:02.5193322 12-08 16:08:14.822|INFO |XboxMetadata#WebDownloader:Call to https://www.microsoft.com/msstoreapiprod/api/autosuggest?market=en-US&sources=xSearch-Products&filter=+ClientType:StoreWeb&counts=20&query=A%20Short%20Hike completed in 00:00:10.6399418 12-08 16:11:22.315|DEBUG|NewsViewer#ProcessStarter:Opening URL: https://steamdb.info/app/1055540/graphs/ 12-08 16:17:11.127|DEBUG|Extras#Extras:Pushed "Vista detallada - A Plague Tale: Innocence" 12-08 16:17:11.629|DEBUG|NewsViewer#Downloader:Downloading string from https://store.steampowered.com/feeds/news/app/752590/l=spanish with method GET 12-08 16:17:11.629|DEBUG|NewsViewer#Downloader:Downloading string from https://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1/?appid=752590 with method GET 12-08 16:17:12.669|DEBUG|Extras#Extras:Pushed "Vista detallada - A Plague Tale: Requiem" 12-08 16:17:18.153|INFO |XboxMetadata#WebDownloader:Call to https://marketplace.xbox.com/en-US/Search?query=A%20Plague%20Tale%3A%20Requiem&DownloadType=Game completed in 00:00:02.3211963 12-08 16:17:26.472|INFO |XboxMetadata#WebDownloader:Call to https://www.microsoft.com/msstoreapiprod/api/autosuggest?market=en-US&sources=xSearch-Products&filter=+ClientType:StoreWeb&counts=20&query=A%20Plague%20Tale%20Requiem completed in 00:00:10.6403729 12-08 16:17:30.585|DEBUG|Extras#Extras:Pushed "Vista detallada - Age of Empires III: Definitive Edition" 12-08 16:17:33.470|INFO |XboxMetadata#WebDownloader:Call to https://www.microsoft.com/msstoreapiprod/api/autosuggest?market=en-US&sources=xSearch-Products&filter=+ClientType:StoreWeb&counts=20&query=Age%20of%20Empires%20III%20Definitive%20Edition completed in 00:00:00.1767513 12-08 16:17:33.730|INFO |XboxMetadata#WebDownloader:Call to https://marketplace.xbox.com/en-US/Search?query=Age%20of%20Empires%20III%3A%20Definitive%20Edition&DownloadType=Game completed in 00:00:00.4368708 12-08 16:17:41.739|INFO |XboxMetadata#WebDownloader:Call to https://marketplace.xbox.com/en-US/Search?query=Age%20of%20Empires%3A%20Definitive%20Edition&DownloadType=Game completed in 00:00:02.1146105
If Playnite doesn't natively support for such a attribute, can we atleast somehow import this number as a different unused attribute such as "Tag" or "User Score" for example or just anything, so we can sort or filter out the games based on the "Community Rating Count"?
After automatic batch metadata download, I noticed that the obtained metadata of some games was incorrect. From using manual metadata download I noticed that even picking the correct game in the game selection dialog downloads the data from another game, for example:
Game: 64.0
The selection dialog correctly points to this entry on MobyGames: https://www.mobygames.com/game/86550/640/
But upon selecting and metadata downloading it shows that if obtained metadata from the game Carmageddon: Splat Pack: https://www.mobygames.com/game/640/carmageddon-splat-pack/
Ok I have ran some tests from our previous ticket, and am still having an issue with Wishlist items from RAWG importing to Playnite. I've recorded a video demonstrating my steps and the result. Github wont allow direct uploading, so I've uploaded to Imgur:
Notes: The video shows Honkai as an example game, which I have never added to RAWG prior, nor added to Playnite library. The Playnite filters are all clear except for the Library field being set to RAWG.
1: Import
user_game.platforms
for games to import2: Sync
/api/platforms
locally to refer tohttps://rawg.io/api/users/current/games/[id]
in platforms
as an int array3: Metadata?
user_game.platforms
for games' metadata?As the title says, I'd like to have the option to leave out the "groups" tags altogether, because they don't really fit the other more organized tags. I'd rather add them manually through the bulk function.
Use play action controller instead
Any time the Playnite client restarts, it will pops up 2 error notifications regarding the Groupees plugin:
"Failed to import games from Groupees.
Delegate to an instance method cannot have null 'this'."
and
"Error fetching Groupees games: User not authenticated"
Currently, if an icon from Launchbox isn't perfectly square, it won't line up with other square icons in Details View and the game title will either be pulled left or pushed right.
Would it be possible for the extension to vertically compress too-wide icons and horizontally compress too-tall icons, then align/center the result so the game title stays in line with others?
I'm trying to download box art for my N64 games and SNES games, but only a fraction of the available artworks end up in the search results.
is the "Region" selector borked?
For example, my N64 games only receive Japanese box art.
While attempting to calculate for non-installed games, the Calculator will sometimes prematurely end on random titles.
Re-attempting to calculate will consistently end in the same manner for the same game.
Logs have no mention of any exception handling or indications of failure.
One example that consistently failed was the steam version of Amnesia: Rebirth.
The LaunchBox extension silently fails to import the icons for certain games. I think it has to do with certain characters being in the title, such as '&', since the games that are failing are the Mario & Luigi games, as well as Puzzle & Dragons Z.
I just tested the new version 0.2 feature to Sync to RAWG. It seems to work great! However, I've noticed that if any game(s) have a null value within the Completion field (i.e. blank field), the addon skips that game during sync. Unfortunately, there is no way to know this happened, as the addon doesn't notify the user that any games were skipped after syncing is done (another good idea to implement).
I propose adding an entry in the Mapping to RAWG settings tab, to offer "None" to be mapped to the user's choice. I.e. if the game has nothing set in the field for Completion, it can still be mapped to perhaps "Not Played" within RAWG due to this added feature.
Hopefully you can see the value of this, especially in a library as large as mine (1300+ games) it would be insurmountably tedious to manually review each game's completion status before syncing it to RAWG. Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.