Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nickelodeon All-Star Brawl (1414850) #5198

Open
2 tasks done
chaorace opened this issue Oct 5, 2021 · 49 comments
Open
2 tasks done

Nickelodeon All-Star Brawl (1414850) #5198

chaorace opened this issue Oct 5, 2021 · 49 comments
Labels
Game compatibility - Unofficial Games not expected to work without issues

Comments

@chaorace
Copy link

chaorace commented Oct 5, 2021

Compatibility Report

  • Name of the game with compatibility issues: Nickelodeon All-Star Brawl
  • Steam AppID of the game: 1414850

System Information

I confirm:

  • that I haven't found an existing compatibility report for this game.
  • that I have checked whether there are updates for my system available.

steam-1414850.log

Symptoms

Game launcher window opens and crashes to desktop just as the loading bar appears to fully complete. Repeated attempts to launch the game will result in the same issue.

Reproduction

  1. Download a fresh install of Nickelodeon All-Star Brawl
  2. Install Proton Experimental, configure it as the default Compatibility Tool for the game
  3. Press the "Play" button
  4. Wait for crash to desktop
@chaorace
Copy link
Author

chaorace commented Oct 5, 2021

I believe this unimplemented function call is the root cause of the crash (see logs):
wine: Call from 000000007B01236E to unimplemented function winusb.dll.WinUsb_Free, aborting

@chaorace
Copy link
Author

chaorace commented Oct 5, 2021

Looks like this is identical to an issue that affected Slap City, one of Ludosity's prior games. Per #23 (comment), the issue could be worked around in that game by adding a -disable-native-gc flag to turn off native GameCube controller support, thus bypassing the faulty function call.

It seems that Nickelodeon All-Star Brawl does not currently have an equivalent flag for disabling this feature, so the same workaround isn't yet possible here. There is a bug report on the official Discord server requesting an equivalent flag to be added. A bug report for adding this flag is now pinned on the official Discord.

@jakobkg
Copy link

jakobkg commented Oct 5, 2021

I'm seeing the same on my system

System Information

Proton log file

@BrianAllred
Copy link

Looks like this is identical to an issue that affected Slap City, one of Ludocity's prior games. Per #23 (comment), the issue could be worked around in that game by adding a -disable-native-gc flag to turn off native GameCube controller support, thus bypassing the faulty function call.

But I don't want to disable native GC controller support. :(

@jakebesworth
Copy link

jakebesworth commented Oct 5, 2021

Looks like this is identical to an issue that affected Slap City, one of Ludocity's prior games. Per #23 (comment), the issue could be worked around in that game by adding a -disable-native-gc flag to turn off native GameCube controller support, thus bypassing the faulty function call.

But I don't want to disable native GC controller support. :(

My understanding is you should be able to use gc controller with other methods.

The issue is pinned to the bugs channel in the discord now. If any devs need help with testing potential fixes we are available to help 👍

@cow-killer
Copy link

I'm adding my Player.log file from ~/.steam/root/steamapps/compatdata/1414850/pfx/drive_c/users/steamuser/AppData/LocalLow/GameMill Entertainment/Nickelodeon All-Star Brawl/ in the event it's of any use. Looks like there are several files that Unity fails to load.

@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Oct 5, 2021
@jakebesworth
Copy link

jakebesworth commented Oct 5, 2021

I'm adding my Player.log file from ~/.steam/root/steamapps/compatdata/1414850/pfx/drive_c/users/steamuser/AppData/LocalLow/GameMill Entertainment/Nickelodeon All-Star Brawl/ in the event it's of any use. Looks like there are several files that Unity fails to load.

You may want to look into https://wiki.archlinux.org/title/Steam/Troubleshooting#Game_crashes_immediately as I wasn't getting those errors. Or if you can set proton to use the latest version.

@chaorace
Copy link
Author

chaorace commented Oct 5, 2021

Quick update: as of this afternoon, the request for a -disable-native-gc flag has been recognized by a member of the development team (discord link):

DoctorFil — Today at 1:50 PM
@thaddeus Crews (Rep) is there any chance we see steam setting -disable-native-gc as an option in a hotfix to help linux users sometime this week?

