Kapiainen / Lauhdutin

A Rainmeter skin for launching games.
MIT License
67 stars 8 forks source link

Game's won't load #120

Closed sassanix closed 6 years ago

sassanix commented 6 years ago

Short description of the issue

After installing python and following the instructions I set my steam game patch, it finds my steam account and I select parse community.

My steam account is set to public

Lauhdutin version

3.0 Beta 11

Rainmeter version

4.2.0 beta r3029 64-bit (Feb 8 2018)

Path: C:\Program Files\Rainmeter\ IniFile: C:\Users\sassa\AppData\Roaming\Rainmeter\Rainmeter.ini SkinPath: C:\Users\sassa\Documents\Rainmeter\Skins\

Python version

3.6.5

Windows version

Windows 10 Pro 64-bit (build 16299)

Error messages

Error: utility.lua:476: "parseVDF" encountered unexpected inpt on line 1:

Steps to reproduce the issue

After saving the game path and it says Detecting games and then the error comes up.

Python stack traceback

Not sure how to do this one.

Would appreciate any help as I'd really like to set this up for my PC.

Kapiainen commented 6 years ago

There's an option to turn on logging at the bottom of the first page of settings. Could you enable that and try again? The skin will print a bunch of information into Rainmeter's log and should help to track down the issue. It sounds like there is an issue with the appmanifest of a Steam game. There should be a message in the log saying Processing Steam game: appmanifest_N.acf, which would point out the cause, just prior to the error.

EDIT: If my hunch is correct, then could you open the file with e.g. Notepad and see if it is empty?

sassanix commented 6 years ago

I enabled the log in the settings went to where Rainmeter is installed and I don't see any log files there.

I also noticed the Error has changed to this now

library.lua:127:attempt to get length of local 'games' (a nil value)

Removed the skin and put it back in and enabled logging and got the same error as I had previously mentioned.

Here are the logs

NOTE (20:56:10.699) Lauhdutin.-.3.0.0.beta.11\Main.ini: Refreshing skin DBUG (20:56:10.738) : Initializing skin DBUG (20:56:10.744) : Loading translation file DBUG (20:56:10.752) : Initializing DBUG (20:56:10.763) : Detecting games DBUG (20:56:10.775) : Num platforms: 4 DBUG (20:56:10.780) : Registering platform processes DBUG (20:56:10.785) : - 2 = Steam.exe DBUG (20:56:10.789) : Windows shortcut = false DBUG (20:56:10.794) : Steam = true DBUG (20:56:10.799) : Blizzard Battle.net = false DBUG (20:56:10.804) : GOG Galaxy = false DBUG (20:56:10.809) : Detecting Steam games DBUG (20:56:10.814) : Starting to detect Steam games DBUG (20:56:10.818) : Getting Steam libraries from libraryfolders.vdf DBUG (20:56:11.868) : Dumped list of Steam appmanifests DBUG (20:56:11.874) : Parsing localconfig.vdf DBUG (20:56:11.896) : Parsing sharedconfig.vdf DBUG (20:56:12.950) : Dumped list of Steam appmanifests DBUG (20:56:12.956) : Processing Steam game: appmanifest_12140.acf DBUG (20:56:12.961) : Processing Steam game: appmanifest_200510.acf DBUG (20:56:12.967) : Processing Steam game: appmanifest_203250.acf DBUG (20:56:12.972) : Processing Steam game: appmanifest_206440.acf DBUG (20:56:12.977) : Could not find the Steam game 206440 in localConfig DBUG (20:56:12.982) : Processing Steam game: appmanifest_227000.acf DBUG (20:56:12.987) : Could not find the Steam game 227000 in localConfig DBUG (20:56:12.992) : Processing Steam game: appmanifest_234140.acf DBUG (20:56:12.997) : Processing Steam game: appmanifest_252950.acf DBUG (20:56:13.002) : Could not find the Steam game 252950 in sharedConfig DBUG (20:56:13.007) : Processing Steam game: appmanifest_255710.acf ERRO (20:56:13.012) Lauhdutin.-.3.0.0.beta.11\Main.ini: Error: utility.lua:476: ''parseVDF'' encountered unexpected input on line 1:

