ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.39k stars 1.07k forks source link

Bloons Monkey City (1252780) #7711

Open Torangan42 opened 5 months ago

Torangan42 commented 5 months ago

Compatibility Report

System Information

I confirm:

applog.tgz

Symptoms

The game has worked pretty fine for years. Wanted to give the new major version a try and ran into trouble. The game starts just fine but it stays in offline mode, claiming no network connection. Going back to Proton 8 works just fine with no further changes besides forcing that version in steam.

Reproduction

Just installing the game should be enough. It should display a big offline mode icon at the top for Proton 9 or experimental.

alasky17 commented 5 months ago

@Torangan42 We are not seeing any network issue over here. If you are still seeing the failure with Proton 9.0-1, could you get a log with both Proton - Experimental and Proton 8.0-5 (for comparison) with the following logging channels (put this in your launch options):

PROTON_LOG=+steam,+steamclient,+tid,+wininet,+winhttp,+winsock,+iphlpapi,+nsi,+bcrypt,+secur32 %command%

Torangan42 commented 5 months ago

I still have the issue and noticed another detail. The game does show "Offline mode" icon in the top, telling me that in game timers are paused but it still does perform cloud sync with experimental. Attaching logs with the requested channels.

steam-1252780-logs.tgz

gofman commented 5 months ago

Thanks for the log! I could not reproduce the issue as well but had some guess based on the logs. Do you have IPV6 completely disabled in the system? What does 'ls -l /proc/net/ipv6_route' output?

Even if that is the case, in the present case it is our parts which use that incorrectly and that can be fixed. However, some games are known not to work these days if ipv6 is completely disabled. Another weirdness I spotted in the log is that hostname configured to localhost (and consequently resolve to loopback address 127.0.0.1). Some other games will also break due to that. A correct way is to have hostname to be configured to some name which is not special (like localhost) and resolve to correct local network IP address.

Anyway, if just updated Proton Experimental ([bleeding-edge] branch) has a tentative fix for the part where we depend on ipv6 not being disabled in Proton. It is possible to select branch in Proton Experimental's properties, BETAS tab. Then, selecting Proton Experimental as a compatibility tool for the game. If you have Steam running it is best to restart it so the just updated Proton Experiemtal [bleeding-edge] gets picked up.

Does it fix the issue (without changing anything in host network config yet)?

Torangan42 commented 5 months ago

I don't have that file in /proc so yes, looks like IPV6 is completely disabled. Which doesn't hurt me as my ISP also has work left to do on it. Kernel is custom config and pretty minimal so it got left out. grep on kernel/.config says: # CONFIG_IPV6 is not set

As you say, this should not cause issues with older games which don't care about it themself. Changed my localhost to the 192.168.x.x ip in use. Never caused problems but sure, 127.0.0.1 doesn't make too much sense.

Just changing /etc/hosts localhost entry does not help (no suprise here). Selecting bleeding edge beta, Steam does download directly... game works correctly now. Thanks for the quick help and thorough analysis. I'll probably add IPV6 to my system in a few days when switching to the kernel 6.9.

I assume the little safer course in general is to go back to plain experimental and use proton 8 until experimenal gets an update? There are some issues with the endless mode in game, probably memory leak leading to a crash. But reaching that point takes an advanced game account and hours (no save feature in game), so I want to be on the latest Proton and hope it's just gone. Wouldn't be fun to debug it.

gofman commented 5 months ago

I don't have that file in /proc so yes, looks like IPV6 is completely disabled. Which doesn't hurt me as my ISP also has work left to do on it. Kernel is custom config and pretty minimal so it got left out. grep on kernel/.config says: # CONFIG_IPV6 is not set

For some other games this is not about full IPV6 enablement and support by ISP. Of course the majority of networks don't have that and those games work. But there are things which do work on modern Windows always now (like, creating ipv6 socket, using those in ipv6 over ipv4 mode) and work in Proton also without ISP support. But don't when IPV6 is forcefully disabled in the system. That's why I recommend not to do this.

As you say, this should not cause issues with older games which don't care about it themself. Changed my localhost to the 192.168.x.x ip in use. Never caused problems but sure, 127.0.0.1 doesn't make too much sense.

Changing 'localhost' to some other address is wrong, localhost name should resolve to 127.0.0.1. I mean setting a different hostname first and then making sure it resolves to correct LAN address.

I assume the little safer course in general is to go back to plain experimental and use proton 8 until experimenal gets an update? There are some issues with the endless mode in game, probably memory leak leading to a crash. But reaching that point takes an advanced game account and hours (no save feature in game), so I want to be on the latest Proton and hope it's just gone. Wouldn't be fun to debug it.

In general yes, [bleeding-edge] contains the untested changes and it is generally safer to stay on Proton stable. Comapred to Proton Experimental default [bleeding-edge] is not too far away from it currently.

Thanks for confirming!

alasky17 commented 5 months ago

There are some issues with the endless mode in game, probably memory leak leading to a crash. But reaching that point takes an advanced game account and hours (no save feature in game), so I want to be on the latest Proton and hope it's just gone. Wouldn't be fun to debug it.

I'm assuming that this is not regressive and also happens in older Proton versions? We are constantly working to squash memory leaks, so there is always some hope :)

Torangan42 commented 5 months ago

I'm assuming that this is not regressive and also happens in older Proton versions? We are constantly working to squash memory leaks, so there is always some hope :)

Correct, that happens on at least proton 8. I think it was better once and came back but I've had long breaks in playing the game and even more so in endless mode. But not sure how I'd get a bug report for that done. Takes a long time to get there and there's so much happening, the log file would get very huge. I'm more inclined to hope that it gets fixed when reported for another program. Be it in proton or upstream wine fix making its way in.