Jump to content

Recommended Posts

Posted

Hi I've installed the vintage story server on debian 12 and have followed all of the instructions, however running ./server.sh start gives the following error:

Fatal! [USER] failed to adjust data privileges.  Aborting.

When running it with sudo permissions I get:

Starting VintagestoryServer.dll ...
bash: line 1: cd: /home/[USER]/server: Permission denied
Warning! Problems with VintagestoryServer.dll! Make sure user vintagestory has read/write access.
VintagestoryServer.dll is not running.
Error! User vintagestory could not start VintagestoryServer.dll! Please check /var/vintagestory/data/Logs.

There is nothing at var/vintagestory/data/Logs. I've tried giving user vintagestory owner of all files in ~/server and still nothing will work. I can start the server with dotnet VintagestoryServer.dll, but cannot enter the server console.

Any troubleshooting or help would be appreciated. If this is in the wrong place let me know and I will move it.

Posted (edited)

your entire vintagestory folders need to be owned by the vintagestory user.

When you run the script and it fails please show the output of these following commands:
 

> whoami
(inside the /var/vintagestory directory)
> ls -al

This might give you a clue to the problem.

Edited by traugdor
  • Like 1
Posted

whoami gives me my server-user for all paths but vintage story is nologin according to the wiki so I won't be able to switch to it regardless no?

All the vintage story files are owned by vitnagestory, user and group. ls -la for the server folder

drwxr-xr-x  5 vintagestory vintagestory     4096 Jan 18 00:20 .
drwx------ 13 server-user  server-user      4096 Jan 18 00:23 ..
drwxr-xr-x  5 vintagestory vintagestory     4096 Oct 27 19:16 assets
-rw-r--r--  1 vintagestory vintagestory     9694 May 17  2024 credits.txt
drwxr-xr-x  2 vintagestory vintagestory     4096 Oct 27 19:16 Lib
drwxr-xr-x  2 vintagestory vintagestory     4096 Oct 27 19:16 Mods
-rwxr-xr-x  1 vintagestory vintagestory    11252 Oct 27 19:50 server.sh
-rw-r--r--  1 vintagestory vintagestory  1844224 May 17  2024 VintagestoryAPI.dll
-rw-r--r--  1 vintagestory vintagestory   676572 May 17  2024 VintagestoryAPI.pdb
-rw-r--r--  1 vintagestory vintagestory  1816463 May 17  2024 VintagestoryAPI.xml
-rw-r--r--  1 vintagestory vintagestory  2609152 May 17  2024 VintagestoryLib.dll
-rw-r--r--  1 vintagestory vintagestory   937192 May 17  2024 VintagestoryLib.pdb
-rwxr-xr-x  1 vintagestory vintagestory   181016 May 17  2024 VintagestoryServer
-rw-r--r--  1 vintagestory vintagestory    40018 May 17  2024 VintagestoryServer.deps.json
-rw-r--r--  1 vintagestory vintagestory    94720 May 17  2024 VintagestoryServer.dll
-rw-r--r--  1 vintagestory vintagestory    12780 May 17  2024 VintagestoryServer.pdb
-rw-r--r--  1 vintagestory vintagestory      253 May 17  2024 VintagestoryServer.runtimeconfig.json
-rw-r--r--  1 vintagestory vintagestory 32058681 May 17  2024 vs_server_linux-x64_1.19.8.tar.gz

Despite being owned by vintage story trying to run the start command still gives this error: "Warning! Problems with VintagestoryServer.dll! Make sure user vintagestory has read/write access.
VintagestoryServer.dll is not running."
ls -la for /var/vintage story

drwxr-xr-x  3 root         root         4096 Oct 27 19:51 .
drwxr-xr-x 14 root         root         4096 Nov 21 21:54 ..
drwxrwxr-x  2 vintagestory vintagestory 4096 Oct 27 19:51 data

 

  • 5 weeks later...
Posted
On 1/19/2025 at 4:06 AM, frost11111 said:

I had a similar issue. In my case I had .NET 9.0 runtime installed instead of .NET 7.0. My fix was to edit VintagestoryServer.runtimeconfig.json to use .NET 9.0. 