Thaddeus Crews (Rep) — Today at 1:51 PM
I'll ask people smarter than me if that's doable

I notice some Proton users are continuing to reach out to the developers anyway... maybe stop doing that for a couple of days until they've had a chance to investigate further. I think they're owed a little patience, given that it's a huge release week for them 😃

@Lustyn
Copy link

Lustyn commented Oct 6, 2021

WARNING: This patch was made for the launch version of the game, and the game has since been updated. Instead, use the fix here.

Assuming you have bspatch (usually provided by bsdiff in your package manager) and wget installed with the game in the default Steam directory, this should work:

#!/usr/bin/env bash
cd "/home/$USER/.local/share/Steam/steamapps/common/Nickelodeon All-Star Brawl/Nickelodeon All-Star Brawl_Data/Managed"
mv Assembly-CSharp.dll Assembly-CSharp.dll.bak
wget https://f.cloudninja.pw/NASB_Assembly-CSharp.patch
bspatch Assembly-CSharp.dll.bak Assembly-CSharp.dll NASB_Assembly-CSharp.patch

I just stubbed most of the GC controller support out manually using dnSpy. Let me know if anyone encounters crashing or playability issues.

thx cloud for hosting my crummy patch

EDIT: if you experience issues, a good quick test is to run:

$ sha256sum Assembly-CSharp.dll.bak Assembly-CSharp.dll
d082511371e047a7afbefc8ae29f7cf3a5cccf9e674d69a0e18991988bd42a1b  Assembly-CSharp.dll.bak
47d30309eb8186b1d239c2e1b1db550fb918808da7427416623646a19bd99417  Assembly-CSharp.dll

The hashes on your copy should match the ones above. Otherwise you're on an incompatible game version reading this in the future or you have file corruption possibly.

@chaorace
Copy link
Author

chaorace commented Oct 6, 2021

@Lustyn Awesome. Thank you very much!

I can't wait to see some of you folks online tonight! Just FYI for anyone finding this on Google: while modding is officially sanctioned by Ludosity, the responsibility is on you -- the user -- to not mess up your game install.

Mirroring a gzip of the patch file here for posterity:
NASB_Assembly-CSharp.patch.gz

@Fullbrik
Copy link

Fullbrik commented Oct 6, 2021

Replying to #5198 (comment)

This worked! You are an absolute chad my friend. I had a lot of fun playing this with my friend.

@tanner00
Copy link

tanner00 commented Oct 6, 2021

I installed the fix and the game starts now but shows this debug screen infinitely instead of continuing to the game? :X

image

@Lustyn
Copy link

Lustyn commented Oct 6, 2021

For anyone wondering, we were able to fix @tanner00's issue by just re-verifying the game in Steam and applying the patch again. There was either some kind of corruption in the file or the patch applied itself improperly. I've added sha256sums for the patched and unpatched DLLs respectively in my original post.

@somekindahate
Copy link

somekindahate commented Oct 6, 2021

Replying to #5198 (comment)

Hey, thank you for the fix. I'm having an issue where my playstation 4 controllers won't work with the game though. The only inputs that work for the game are keyboard inputs, and there are no options elsewhere as far as I can tell. Any ideas? Is anyone getting the same issue?

@rezzafr33
Copy link

Hey, thank you for the fix. I'm having an issue where my playstation 4 controllers won't work with the game though. The only inputs that work for the game are keyboard inputs, and there are no options elsewhere as far as I can tell. Any ideas? Is anyone getting the same issue?

Try big picture mode, or check the Use the Big Picture Overlay when using a Steam Input....
Don't forget to enable Playstation Configuration Support on General Controller Settings.
image

@cow-killer
Copy link

You can also force Steam Input under the Controller tab in the same Settings window.

@deltap1
Copy link

deltap1 commented Oct 6, 2021

I'm not sure if this an issue with the game itself or Proton/Wine specific, but after playing on Windows then going to Linux, I lost all of my online data. I had unlocked an avatar portrait and played a few competitive games last night on Windows. Today, on Linux, I don't have the avatar portrait and my competitive rating reset. Does anyone know if the game just stores online data locally?