Kapiainen commented 6 years ago

It looks like appmanifest_255710.acf, which belongs to Cities: Skylines, is causing the issue as it is the last game that is mentioned prior to the error. Do you have that game installed at the moment? If you do not have it currently installed, then you can just delete the file. You should be able to find the file in \Steam\steamapps\, which could be where you have Steam installed or where you have additional Steam libraries (e.g. on another hard drive). If you do have the game installed, then you could try moving the file to another folder and then force Steam to generate a new one by reinstalling the game (Steam should see that all of the game files still exist and not download anything).

This is not the first time that this issue has been reported, but I haven't gotten a clear answer as to why it happens. For example, in this other instance they were able to fix the issue by deleting the appmanifests that were causing issues.

sassanix commented 6 years ago

I uninstalled the games and re-run the Lauhdutin again but this time I only get this error:

NOTE (08:35:38.299) Lauhdutin.-.3.0.0.beta.11\Main.ini: Refreshing skin ERRO (08:35:40.469) Lauhdutin.-.3.0.0.beta.11\Main.ini: Error: utility.lua:476: ''parseVDF'' encountered unexpected input on line 1:

Doesn't show anymore appmanifest or anything. I'm at a loss on what I did wrong,

Kapiainen commented 6 years ago

Looks like you have logging disabled.

sassanix commented 6 years ago

That's weird it says enabled, the only thing I can do is disable it. And even if I disable and enable it it only shows me that in the logs that I previously posted.

sassanix commented 6 years ago

I decided to delete all the appmanifest files and reload the skin and right now banners are downloading, I'd have to go and reload every game through steam a bit tedious but it seems to work.

Also I had steam installed on another hard drive so maybe that might have been causing problems since I had duplicate copies of my games installed on both folders.

sassanix commented 6 years ago

So it worked and then I tried to change the orientation and the animation of the launcher and it gave me this error

ERRO (20:09:10.074) Lauhdutin.-.3.0.0.beta.11\Main.ini: Error: init.lua:401: attempt to index field 'LIBRARY' (a nil value)
NOTE (20:09:11.051) Lauhdutin.-.3.0.0.beta.11\Main.ini: Refreshing skin
DBUG (20:09:11.074) : Initializing skin
DBUG (20:09:11.083) : Loading translation file
DBUG (20:09:11.095) : Initializing
ERRO (20:09:11.819) Lauhdutin.-.3.0.0.beta.11\Main.ini: Error: library.lua:127: attempt to get length of local 'games' (a nil value)
sassanix commented 6 years ago

I went in and kept the cache folder and re-installed it and it detected it all fine, but every time I go to settings to change how it looks it does this.

Kapiainen commented 6 years ago

This is indeed weird.

I just uploaded a new release, which should address the two main things that you have experienced:

1) The skin now skips the game and writes a message to the log whenever it fails to parse an appmanifest. So the skin can continue rather than halt everything that it is doing.

2) For some reason your copy of games.json seems to have become malformed, but I've now added a line that should deal with the issue.

sassanix commented 6 years ago

I have another issue maybe I'm just not looking at the right places

I can't get my GOG galaxy's only game to show up and I've noticed that I can't search for the games that aren't installed either.

I thought I could search all my library. It has downloaded more than 800+ banners but I'm only able to see the games that have been installed on my steam library.

Has this feature been removed? Install Steam games that are not currently installed.

Thanks again.

Kapiainen commented 6 years ago

I can't get my GOG galaxy's only game to show up and I've noticed that I can't search for the games that aren't installed either.

Only GOG Galaxy games that are currently installed can be shown. The local files that the skin processes contain information about every game available via GOG Galaxy (regardless of the account) and the ones that have been installed on the computer. The complete list of an account's games are not stored in local files and the skin actually does not at any point know or care about the account(s) used for GOG Galaxy.

I thought I could search all my library. It has downloaded more than 800+ banners but I'm only able to see the games that have been installed on my steam library.

Has this feature been removed? Install Steam games that are not currently installed.

