Jump to content

Recommended Posts

Posted

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

 

  • Like 1
  • Amazing! 2
  • Mind=blown 1
  • 3 weeks later...
Posted
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

 

  • Like 2
  • 2 weeks later...
Posted
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!

Posted
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!

  • Like 1
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.