this was ultimately the issue for me also (thanks!)

  • Like 1
Posted
On 1/18/2025 at 7:06 PM, frost11111 said:

I had a similar issue. In my case I had .NET 9.0 runtime installed instead of .NET 7.0. My fix was to edit VintagestoryServer.runtimeconfig.json to use .NET 9.0. 

vintagestory requires Net 7.0 not 9.0 since it does not support 9.0 so using 9.0 is not recommended, best is to remove 9.0 and install 7.0 if this is on linux.

Posted (edited)
On 1/6/2025 at 12:44 AM, Komola said:

Hi I've installed the vintage story server on debian 12 and have followed all of the instructions, however running ./server.sh start gives the following error:

Fatal! [USER] failed to adjust data privileges.  Aborting.

When running it with sudo permissions I get:

Starting VintagestoryServer.dll ...
bash: line 1: cd: /home/[USER]/server: Permission denied
Warning! Problems with VintagestoryServer.dll! Make sure user vintagestory has read/write access.
VintagestoryServer.dll is not running.
Error! User vintagestory could not start VintagestoryServer.dll! Please check /var/vintagestory/data/Logs.

There is nothing at var/vintagestory/data/Logs. I've tried giving user vintagestory owner of all files in ~/server and still nothing will work. I can start the server with dotnet VintagestoryServer.dll, but cannot enter the server console.

Any troubleshooting or help would be appreciated. If this is in the wrong place let me know and I will move it.

since it says here: 

Warning! Problems with VintagestoryServer.dll! Make sure user vintagestory has read/write access.

read/write access is issue, try doing chmod 666 on files and 777 on folders and see if that may fix it.

Another thing i noticed is this

/home/[USER]/server: Permission denied

is your path /home/vintagestory/server?

Edited by JakeSully
  • 3 weeks later...
Posted (edited)
On 1/5/2025 at 7:44 PM, Komola said:

Hi I've installed the vintage story server on debian 12 and have followed all of the instructions, however running ./server.sh start gives the following error:

Fatal! [USER] failed to adjust data privileges.  Aborting.

 

There's honestly a tonne of errors in the server.sh file, but the specific one that's causing this is because of how find and xargs handles whitespace causing chgrp to fail because some file in your data folder has a space in it.

you can fix it by giving find the -print0 argument xargs the -0 argument on line 73

find "${DATAPATH}" -user "${ME}" -print0 | xargs -0 chgrp "${GROUPNAME}" > /dev/null 2>&1 || { echo "Fatal! ${ME} failed to adjust data privileges.  Aborting." >&2; exit 1; }
Edited by Histy
  • 2 weeks later...
Posted
On 3/15/2025 at 2:34 AM, Histy said:

you can fix it by giving find the -print0 argument xargs the -0 argument on line 73

Attempted this fix to no avail. I am getting the same error that user vintagestory has not been given proper permissions

Posted

Looking at this again, after ensuring that all users have permissions to run files,

running ./server.sh start gives the following error:

Fatal! [USER] failed to adjust data privileges.  Aborting.

When running it with sudo permissions I get:

Starting VintagestoryServer.dll ...
bash: line 1: cd: /home/neldu_nak/vintagestory/server: Permission denied
Warning! Problems with VintagestoryServer.dll! Make sure user vintagestory has read/write access.
VintagestoryServer.dll is not running.
Error! User vintagestory could not start VintagestoryServer.dll! Please check /home/neldu_nak/vintagestory/server/data/Logs.
neldu_nak@drfacilier:~/vintagestory/server$ ./server.sh start
Posted (edited)

There is another way to configure the server for Linux without sudo although if security is what you need then configuring it a different way, But this is how I do it.

Edit the server.sh file that is contain in the directory such as

(custom paths) [replace the USER with yours] {what mine looks like}

/home/USER/vs_server_linux-x64_1.20.7

{ /home/vs/vs_server_linux-x64_1.20.7 }

Then change the username to whatever user you have install for the server my case its called ""vs""

USERNAME='vs'

Next is to change the VSpath and DATAPATH (DataPath is where the servers logs, player character data, world data, banlist/whitelist etc etc is stored in)