@Fullbrik
Copy link

Fullbrik commented Oct 6, 2021

@deltap1 Is your progress still on windows?

@deltap1
Copy link

deltap1 commented Oct 6, 2021

@deltap1 Is your progress still on windows?

Yes my progress is still saved on my Windows install. I guess the game stores online progress locally with no cloud save. After looking around a bit I think I found the save data location at C:\Users<username>\AppData\LocalLow\GameMill Entertainment\Nickelodeon All-Star Brawl. I'll try transferring my save to Linux.

@Fullbrik
Copy link

Fullbrik commented Oct 6, 2021

Let the devs know. This bug will effect windows users too.

@Lustyn
Copy link

Lustyn commented Oct 6, 2021

The game's code does indeed put the save file in %userprofile%\AppData\LocalLow\GameMill Entertainment\Nickelodeon All-Star Brawl on Windows (various .json files), and in a similar path in the {wine,proton}prefix on Linux, I believe. Someone else with a current save on Linux can confirm.

@deltap1
Copy link

deltap1 commented Oct 6, 2021

I was able to transfer my online data from Windows to Linux. The Linux save data location for me is at /steamapps/compatdata/1414850/pfx/drive_c/users/steamuser/AppData/LocalLow/GameMill Entertainment/Nickelodeon All-Star Brawl
What is strange to me is the players competitive rank is saved locally. Wouldn't that potentially allow someone to modify their rank file to be whatever rank they want?

@jakebesworth
Copy link

@deltap1 does this rank show for other players? As in, are you sure this isn't just a local display value, or are you positive that you're matching with other people at your rank and they're seeing it (can be tested with a friend that plays).

@deltap1
Copy link

deltap1 commented Oct 6, 2021

@deltap1 does this rank show for other players? As in, are you sure this isn't just a local display value, or are you positive that you're matching with other people at your rank and they're seeing it (can be tested with a friend that plays).

Yes when you match against another player in competitive both players can see each other's ranks. The base rank is 400, my rank after playing a few games on Windows was 360-ish. I could try to see if the game thinks I'm still at 400 but the rank difference when matching can be up to +/-50 from what I saw. So it might be difficult to tell.

@Farkrag
Copy link

Farkrag commented Oct 6, 2021

Hi sorry if this is a dumb question new linux user here running pop os 5.13.0-7614-generic. I followed all the steps in the post detailing the fix but I'm getting this error "mv: cannot stat 'Assembly-CSharp.dll': No such file or directory" I assumed it meant I was missing some files so I verified integrity and reinstalled but no luck.

@jakebesworth
Copy link

Hi sorry if this is a dumb question new linux user here running pop os 5.13.0-7614-generic. I followed all the steps in the post detailing the fix but I'm getting this error "mv: cannot stat 'Assembly-CSharp.dll': No such file or directory" I assumed it meant I was missing some files so I verified integrity and reinstalled but no luck.

When you run cd "/home/$USER/.local/share/Steam/steamapps/common/Nickelodeon All-Star Brawl/Nickelodeon All-Star Brawl_Data/Managed" what directory are you in? What does lsshow?

@Lustyn
Copy link

Lustyn commented Oct 6, 2021

Hi sorry if this is a dumb question new linux user here running pop os 5.13.0-7614-generic. I followed all the steps in the post detailing the fix but I'm getting this error "mv: cannot stat 'Assembly-CSharp.dll': No such file or directory" I assumed it meant I was missing some files so I verified integrity and reinstalled but no luck.

You'll have to adjust the script to cd to wherever your game is installed. It will always be in steamapps/common/Nickelodeon All-Star Brawl/Nickelodeon All-Star Brawl_Data/Managed, but the location of your steamapps is decided by you, the user.

@Farkrag
Copy link

Farkrag commented Oct 6, 2021

Hi sorry if this is a dumb question new linux user here running pop os 5.13.0-7614-generic. I followed all the steps in the post detailing the fix but I'm getting this error "mv: cannot stat 'Assembly-CSharp.dll': No such file or directory" I assumed it meant I was missing some files so I verified integrity and reinstalled but no luck.

