gurrenm3/BTD-Mod-Helper

[LINUX] Game crashes

46620 opened this issue ยท 9 comments

OS: Arch Linux
Bought on: Steam
MelonLoader: v0.6.2 Open-Beta
BTD-Mod-Helper: v3.1.15

When trying to open the achievements screen (other menus have this issue but it happens randomly with them) the game crashes.

The only modifications done to the game is installing dotnet6 to the wine prefix, overriding version.dll, and the mod itself.

Video of issue with console

Latest.log (old log might of not included that this mod is installed, was testing to see if it was melon loader itself, or the mod)

If any other information is needed I can provide it.

image
Still occurs on latest update of the loader and game

I unfortunately do not have access to a linux environment capable of debugging wine/proton specific issues. I have one possible guess for a potential fix that you can try here https://github.com/gurrenm3/BTD-Mod-Helper/actions/runs/7119013867 but if this doesn't do it then it may take a contribution from a linux modder to fix.

It seems to fix the achievements screen, but the random crashes still occur when playing, and the event monkey seems to be a new crash. The random crashes seemed to be randomly between rounds or randomly when clicking on a monkey.

Latest.log

Renaming the issue since it's not only with the achievements screen.

Main menu crash
For me, the main menu crash was fixed by uninstalling the game, and manually removing all leftover files, along with the prefix. Didn't backup anything, did a clean install, and it doesn't crash anymore.

Other crashes...
After looking at the achievements fix here 69a0b36, i added "GameEventsScreen" to the condition, and game no longer crashes in the event screen.
But there's more crashing menus... I ended up with this code:

if (MelonUtils.IsUnderWineOrSteamProton() && 
    (type == typeof(AchievementsScreen) || 
    type == typeof(GameEventsScreen) || 
    type == typeof(CollectionEventUI) || 
    type == typeof(PlaySocialScreen) ||
    type == typeof(HeroInGameScreen) ||
    type == typeof(LevelUpScreen))) 
{
    continue;
}

It fixes all the crashes so far. But im guessing that's just a workaround... well it's better than crashing i guess? Should i send a PR or can someone figure out what's going wrong here?
Download for testing: https://github.com/awumii/BTD-Mod-Helper/actions/runs/7299318284/artifacts/1130975492

We were having the same issues as @awumii, running on Manjaro Linux. Their patched version is working for us.

Main menu crash For me, the main menu crash was fixed by uninstalling the game, and manually removing all leftover files, along with the prefix. Didn't backup anything, did a clean install, and it doesn't crash anymore.

Other crashes... After looking at the achievements fix here 69a0b36, i added "GameEventsScreen" to the condition, and game no longer crashes in the event screen. But there's more crashing menus... I ended up with this code:

if (MelonUtils.IsUnderWineOrSteamProton() && 
    (type == typeof(AchievementsScreen) || 
    type == typeof(GameEventsScreen) || 
    type == typeof(CollectionEventUI) || 
    type == typeof(PlaySocialScreen) ||
    type == typeof(HeroInGameScreen) ||
    type == typeof(LevelUpScreen))) 
{
    continue;
}

It fixes all the crashes so far. But im guessing that's just a workaround... well it's better than crashing i guess? Should i send a PR or can someone figure out what's going wrong here? Download for testing: https://github.com/awumii/BTD-Mod-Helper/actions/runs/7299318284/artifacts/1130975492

Works ๐Ÿ‘

Main menu crash For me, the main menu crash was fixed by uninstalling the game, and manually removing all leftover files, along with the prefix. Didn't backup anything, did a clean install, and it doesn't crash anymore.

Other crashes... After looking at the achievements fix here 69a0b36, i added "GameEventsScreen" to the condition, and game no longer crashes in the event screen. But there's more crashing menus... I ended up with this code:

if (MelonUtils.IsUnderWineOrSteamProton() && 
    (type == typeof(AchievementsScreen) || 
    type == typeof(GameEventsScreen) || 
    type == typeof(CollectionEventUI) || 
    type == typeof(PlaySocialScreen) ||
    type == typeof(HeroInGameScreen) ||
    type == typeof(LevelUpScreen))) 
{
    continue;
}

It fixes all the crashes so far. But im guessing that's just a workaround... well it's better than crashing i guess? Should i send a PR or can someone figure out what's going wrong here? Download for testing: https://github.com/awumii/BTD-Mod-Helper/actions/runs/7299318284/artifacts/1130975492

Including these in the new Mod Helper update for v41.0

Works. Closing since resolved