You need to go to the skin's toolbar, left-click on the filter button (right-most icon), and select the Is not installed filter to show all of the detected games that are not currently installed. If you then want to apply more filters to that set of games or search among them, then you have to middle-click the icons in the toolbar.

While typing this reply I noticed that there are at least two bugs related to installing Steam games via the skin when you happen to be using the settings that I'm currently using. I'll fix those as soon as possible.

Kapiainen commented 6 years ago

A new release is available. Remember that you can copy over the \Lauhdutin\@Resources\cache folder to keep the banners you have already downloaded so that you don't need to download them all over again.

sassanix commented 6 years ago

I did that, I pointed it to my GOG client folder and then I got this error

DBUG (20:01:09.401) : Starting to detect GOG Galaxy games ERRO (20:01:09.406) Lauhdutin.-.3.0.0.beta.13\Main.ini: Error: init.lua:34: SQLite3 CLI tool is missing. Expected the path to be ''C:\Users\sassa\Documents\Rainmeter\Skins\Lauhdutin.-.3.0.0.beta.13\@Resources\sqlite3.exe''.

So steam games work but GOG doesn't work with that error.

Kapiainen commented 6 years ago

That's because you need to download the sqlite3 executable (download from this page, look for the release starting with sqlite-tools-win32-x86-) as described in the readme for version 3.0.0, which is not the same as the readme that you see by default when you navigate to this repository. The executable is then placed where the error message said the skin expected to find it, which in your case would mean that you need to place the executable in C:\Users\sassa\Documents\Rainmeter\Skins\Lauhdutin.-.3.0.0.beta.13\@Resources\.

sassanix commented 6 years ago

Thank you that worked!

But not sure if Blizzard I have to do something special, I have pointed to where my installation folder is but nothing is showing up. No errors whatsoever.

Here is the log for it, even though I have destiny installed it says that

DBUG (22:18:40.821) : Detecting Blizzard Battle.net games DBUG (22:18:40.828) : Starting to detect Blizzard Battle.net games DBUG (22:18:41.888) : Dumped list of folders in a Blizzard Battle.net folder DBUG (22:18:41.896) : Finished detecting platform's games DBUG (22:18:41.903) : Found 0 Blizzard Battle.net games

Kapiainen commented 6 years ago

Is the path pointing at the folder where the Battle.net client is installed? The tooltip (hover the mouse over the icon next to the setting title) states that the path should point to a folder containing games installed via the Battle.net client (e.g. if Destiny 2 is installed in D:\Games\Destiny 2, then the path should be D:\Games).

sassanix commented 6 years ago

So in the settings I see path so instead of where the battle.net install folder is you wanted me to change it to G:\Destiny 2\ so it should be G:\?

sassanix commented 6 years ago

So I did do that, and I had to make sure battle.net is running in the background. But no banner was generated for it.

Kapiainen commented 6 years ago

The website, which I used to get banners for Battle.net games in earlier versions, no longer exists and the URL redirects to another page now. Last time I checked the new pages use JavaScript to load most of the content, which Rainmeter's WebParser measure cannot access.

You'll need to provide your own banner. You can inspect a game (middle-mouse click) and hover the mouse cursor over where the banner should be in the menu that has been opened. You should then see a tooltip with the path where the banner should be and the supported formats, which are separated by |. So you might see a path like e.g. \@Resources\cache\battlenet\StarCraft.jpg|png, which means that you would need to place a JPEG or PNG image in the folder and rename the image StarCraft.

sassanix commented 6 years ago

That worked!

Thanks :)

Another issue I have is when I do this for game shortcuts https://www.youtube.com/watch?v=dI-e_gH5iTY

For emulators it works on a shortcut itself but through the launcher it says can't load.

So instead of the emulator to load I want the game shortcut to work.

What should I do?


I looked up the path and it seems to be putting quotes around every single word that has a space in the path

image

Kapiainen commented 6 years ago

I just released a new version that should fix the issue with parsing the arguments of Windows shortcuts. Thanks for bringing the issue to my attention.

sassanix commented 6 years ago

That worked amazingly! Love this luncher as helps me clean my desktop a lot with game shortcuts.

Thank you for all you've done <3