VSPATH='/home/vs/vs_server_linux-x64_1.20.7'

DATAPATH='/home/vs/server'

Finally all you need its to start the server.sh file in the terminal like so

./server start

It will say is the datapath create so you may have to create the directory so it can located and fill it, in any case let me know how it goes :D

I've also lodged  a support ticket to understand the ServerMagicNumbers.json file to increase performance on the server but I know the VS team is busy with the next update for the game so I can wait while gathering fireclay for the start of the Steel Age XD

 

EDIT:

by changing the default values and paths for the server.sh file you wont need to run the server in sudo mode / root user

Edited by Nomad-555
  • 1 month later...
Posted (edited)

I was able to find out how to get the server running using the recommended method (a dedicated "vintagestory" user without sudo to run the start script) on minimum install Debian 12. Here is the full process, which is a combination of the process outlined on the wiki here and here.

1. Install dependencies. Then, create a dedicated user and start a bash session as the user; we can effectively log into the user by telling it to use bash as its shell temporarily despite having its default shell be /sbin/nologin:

sudo apt install -y procps screen wget
useradd vintagestory -s /sbin/nologin -m
sudo -u vintagestory bash

2. Now that we are in a bash shell as vintagestory, we continue the setup by navigating to the user's home directory and setting it up for the server by making a data and server directory:

cd ~ && mkdir data server

3. Now we install the proper .NET runtime with

wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
./dotnet-install.sh --channel 7.0

4. There should now be a hidden ".dotnet" folder in /home/vintagestory, you can check with a quick ls -a. But now we can go into the server directory and download the server files and give execute perms to the startup script.

cd server
wget https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_1.20.9.tar.gz
tar xzf vs_server_linux-x64_*.*.*.tar.gz && rm vs_server_linux-x64_*.*.*.tar.gz
chmod +x server.sh 

5. Now, we have to make a small edit to the script so that we set up the proper environment. We have to add the .NET binaries to this user's PATH so the server can find them. This amounts to adding the following lines to server.sh (I put them just before the "INVOCATION" line):

export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

6. Edit whatever firewall settings you have to in order for the server, on whatever port you set (42420 by default) will make it through your firewall (Step 6 here has details).

7. We can now verify if the server can start properly, since we are still "logged in" as vintagestory we can simply execute

./server.sh start

8. The server should start correctly, stop it with the stop command before continuing. Now we can exit the bash session (type exit or hit Ctrl+D). Next, we want to set up a systemd service so that we have full logging, the ability to enable the service at startup, and also have it restart on a crash. We will create a service file

sudo rnano /etc/systemd/system/vs_server.service

and paste in the following settings:

[Unit]
Description=Vintage Story Dedicated Server
After=network.target

[Service]
Type=forking
User=vintagestory
WorkingDirectory=/home/vintagestory/server
ExecStart=/home/vintagestory/server/server.sh start
ExecStop=/home/vintagestory/server/server.sh stop
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

9. Now we should be able to manage the server using normal systemctl commands. To start it up now and enable the service use:

sudo systemctl enable --now vs_server

10. The server will ultimately exist in the background now, but if we ever want to open up the server console and type in some commands, we can simply pull up the screen session the startup script created.

sudo -u vintagestory screen -D -R vintagestory_server

You can type commands here as usual and they will be sent to the server. You can exit the session by hitting Ctrl+A and then D. There may be another way to do this besides the sudo shananigans, but this works so 🤷‍♂️.

 

Hopefully that helps some people!

 

Edited by ChuckGlarman
  • Thanks 3
Posted
On 5/4/2025 at 11:53 PM, ChuckGlarman said:

I was able to find out how to get the server running using the recommended method (a dedicated "vintagestory" user without sudo to run the start script) on minimum install Debian 12. Here is the full process, which is a combination of the process outlined on the wiki here and here.

1. Install dependencies. Then, create a dedicated user and start a bash session as the user; we can effectively log into the user by telling it to use bash as its shell temporarily despite having its default shell be /sbin/nologin:

sudo apt install -y procps screen wget
useradd vintagestory -s /sbin/nologin -m
sudo -u vintagestory bash

