I was able to run Vintage Story on Linux Mint with dotnet 8 runtime:
1. Installed dotnet using apt:
sudo apt install dotnet-runtime-8.0
2. confirm dotnet install and info
$ ls -l /usr/lib/dotnet
total 180
-rwxr-xr-x 1 root root 71112 Nov 8 17:16 dotnet
drwxr-xr-x 3 root root 4096 Dec 13 08:30 host
-rw-r--r-- 1 root root 1116 Nov 8 17:16 LICENSE.txt
drwxr-xr-x 3 root root 4096 Dec 13 08:30 shared
-rw-r--r-- 1 root root 94355 Nov 8 17:16 ThirdPartyNotices.txt
$ /usr/lib/dotnet/dotnet --info
Host:
Version: 8.0.11
Architecture: x64
Commit: 9cb3b725e3
RID: ubuntu.24.04-x64
.NET SDKs installed:
No SDKs were found.
.NET runtimes installed:
Microsoft.NETCore.App 8.0.11 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
DOTNET_ROOT [/usr/lib/dotnet]
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
3. edit Vintagestory.runtimeconfig.json changing it to dotnet version 8.0.11
$ cd <vintage story install directory>
$ vim Vintagestory.runtimeconfig.json
{
"runtimeOptions": {
"tfm": "net8.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "8.0.11"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
}
}
}
4. set environment variables
$ export DOTNET_ROOT=/usr/lib/dotnet; export PATH="$DOTNET_ROOT":"$PATH"
5. run it from command line
$ ./Vintagestory