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
serverfolder from the extracted files to your server location. -
Start the server using
./VintagestoryServerordotnet 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 jqif on a debian based system. -
Create a new file named
arminstall.shby runningvim arminstall.shornano arminstall.sh -
Copy the contents of the
arminstall.shfile from GitHub to your newly created file and save it by using:wqwith Vim orCtrl + X, thenY, thenEnterwith Nano. -
Make the script executable by running
chmod +x arminstall.sh -
Run the script by doing
./arminstall.sh -
Start the server by using
./VintagestoryServerordotnet 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-1The 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
/stopand hit enter. - Use
CTRL+P CTRL+Qto detach terminal from the server. docker volume inspect vintagestoryserverarm64_vsdatawill show the storage mount.docker compose down -vwill remove the container along with the storage if you need to start over.docker compose up --buildto force rebuild from Dockerfile - this may be needed when updating Dockerfile.