2. Now that we are in a bash shell as vintagestory, we continue the setup by navigating to the user's home directory and setting it up for the server by making a data and server directory:

cd ~ && mkdir data server

3. Now we install the proper .NET runtime with

wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
./dotnet-install.sh --channel 7.0

4. There should now be a hidden ".dotnet" folder in /home/vintagestory, you can check with a quick ls -a. But now we can go into the server directory and download the server files and give execute perms to the startup script.

cd server
wget https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_1.20.9.tar.gz
tar xzf vs_server_linux-x64_*.*.*.tar.gz && rm vs_server_linux-x64_*.*.*.tar.gz
chmod +x server.sh 

5. Now, we have to make a small edit to the script so that we set up the proper environment. We have to add the .NET binaries to this user's PATH so the server can find them. This amounts to adding the following lines to server.sh (I put them just before the "INVOCATION" line):

export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

6. Edit whatever firewall settings you have to in order for the server, on whatever port you set (42420 by default) will make it through your firewall (Step 6 here has details).

7. We can now verify if the server can start properly, since we are still "logged in" as vintagestory we can simply execute

./server.sh start

8. The server should start correctly, stop it with the stop command before continuing. Now we can exit the bash session (type exit or hit Ctrl+D). Next, we want to set up a systemd service so that we have full logging, the ability to enable the service at startup, and also have it restart on a crash. We will create a service file

sudo rnano /etc/systemd/system/vs_server.service

and paste in the following settings:

[Unit]
Description=Vintage Story Dedicated Server
After=network.target

[Service]
Type=forking
User=vintagestory
WorkingDirectory=/home/vintagestory/server
ExecStart=/home/vintagestory/server/server.sh start
ExecStop=/home/vintagestory/server/server.sh stop
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

9. Now we should be able to manage the server using normal systemctl commands. To start it up now and enable the service use:

sudo systemctl enable --now vs_server

10. The server will ultimately exist in the background now, but if we ever want to open up the server console and type in some commands, we can simply pull up the screen session the startup script created.

sudo -u vintagestory screen -D -R vintagestory_server

You can type commands here as usual and they will be sent to the server. You can exit the session by hitting Ctrl+A and then D. There may be another way to do this besides the sudo shananigans, but this works so 🤷‍♂️.

 

Hopefully that helps some people!

So, I followed this information step by step. I am running this on a Raspberry Pi 5 and everytime I try to run the server I get the error message:

Starting VintagestoryServer.dll ...
VintagestoryServer.dll is not running.
Error! User vintagestory could not start VintagestoryServer.dll! Please check /home/vintagestory/data/Logs.

After it didn't work I made everything Read / Writeable to see if that would work (it didn't): 

drwxrwxrwx 5 vintagestory vintagestory    4096 May  8 15:11 .
drwxrwxrwx 6 vintagestory vintagestory    4096 May  8 15:08 ..
drwxrwxrwx 5 vintagestory vintagestory    4096 May  8 15:07 assets
-rwxrwxrwx 1 vintagestory vintagestory   10377 May  5 05:03 credits.txt
drwxrwxrwx 2 vintagestory vintagestory    4096 May  8 15:07 Lib
drwxrwxrwx 2 vintagestory vintagestory    4096 May  8 15:07 Mods
-rwxrwxrwx 1 vintagestory vintagestory   11697 May  8 15:18 server.sh
-rwxrwxrwx 1 vintagestory vintagestory 1932288 May  5 05:03 VintagestoryAPI.dll
-rwxrwxrwx 1 vintagestory vintagestory  712048 May  5 05:03 VintagestoryAPI.pdb
-rwxrwxrwx 1 vintagestory vintagestory 1977614 May  5 05:03 VintagestoryAPI.xml
-rwxrwxrwx 1 vintagestory vintagestory 2744320 May  5 05:03 VintagestoryLib.dll
-rwxrwxrwx 1 vintagestory vintagestory  976648 May  5 05:03 VintagestoryLib.pdb
-rwxrwxrwx 1 vintagestory vintagestory  181016 May  5 05:03 VintagestoryServer
-rwxrwxrwx 1 vintagestory vintagestory   42096 May  5 05:03 VintagestoryServer.deps.json
-rwxrwxrwx 1 vintagestory vintagestory   94720 May  5 05:03 VintagestoryServer.dll
-rwxrwxrwx 1 vintagestory vintagestory   12868 May  5 05:03 VintagestoryServer.pdb
-rwxrwxrwx 1 vintagestory vintagestory     294 May  5 05:03 VintagestoryServer.runtimeconfig.json