When you run cd "/home/$USER/.local/share/Steam/steamapps/common/Nickelodeon All-Star Brawl/Nickelodeon All-Star Brawl_Data/Managed" what directory are you in? What does lsshow?

My bad! I was just going to steamapps/common/Nickelodeon All-Star Brawl/Nickelodeon All-Star Brawl_Data I needed to go 1 folder deeper to Managed.

@chaorace
Copy link
Author

chaorace commented Oct 8, 2021

A few quick updates that may prove helpful to anyone playing:

  • One user reports that setting a "Disable" DLL override for winusb.dll via winecfg fixes crashing without requiring any patches
    • This should be a one time fix that will presumably work forever -- cool!
    • The easiest way to run winecfg on your game prefix is via ProtonTricks, a third-party tool
      • e.g.: protontricks 1414850 winecfg
  • Many users report performance improvements with the Glorious Eggroll fork
    • FYI: Glorious Eggroll is a third-party Proton fork, so don't report issues you experience while using it in this thread
  • One user reports that using PROTON_USE_WINED3D=1 was harming their performance (so don't do put that in your launch options)

@Fullbrik
Copy link

Fullbrik commented Oct 8, 2021

Replying to #5198 (comment)

Can confirm that disabling winusb allows the game to enter main menu without a patch.

@chaorace
Copy link
Author

chaorace commented Oct 9, 2021

I can now also confirm that the winecfg method works with the new patch that just went up.

@moistlog
Copy link

moistlog commented Oct 9, 2021

Hi, i have a different problem comming from wine in the log:

wine : Unhandled page fault on read access to 0000000000000000 at address 00000000692DE925 thread 0190), starting debugger...

I tried disabling the winusb.dll method and patching too, reinstalling the game and such. Both lead to the same message replacing the winusb one.

It goes through the loading screen for probably 6 seconds the first time then 3 or 2 seconds the second time I boot it then shows the Unity crash.

@jakebesworth
Copy link

@moistlog have you tried disabling steam overlay in the game settings, and enable latest Proton version in the same menu.

Also consider verifying your files first > then applying patch and trying

@Mandelbot
Copy link

I too can confirm the winecfg method worked with the latest patch. Local play seems to work pretty flawlessly, however, online play seems to make the game run at roughly half speed for all players, regardless of if they're also using Proton or running straight from Windows.

@rezzafr33
Copy link

I can confirm disable winusb.dll worked, put WINEDLLOVERRIDES="winusb.dll=d" %command% on launch options.

image

@moistlog
Copy link

moistlog commented Oct 9, 2021

@moistlog have you tried disabling steam overlay in the game settings, and enable latest Proton version in the same menu.

Also consider verifying your files first > then applying patch and trying

I tried it offline and without overlay. I'm using the latest Proton GE right now. I verify my game files every time I launch the game without the patch.

I also encountered this issue while launching:
(process:32581): GLib-GObject-CRITICAL **: 23:57:06.051: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

@rezzafr33
Copy link

rezzafr33 commented Oct 9, 2021

I also encountered this issue while launching: (process:32581): GLib-GObject-CRITICAL **: 23:57:06.051: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

This is harmless.

Try to delete [SteamLibrary]/steamapps/compatdata/1414850 and start over, no need to patch the dll, just use this as launch options.

WINEDLLOVERRIDES="winusb.dll=d" %command%

edit: also try proton 6.3 or experimental before GE version

@moistlog
Copy link

moistlog commented Oct 9, 2021

Replying to #5198 (comment)

Now it works. Only with 5.13 which have some rendering issues, nothing too major though. 6.3 and above crashed my game instantly.

@UrsaSolar
Copy link

I too can confirm the winecfg method worked with the latest patch. Local play seems to work pretty flawlessly, however, online play seems to make the game run at roughly half speed for all players, regardless of if they're also using Proton or running straight from Windows.

This happens online when the game is running below 60FPS due to the rollback netcode. On Proton 6.3 on Nvidia, I can't get a steady 60FPS on my RTX3070M, but with Proton-6.18-GE-2 it runs well for me. Another user I spoke to had fine performance on 6.3, but they were an AMD user. Just throwing some anecdotal evidence in here in case it helps anyone.

