Distro / Kernel release : Linux Mint 22.1 Cinnamon / 6.8.0-62-generic
Mono / .NET package version : .NET SDK 7.0.410
Graphics driver version : Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
Works for client, mp server or both : client (will test mp soon)
Installation method used : Scripted installation of .NET 7 with successful echo of $DOTNET_ROOT; unpacked tarball
Hacks (if needed) : Double clicking run.sh or the VintageStory executable and selecting "Run in Terminal" or "Run" yielded no results. The eventual start menu shortcut from install.sh would also not work. What would work is running "./run.sh", "./Vintagestory", or "bash run.sh"; so I threw "$SHELL" at the end of run.sh to get this:
You must install .NET to run this application.
App: /home/lupie/.local/share/vintagestory/Vintagestory
Architecture: x64
App host version: 7.0.20
.NET location: Not found
Learn about runtime installation:
https://aka.ms/dotnet/app-launch-failed
Download the .NET runtime:
https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=linuxmint.22.1-x64&apphost_version=7.0.20
Again, the game works in every way via terminal so my DOTNET_ROOT environment variable should be correct. Then I noticed @a52's post showing how to make a desktop shortcut with that handy:
DOTNET_ROOT=/home/yourname/.dotnet
as an argument for run.sh and that worked perfectly.
So, it seems like bash forgets about DOTNET_ROOT when the calling context is outside terminal and you have to remind it. But, I'm also very new to Linux so if someone could explain what's going on that'd be great thanks so much.