Emiliano Vaz Fraga Posted December 13, 2024 Report Posted December 13, 2024 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 1 2 1
Siinamon Posted January 4, 2025 Report Posted January 4, 2025 On 6/9/2024 at 2:44 PM, frafra said: The problem is that .NET 7 is not supported anymore: https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core. I am trying to install the game on Linux for the first time, and there is no easy way to install .NET 7. I got the binary from https://dotnet.microsoft.com/en-us/download/dotnet/7.0 and did a manual setup, by unzipping the tarball to ~/.dotnet and setting export DOTNET_ROOT=$HOME/.dotnet. I did something similar to this that was a tiny bit more involved since I didn't want .NET 7 to be in ~/.dotnet since only Vintage Story is using it. Downloaded it from that location and unpacked it to ~/Games/Vintage Story/.dotnet Then I edited run.sh to look like: #!/bin/bash # This shell script launches the game client on linux export DOTNET_ROOT="$HOME/Games/Vintage Story/.dotnet" ./Vintagestory 2
SamuelYaron Posted January 15, 2025 Report Posted January 15, 2025 On 12/13/2024 at 9:24 AM, Emiliano Vaz Fraga said: 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 Thanks so much for this! I am using Fedora Silverblue and I have only access to dotnet9. But with this it works flawlessly!
Teh Pizza Lady Posted January 15, 2025 Report Posted January 15, 2025 On 1/3/2025 at 7:14 PM, Siinamon said: I did something similar to this that was a tiny bit more involved since I didn't want .NET 7 to be in ~/.dotnet since only Vintage Story is using it. Downloaded it from that location and unpacked it to ~/Games/Vintage Story/.dotnet Then I edited run.sh to look like: #!/bin/bash # This shell script launches the game client on linux export DOTNET_ROOT="$HOME/Games/Vintage Story/.dotnet" ./Vintagestory this is the way and how other platforms like Python expect you to run your software using a venv. Sometimes the libraries only support specific things and updates to those libraries massively BREAK those things. Stuff gets deprecated, but no backwards compatibility is included and it's a massive headache for developers. Compartmentalize your installations for one-off things and don't forget to backup your scripts before updating! 1
Recommended Posts