NeighTools / UnityDoorstop

Doorstop -- run C# before Unity does!
GNU Lesser General Public License v2.1
454 stars 69 forks source link

Doorstop on Linux logging to .config/mimeapps.list #47

Open huantianad opened 1 year ago

huantianad commented 1 year ago

Using Unix version of BepInEx 5 on Rhythm Doctor.

Whenever I launch Rhythm Doctor, doorstop seems to be logging to my .config/mimeapps.list file and it breaks all my default application handling! It adds the line Found UnityPlayer, hooking into it instead to the start of the file so my system can't parse the file. It also makes a folder in the game directory called Found UnityPlayer, hooking into it instead in the game folder, with this file, minus the .txt extension. profilerc.txt

It seems to be some error with how doorstop is trying to capture/redirect stdout, but for now I've compiled doorstop without logging to fix it.

ManlyMarco commented 6 months ago

BepInEx 5 was using Doorstop 3 until very recently. This repo is for Doorstop 4.

Try the latest release of BepInEx 5, it comes with the latest version of Doorstop that might not have those issues.

stele95 commented 1 week ago

This problem is now more present with the latest update from Steam, forcing Linux native games to run inside their runtimes. Take a look at this issue, specifically this comment and comments after it. Even tho Valheim uses an older version of doorstop, the issue is the same since even the latest version of doorstop is using printf to print logs, which will not work anymore inside the steam's linux container runtime (read this comment). I saw this PR on the old Unix version of doorstop and I think something like that should be implemented in the new version, moving logging to a separate file instead of the stdout

huantianad commented 1 week ago

Good to hear that I'm not going insane, wish I had actually followed up on this earlier tho...