Anything you could assist with her I would greatly appreciate it. 
 

  • 2 months later...
Posted
On 5/8/2025 at 9:32 PM, arorer said:

So, I followed this information step by step. I am running this on a Raspberry Pi 5 and everytime I try to run the server I get the error message:

Starting VintagestoryServer.dll ...
VintagestoryServer.dll is not running.
Error! User vintagestory could not start VintagestoryServer.dll! Please check /home/vintagestory/data/Logs.

After it didn't work I made everything Read / Writeable to see if that would work (it didn't): 

drwxrwxrwx 5 vintagestory vintagestory    4096 May  8 15:11 .
drwxrwxrwx 6 vintagestory vintagestory    4096 May  8 15:08 ..
drwxrwxrwx 5 vintagestory vintagestory    4096 May  8 15:07 assets
-rwxrwxrwx 1 vintagestory vintagestory   10377 May  5 05:03 credits.txt
drwxrwxrwx 2 vintagestory vintagestory    4096 May  8 15:07 Lib
drwxrwxrwx 2 vintagestory vintagestory    4096 May  8 15:07 Mods
-rwxrwxrwx 1 vintagestory vintagestory   11697 May  8 15:18 server.sh
-rwxrwxrwx 1 vintagestory vintagestory 1932288 May  5 05:03 VintagestoryAPI.dll
-rwxrwxrwx 1 vintagestory vintagestory  712048 May  5 05:03 VintagestoryAPI.pdb
-rwxrwxrwx 1 vintagestory vintagestory 1977614 May  5 05:03 VintagestoryAPI.xml
-rwxrwxrwx 1 vintagestory vintagestory 2744320 May  5 05:03 VintagestoryLib.dll
-rwxrwxrwx 1 vintagestory vintagestory  976648 May  5 05:03 VintagestoryLib.pdb
-rwxrwxrwx 1 vintagestory vintagestory  181016 May  5 05:03 VintagestoryServer
-rwxrwxrwx 1 vintagestory vintagestory   42096 May  5 05:03 VintagestoryServer.deps.json
-rwxrwxrwx 1 vintagestory vintagestory   94720 May  5 05:03 VintagestoryServer.dll
-rwxrwxrwx 1 vintagestory vintagestory   12868 May  5 05:03 VintagestoryServer.pdb
-rwxrwxrwx 1 vintagestory vintagestory     294 May  5 05:03 VintagestoryServer.runtimeconfig.json

Anything you could assist with her I would greatly appreciate it. 
 

I'm having the exact same issue with my Raspberry Pi 4. Did you by any chance fix it?

Posted (edited)
On 1/18/2025 at 12:35 AM, Komola said:

whoami gives me my server-user for all paths but vintage story is nologin according to the wiki so I won't be able to switch to it regardless no?

All the vintage story files are owned by vitnagestory, user and group. ls -la for the server folder

