[Bug]: Vintage Story server requires .NET 8 (LGSM still installs .NET 7)
User story
I was trying to install VS server on Debian 11 and server was not starting at all.
Game
Vintage Story
Linux distro
Debian 11
Command
command: start, command: update, command: install, command: update-lgsm
Further information
The Vintage Story dedicated server was recently updated to require .NET 8 runtime. LGSM dependency check currently installs dotnet-runtime-7.0, which causes the server to fail.
Error from ./vintsserver debug:
Framework: 'Microsoft.NETCore.App', version '8.0.0' (x64) The following frameworks were found: 7.0.20 at [/usr/share/dotnet/shared/Microsoft.NETCore.App] You must install or update .NET to run this application. Server has stopped: exit code: 150
✅ Fix / Workaround: Manually install Microsoft’s repo and .NET 8 runtime:
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb dpkg -i packages-microsoft-prod.deb apt update apt install -y dotnet-runtime-8.0
After installing .NET 8, the server runs normally.
Relevant log output
Sep 01 05:19:17.429 vintsserver: INSTALL: INFO: Logs installed
Sep 01 05:19:18.048 vintsserver: INSTALL: PASS: Downloading check_deps.sh...
Sep 01 05:19:19.098 vintsserver: INSTALL: PASS: Checking debian-11.csv
Sep 01 05:19:21.047 vintsserver: INSTALL: PASS: Downloading debian-11.csv...
Sep 01 05:19:24.188 vintsserver: INSTALL: WARN: Missing dependencies: bc binutils bsdmainutils distro-info dotnet-runtime-7.0 jq lib32gcc-s1 lib32stdc++6 netcat pigz uuid-runtime
Sep 01 05:19:25.029 vintsserver: INSTALL: PASS: Downloading packages-microsoft-prod.deb...
Sep 01 05:19:50.177 vintsserver: INSTALL: WARN: vintsserver does not have sudo access. Manually install dependencies or run ./vintsserver install as root.
Sep 01 05:19:50.824 vintsserver: INSTALL: PASS: Downloading install_server_files.sh...
Sep 01 05:19:51.535 vintsserver: INSTALL: PASS: Downloading update_vints.sh...
Sep 01 05:19:51.663 vintsserver: INSTALL: FAIL: jq is not installed
Sep 01 05:19:52.262 vintsserver: INSTALL: PASS: Downloading core_exit.sh...
Sep 01 05:19:52.283 vintsserver: INSTALL: INFO: LinuxGSM version: v25.1.6
Sep 01 05:19:52.288 vintsserver: INSTALL: PASS: core_exit.sh exiting with code: 0
Sep 01 05:20:00.253 vintsserver: INSTALL: INFO: LinuxGSM version: v25.1.6
Sep 01 05:20:00.258 vintsserver: INSTALL: PASS: core_exit.sh exiting with code: 0
Sep 01 05:23:59.816 vintsserver: CORE: PASS: Downloading command_update_linuxgsm.sh...
Sep 01 05:24:01.073 vintsserver: UPDATE-LGSM: PASS: Downloading check_root.sh...
Sep 01 05:24:01.767 vintsserver: UPDATE-LGSM: PASS: Downloading check_logs.sh...
Sep 01 05:24:02.393 vintsserver: UPDATE-LGSM: PASS: Using cached IP as public IP address
Sep 01 05:24:02.648 vintsserver: UPDATE-LGSM: INFO: Updating LinuxGSM
Sep 01 05:24:03.267 vintsserver: UPDATE-LGSM: INFO: Selecting repo
Sep 01 05:24:04.608 vintsserver: UPDATE-LGSM: PASS: Checking GitHub script linuxgsm.sh
Sep 01 05:24:04.644 vintsserver: UPDATE-LGSM: INFO: Checking vintsserver
Sep 01 05:24:04.815 vintsserver: UPDATE-LGSM: INFO: Checking vintsserver
Sep 01 05:24:04.822 vintsserver: UPDATE-LGSM: INFO: Checking GitHub config _default.cfg
Sep 01 05:24:05.760 vintsserver: UPDATE-LGSM: PASS: Checking GitHub config _default.cfg
Sep 01 05:24:05.770 vintsserver: UPDATE-LGSM: INFO: Checking GitHub debian-11.csv
Sep 01 05:24:06.692 vintsserver: UPDATE-LGSM: PASS: Checking GitHub debian-11.csv
Sep 01 05:24:07.587 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module check_deps.sh
Sep 01 05:24:08.503 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module check_glibc.sh
Sep 01 05:24:13.772 vintsserver: UPDATE-LGSM: ERROR: Checking GitHub module check_ip.sh
Sep 01 05:24:13.889 vintsserver: UPDATE-LGSM: PASS: Removing module check_ip.sh
Sep 01 05:24:14.659 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module check_logs.sh
Sep 01 05:24:15.570 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module check_permissions.sh
Sep 01 05:24:16.339 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module check_root.sh
Sep 01 05:24:17.308 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module check.sh
Sep 01 05:24:18.179 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module check_system_requirements.sh
Sep 01 05:24:19.093 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module check_tmuxception.sh
Sep 01 05:24:20.044 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module check_version.sh
Sep 01 05:24:21.043 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module command_install.sh
Sep 01 05:24:21.933 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module command_update_linuxgsm.sh
Sep 01 05:24:22.970 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module core_dl.sh
Sep 01 05:24:23.904 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module core_exit.sh
Sep 01 05:24:24.770 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module core_getopt.sh
Sep 01 05:24:25.639 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module core_legacy.sh
Sep 01 05:24:26.560 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module core_messages.sh
Sep 01 05:24:27.439 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module core_modules.sh
Sep 01 05:24:28.294 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module core_trap.sh
Sep 01 05:24:29.163 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module info_distro.sh
Sep 01 05:24:30.139 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module info_game.sh
Sep 01 05:24:30.992 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module install_header.sh
Sep 01 05:24:32.031 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module install_logs.sh
Sep 01 05:24:32.955 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module install_server_dir.sh
Sep 01 05:24:33.876 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module install_server_files.sh
Sep 01 05:24:34.767 vintsserver: UPDATE-LGSM: PASS: Checking GitHub module update_vints.sh
Sep 01 05:24:34.878 vintsserver: UPDATE-LGSM: PASS: Updating modules
Sep 01 05:24:34.898 vintsserver: UPDATE-LGSM: INFO: LinuxGSM version: v25.1.6
Sep 01 05:24:34.902 vintsserver: UPDATE-LGSM: PASS: core_exit.sh exiting with code: 0
Sep 01 05:25:18.076 vintsserver: INSTALL: INFO: Logs installed
Sep 01 05:25:22.049 vintsserver: INSTALL: INFO: Required dependencies already installed.
Sep 01 05:25:27.306 vintsserver: INSTALL: PASS: Downloading vs_server_linux-x64_1.21.0.tar.gz...
Sep 01 05:25:27.722 vintsserver: INSTALL: PASS: Verifying vs_server_linux-x64_1.21.0.tar.gz with MD5
Sep 01 05:25:27.727 vintsserver: INSTALL: INFO: vs_server_linux-x64_1.21.0.tar.gz returned MD5 checksum: d16707a5d8e5725cf5c10c9699e03e3c
Sep 01 05:25:27.734 vintsserver: INSTALL: INFO: Expected MD5 checksum: d16707a5d8e5725cf5c10c9699e03e3c
Sep 01 05:25:33.856 vintsserver: INSTALL: PASS: Extracting vs_server_linux-x64_1.21.0.tar.gz
Sep 01 05:25:34.021 vintsserver: INSTALL: PASS: clearing tmp directory /home/vintsserver/lgsm/tmp
Sep 01 05:25:38.276 vintsserver: INSTALL: PASS: Downloading check_gamedig.sh...
Sep 01 05:25:39.031 vintsserver: INSTALL: PASS: Downloading install_config.sh...
Sep 01 05:25:39.738 vintsserver: INSTALL: PASS: Downloading fix.sh...
Sep 01 05:25:40.642 vintsserver: INSTALL: PASS: Downloading install_stats.sh...
Sep 01 05:25:46.785 vintsserver: INSTALL: PASS: Downloading install_complete.sh...
Sep 01 05:25:46.816 vintsserver: INSTALL: PASS: Install Complete!
Sep 01 05:25:46.954 vintsserver: INSTALL: INFO: LinuxGSM version: v25.1.6
Sep 01 05:25:46.959 vintsserver: INSTALL: PASS: core_exit.sh exiting with code: 0
Sep 01 05:25:56.810 vintsserver: CORE: PASS: Downloading linuxgsm.sh...
Sep 01 05:25:58.051 vintsserver: CORE: PASS: Downloading command_start.sh...
Sep 01 05:25:59.655 vintsserver: START: PASS: Downloading check_system_dir.sh...
Sep 01 05:26:00.323 vintsserver: START: PASS: Downloading check_executable.sh...
Sep 01 05:26:03.874 vintsserver: START: PASS: Downloading check_config.sh...
Sep 01 05:26:04.015 vintsserver: START: WARN: Configuration file missing!
Sep 01 05:26:04.029 vintsserver: START: WARN: /home/vintsserver/serverfiles/data/vintsserver/serverconfig.json
Sep 01 05:26:04.141 vintsserver: START: PASS: Using cached IP as public IP address
Sep 01 05:26:05.097 vintsserver: START: PASS: Downloading check_status.sh...
Sep 01 05:26:06.571 vintsserver: START: PASS: Using cached IP as public IP address
Sep 01 05:26:07.553 vintsserver: START: PASS: Downloading core_logs.sh...
Sep 01 05:26:08.276 vintsserver: START: INFO: Rotating log files
Steps to reproduce
- Fresh install Debian 11 (Bullseye) or Debian 12 (Bookworm).
- Create a new LGSM Vintage Story instance: ./linuxgsm.sh vintserver && ./vintsserver install
- Run the server: ./vintsserver start or ./vintsserver debug
- Observe that the server fails to launch.
https://github.com/GameServerManagers/LinuxGSM/issues/4732
Related to this closed issue (which may have only been temporarily fixed)
As a workaround, you can start the server by installing dotnet7 to satisfy the false dependency requirement. Obviously you still need dotnet8 installed to actually run the server, too.
You can install dotnet7 from the dotnet backports PPA, or directly from Microsoft.