Floogen / Stardrop

Stardrop is an open-source, cross-platform mod manager for the game Stardew Valley.
https://floogen.gitbook.io/stardrop/
GNU General Public License v3.0
110 stars 30 forks source link

SMAPI only opens directly, no access to console/terminal commands (MacOS) #175

Open crawfordme2 opened 3 months ago

crawfordme2 commented 3 months ago

Hi! I don't know if this is a bug necessarily but when I launch SMAPI through the Stardrop loader, the terminal window that comes up with regular SMAPI doesn't pop up, making me unable to input any debug/console commands. Do you know how to force the terminal to open so I can access that?

puppershuffle commented 2 months ago

System: macOS Unix 14.4.1 Stardew Valley: 1.6.8 build 24119 SMAPI: 4.0.8 Stardrop: 1.2.0 Steam Launch Path: Empty (launching through Stardrop)

I am having the same issue. It seems #196 also is. On launch (through pufferfish icon in Stardrop), Stardrop minimizes and locks as normal, then Stardew launches. Alt-tabbing out of Stardew reveals no SMAPI terminal nor any terminal shell running. (Possibly irrelevant: Upon closing out of Stardew, I noticed that instead of "snapping" back to Stardrop when it unminimizes, my computer "snaps" to Steam which I always have open in the background due to superstitions about cloud syncs.)

https://smapi.io/log/ac0b4638e2bb4a698c211d8c8931d9cb log.txt *Note: The Stardrop log seems to contain two attempts to test this (one at 19:47 and one at 20:20). If this is true, the SMAPI log above corresponds to the second attempt.

Happy to provide screen recording of launch or screenshots of Stardrop settings if they are not already contained in the log.

Thought-Soup commented 2 months ago

I would love to get a follow up on this one, mine also does the same thing. I can provide a SMAPI log if necessary, but it doesn't look like it really shows anything considering it still fires fine under the hood.

puppershuffle commented 2 months ago

Update: With the help of Yariazen (in SDV discord), we tried troubleshooting this issue a bit further. In Yariazen's words: "We have confirmed that Stardrop is behaving as expected through its log. SMAPI is being launched with the proper arguments. In addition we have tested with a different terminal to confirm the issue is at least not caused by the mac terminal."

To expand on that, we started with the hypothesis that Stardrop was launching SMAPI using the --use-current-shell flag (at docs/technical/smapi.md) but found no evidence in Stardrop's code nor in the Stardrop logs. Thus, "proper arguments" as Yariazen said.

Repo: We tried launching Stardrop through Terminal and iTerm2 (via cd /Applications/Stardrop.app then ./Contents/MacOs/Stardrop). For both attempts, I launched Stardrop via the respective terminal, clicked the pufferchick, saw Stardrop minimize and lock as normal, and Stardew loaded into the title screen. Alt-tabbing out of Stardew allowed me to interact with the SMAPI console through the Stardrop shell (as seen in Terminal_Saved_Output.txt). I then exited out of Stardew, which returned me to Stardrop as it unminimized and unlocked as normal so I could grab the logs. EDIT: While maybe an obvious detail, closing the terminal shell closes Stardrop.

Summary: The SMAPI console seems to be hiding inside of/hijacking the Stardrop shell on launch on MacOS.

EDIT: Logo very kindly pointed out that an error in the log contains Created a warning window with the following text: [OK] The given file isn't StardewModdingAPI.dll and suggested that Stardrop.app should be looking for the Unix Executable File. But Logo clarified that the error could just be a text based one that's not indicative of what Stardrop is actually accessing.

Normal launch: Stardrop_Log (Normal Launch).txt Terminal launch: Terminal_Saved_Output.txt Stardrop_Log (Terminal Launch).txt iTerm Launch to rule out mac terminal issue (~ identical to ^ but attaching just in case): iTerm2_Saved_Output.txt Stardrop_Log (iTerm2 Launch).txt