drwxr-xr-x  5 vintagestory vintagestory     4096 Jan 18 00:20 .
drwx------ 13 server-user  server-user      4096 Jan 18 00:23 ..
drwxr-xr-x  5 vintagestory vintagestory     4096 Oct 27 19:16 assets
-rw-r--r--  1 vintagestory vintagestory     9694 May 17  2024 credits.txt
drwxr-xr-x  2 vintagestory vintagestory     4096 Oct 27 19:16 Lib
drwxr-xr-x  2 vintagestory vintagestory     4096 Oct 27 19:16 Mods
-rwxr-xr-x  1 vintagestory vintagestory    11252 Oct 27 19:50 server.sh
-rw-r--r--  1 vintagestory vintagestory  1844224 May 17  2024 VintagestoryAPI.dll
-rw-r--r--  1 vintagestory vintagestory   676572 May 17  2024 VintagestoryAPI.pdb
-rw-r--r--  1 vintagestory vintagestory  1816463 May 17  2024 VintagestoryAPI.xml
-rw-r--r--  1 vintagestory vintagestory  2609152 May 17  2024 VintagestoryLib.dll
-rw-r--r--  1 vintagestory vintagestory   937192 May 17  2024 VintagestoryLib.pdb
-rwxr-xr-x  1 vintagestory vintagestory   181016 May 17  2024 VintagestoryServer
-rw-r--r--  1 vintagestory vintagestory    40018 May 17  2024 VintagestoryServer.deps.json
-rw-r--r--  1 vintagestory vintagestory    94720 May 17  2024 VintagestoryServer.dll
-rw-r--r--  1 vintagestory vintagestory    12780 May 17  2024 VintagestoryServer.pdb
-rw-r--r--  1 vintagestory vintagestory      253 May 17  2024 VintagestoryServer.runtimeconfig.json
-rw-r--r--  1 vintagestory vintagestory 32058681 May 17  2024 vs_server_linux-x64_1.19.8.tar.gz

Despite being owned by vintage story trying to run the start command still gives this error: "Warning! Problems with VintagestoryServer.dll! Make sure user vintagestory has read/write access.
VintagestoryServer.dll is not running."
ls -la for /var/vintage story

drwxr-xr-x  3 root         root         4096 Oct 27 19:51 .
drwxr-xr-x 14 root         root         4096 Nov 21 21:54 ..
drwxrwxr-x  2 vintagestory vintagestory 4096 Oct 27 19:51 data

 

I mean... your setup looks the same as mine. I'm running Ubuntu server. Not sure what could be different, except maybe the .NET setup for Debian might be missing a figure that .NET for Ubuntu has. 🤔

The only difference off the top of my head is that I run

sudo su vintagestory

before starting the server.sh script

Edited by traugdor
Posted (edited)

I decided to try this out, to install on ubuntu, and I am getting the error of "Error! User vintagestory could not start VintagestoryServer.dll! Please check /home/vintagestory/var/data/Logs."
user vintagestory is owner on everything, i am running the start script as vintagestory... and the logs folder doesn't even exist. I would assume it is some sort of permission issue, but i cannot for the life of me figure out what the problem is.
I've even tried running it with sudo, and it gives same error.

Sorry for necro'ing, but i didn't really see anywhere else to put this.

Edited by EternalFragment
Posted (edited)
On 5/8/2025 at 3:32 PM, arorer said:

So, I followed this information step by step. I am running this on a Raspberry Pi 5 and everytime I try to run the server I get the error message:

Starting VintagestoryServer.dll ...
VintagestoryServer.dll is not running.
Error! User vintagestory could not start VintagestoryServer.dll! Please check /home/vintagestory/data/Logs.

After it didn't work I made everything Read / Writeable to see if that would work (it didn't): 

drwxrwxrwx 5 vintagestory vintagestory    4096 May  8 15:11 .
drwxrwxrwx 6 vintagestory vintagestory    4096 May  8 15:08 ..
drwxrwxrwx 5 vintagestory vintagestory    4096 May  8 15:07 assets
-rwxrwxrwx 1 vintagestory vintagestory   10377 May  5 05:03 credits.txt
drwxrwxrwx 2 vintagestory vintagestory    4096 May  8 15:07 Lib
drwxrwxrwx 2 vintagestory vintagestory    4096 May  8 15:07 Mods
-rwxrwxrwx 1 vintagestory vintagestory   11697 May  8 15:18 server.sh
-rwxrwxrwx 1 vintagestory vintagestory 1932288 May  5 05:03 VintagestoryAPI.dll
-rwxrwxrwx 1 vintagestory vintagestory  712048 May  5 05:03 VintagestoryAPI.pdb
-rwxrwxrwx 1 vintagestory vintagestory 1977614 May  5 05:03 VintagestoryAPI.xml
-rwxrwxrwx 1 vintagestory vintagestory 2744320 May  5 05:03 VintagestoryLib.dll
-rwxrwxrwx 1 vintagestory vintagestory  976648 May  5 05:03 VintagestoryLib.pdb
-rwxrwxrwx 1 vintagestory vintagestory  181016 May  5 05:03 VintagestoryServer
-rwxrwxrwx 1 vintagestory vintagestory   42096 May  5 05:03 VintagestoryServer.deps.json
-rwxrwxrwx 1 vintagestory vintagestory   94720 May  5 05:03 VintagestoryServer.dll
-rwxrwxrwx 1 vintagestory vintagestory   12868 May  5 05:03 VintagestoryServer.pdb
-rwxrwxrwx 1 vintagestory vintagestory     294 May  5 05:03 VintagestoryServer.runtimeconfig.json