@HadetTheUndying
Copy link

HadetTheUndying commented Oct 9, 2021

Replying to #5198 (comment)

This could potentially mess up gamepad support btw. That's why the patched dll was being used.

@deltap1
Copy link

deltap1 commented Oct 9, 2021

I had an issue when using WINEDLLOVERRIDES="winusb.dll=d" %command% in combination with Proton GE - after a few minutes my gamepad would stop working. This does not happen when using Proton Experimental with the disabled winusb.dll.

@jakebesworth
Copy link

jakebesworth commented Oct 9, 2021

Not sure if this is a NASB or linux problem (doesn't happen on switch or on windows). Switch Pro Controller is connected via steam-devices / big picture mode.

Sometimes in the game, when I'm trying to change my movement to the right or left, it feels like my movement locks up and I can't go right or left unless I reset my stick and move again (which usually leads to issues off stage).

Anyone seen this issue on linux? (Using patch above, Proton GE / Experimental, messed with big picture controller calibrations and button mapping [seems like nasb assumes it's a keyboard input])

EDIT: Looks like resetting the gamepad / pro controller settings in the controller config fixed it

@cow-killer
Copy link

Kind of outside the scope of this issue, but has anyone been able to gets mods working? Been trying to add a few voice packs, but the game needs BepInEx. Been trying to get it installed via this guide but no new folders or files get added inside the BepInEx folder after running the game.

@ivyl
Copy link
Collaborator

ivyl commented Oct 12, 2021

The winusb is now disabled in Proton Experimental (ValveSoftware/wine@77fd28c) so the game should work out of the box.

@cow-killer
Copy link

I too can confirm the winecfg method worked with the latest patch. Local play seems to work pretty flawlessly, however, online play seems to make the game run at roughly half speed for all players, regardless of if they're also using Proton or running straight from Windows.

I've also noticed this, it's quite strange. Not sure what's causing it.

@chaorace
Copy link
Author

I too can confirm the winecfg method worked with the latest patch. Local play seems to work pretty flawlessly, however, online play seems to make the game run at roughly half speed for all players, regardless of if they're also using Proton or running straight from Windows.

I've also noticed this, it's quite strange. Not sure what's causing it.

I believe this is an issue with framerate, as Online play is locked to either 30 or 60 FPS. If one player is at 30 FPS and the other is at 60 FPS, the game will rollback every frame for the 30 FPS player and every other frame for the 60 FPS player. This manifests as a consistent choppiness at normal game tick speed. This particular issue is probably just a consequence of how rollback fundamentally works.

In addition to this, however, there also seems to be a bug where, if both players are playing at 30 FPS, the game ticks at half-speed. This is probably a game bug -- currently unconfirmed.

I believe these issues are being noticed by Proton users in particular due to Wine performance problems that can arise under certain system configurations. If you regularly experience half-speed online games, consider the following solutions:

  • Set game graphical preset to Low
  • Lower game client resolution
  • Try using the Glorious Eggroll fork
    • I've noticed Nvidia users in particular reporting improvements under GE
    • Using AMDGPU, after playing with Experimental and GE for about a day each, I feel that Experimental runs as fast, if not faster than GE for my system (see original post for full specs)
  • Update governor settings on your hardware
    • Warranty not included, if you break your stuff it's not my fault
    • Consider trying gamemode to do this for you

@cow-killer
Copy link

Quick update for anyone who wants to use mods, you should be able to do so now by following the instructions in this thread.

@kisak-valve
Copy link
Member

Nickelodeon All-Star Brawl

Issue transferred from #6592.
@Peyton122402 posted on 2023-03-04T07:47:24:

After the most recent update of the game, it now crashes on startup when running through Proton.

@cow-killer
Copy link

Got the game running again with WINEDLLOVERRIDES="winusb=d" %command%.

Funny enough, when this game first came out this same workaround was needed, so I suspect the "General bug fixes" in the latest update had something to do with that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game compatibility - Unofficial Games not expected to work without issues
Projects
None yet
Development

No branches or pull requests