This repository houses the necessary files to get a working VintagestoryServer .NET 7.0 running on Linux Arm-64 architecture.
Mods using Harmony will not work properly on arm64 servers since Harmony is not compatible with arm64.
- Linux Arm64 server
- .NET 7.0 Runtime installed
-
Download the latest VintagestoryServer from account.vintagestory.at and extract it.
-
Delete the following files and folders:
- VintagestoryServer
- VintagestoryServer.deps.json
- VintagestoryServer.dll
- VintagestoryServer.pdb
- VintagestoryServer.runtimeconfig.json
- Lib
-
Download the release from this for your vintagestory version (1.18 or 1.19 as of now) repository and extract it.
-
Copy the contents of the
server
folder from the extracted files to your server location. -
Start the server using
./VintagestoryServer
ordotnet VintagestoryServer.dll
Alternatively, you can use the install script by doing the following:
-
Install required dependencies to use this script by doing
apt -y install curl jq
if on a debian based system. -
Create a new file named
arminstall.sh
by runningvim arminstall.sh
ornano arminstall.sh
-
Copy the contents of the
arminstall.sh
file from GitHub to your newly created file and save it by using:wq
with Vim orCtrl + X
, thenY
, thenEnter
with Nano. -
Make the script executable by running
chmod +x arminstall.sh
-
Run the script by doing
./arminstall.sh
-
Start the server by using
./VintagestoryServer
ordotnet VintagestoryServer.dll
This will download the latest version of Vintagestory to the current working directory, then replace the needed files to work with ARM.
You may also specify a specific version; for example, ./arminstall.sh -v 1.18.8
will download version 1.18.8. Be sure to check all the available parameters by running ./arminstall.sh -h
for more information.
If at any time you want to update to the latest version of Vintage Story, simply run the script again.
This version should be compatible with any version of the .NET 7 version of the game. The reason is that this only contains some dependencies and the binary to start the server since more is not necessary.
So far, we have tested it on a Raspberry Pi 4 4GB without issues. Keep in mind, though, this is very experimental, and we haven't done any more comprehensive testing so far. So this might run totally fine or have some major issues, be warned.
Mods: We have not tested much with mods yet, but since the rest of the code to make the server even start did not need any changes, like the internal mods, we expect it to work fine with almost all mods. Eventually, some mods that rely on specific native libraries that are not provided with the mod for Linux-arm64 may not work.
Furthermore, we have not tested or planned to provide a Linux Arm64 client version as of now, since as far as we are aware, there aren't many devices to make really use of it.
If you have any further questions or want to share your results/experience, feel free to do so in the Discord #multiplayer -> VintagestoryServer Arm64 thread.
Runs Vintagestory Server in Docker using official Microsoft .NET images.
- Linux Arm64 server. Tested with Raspberry Pi 5 (Raspbian OS).
- Install Docker
- Install Docker compose plugin
serverconfig.json
contains mostly defaults (paths changed to work with the container). Any edits will make it into the server.
The following command will build an image using the provided Dockerfile, mount storage, run the server, and attach the terminal to it:
docker compose up -d && docker attach vintagestoryserverarm64-vsserver-1
The first run will take longer, but eventually you should be able to type /help
and hit enter to see how to interact with the server.
- To save and shutdown, type
/stop
and hit enter. - Use
CTRL+P CTRL+Q
to detach terminal from the server. docker volume inspect vintagestoryserverarm64_vsdata
will show the storage mount.docker compose down -v
will remove the container along with the storage if you need to start over.docker compose up --build
to force rebuild from Dockerfile - this may be needed when updating Dockerfile.