Anything you could assist with her I would greatly appreciate it. 
 

Hey! I never had my notifications setup so I completely forgot about this thread... sorry! If you haven't figured it out yet I would love to help! Also goes for everyone else experiencing issues here. Without the logs its hard to debug this, but we can check the dotnet install. Can you post an ls of the dotnet directory and the dotnetinstall/tools directory? Others should have execute perms on all of that or else VS can't use it. Also, check perms directory by directory, including the game data directory (wherever you set it) and Logs directory therein. My guess is it can't access those even though the directory with the start script is all good. Remember that chown and chmod don't work recursively very well: i.e.

chmod -R g+rw ./*

will only go one layer deep. If it hits a directory it will apply the perms to the directory but will not go inside it. So, even though a directory somewhere has the right perms, but the files inside it don't, the server will not start.

In the meantime I will try to get a docker image working with a barebones server in it as a proof of concept. One should be able to read the Dockerfile for all the step-by-step instructions for setting it up. As long as you have the correct versions of the dependencies I don't expect anything to be different between ubuntu/debian/Raspbian.

Edited by ChuckGlarman
  • Thanks 1
  • 4 weeks later...
Posted
On 5/8/2025 at 3:32 PM, arorer said:
Starting VintagestoryServer.dll ...
VintagestoryServer.dll is not running.
Error! User vintagestory could not start VintagestoryServer.dll! Please check /home/vintagestory/data/Logs.

So sorry to necro I know this thread is old old now but I'm having literally the exact same issue on Ubuntu 24.04.2 LTS. Permissions are all set up correctly, i have dotnet 7.0 installed manually with the right paths and such, and the server still just refuses to boot through server.sh. I gave vintagestory ownership of /var/vintagestory and it still didnt write any logs so I tried changing the data path to /home/vintagestory/data but it doesnt write any logs there either, even if the Logs directory is manually created. It really sucks that there's just no logging otherwise I suspect this issue may not be hard to debug

 

  • 2 weeks later...
Posted (edited)

Thought I'd contribute what worked for me on Linux Mint 22.1, as I managed to get a server up and running.

I followed the guide posted by ChuckGlarman (thanks, by the way) but the server would not start with an error similar to this:

VintagestoryServer.dll is not running.
Error! User vintagestory could not start VintagestoryServer.dll! Please check /var/vintagestory/data/Logs.

What worked for me was editing step five of his guide to be

export DOTNET_ROOT=$HOME/.dotnet
export PATH=$DOTNET_ROOT:$DOTNET_ROOT/tools:$PATH

instead of

export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

which I believe allows server.sh to prefer using the dotnet SDK installed to ~/.dotnet instead of any version that may otherwise be installed on the system.

Following the recent update to VintageStory 1.21.0, I had to also install version 8.0 of the dotnet SDK using

./dotnet-install.sh --channel 8.0

with the dotnet install script.

Since I migrated my server from Windows, I also had to update the serverconfig.json in the server data folder to take the new correct mod paths and save file locations, along with converting the path styles from Windows to UNIX.

Since I was copying files (world files, config, etc.) from a different mounted partition, I had to sudo cp the file, which by default makes root the owner of the copied file. To get around this, I just copied the file to a location owned by vintagestory (i.e. the server data folder) then copied it again as vintagestory without sudo, which I found was the easiest way of making vintagestory the owner of the file, in case that is also necessary.

Hope this helps someone.

Edited by tinbolw
  • Thanks 2
×
×
  • 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.