Run windows version of BDS in linux with Mod support (Yes, it is also can be run in windows)
π Wiki
Installation and usage instructions Features
- Compatiable with official BDS
- And support behavior pack with custom item/recipes/scripts (* vanilla server does support them, but disabled in code)
- Can be run in windows and linux (with wine)
- Native modding support
- /transferserver is back!
FAQ
Q: Why not use a native linux version?
A: The windows version has noticeable performance improvements, even when running under wine.
Q: Can the Windows version run directly under wine?
A: No, because Microsoft uses Chakra.dll, which contains a lot of references to private dlls. (It also prevents you from running on systems prior to Windows 10.)
Q: How it works?
A: I created a dll that simply forwards all APIs to the open source version of Chakra engine i.e. ChakraCore. And this version can run directly under wine.
Build and install (optional)
- Download bedrock dedicated server binary
- Generate bedrock_server_mod.lib (see below)
- Install vcpkg and install dependencies (see below)
- Build it with Visual Studio 2019 (or use CMake manually see .githubn/workflows/ci.yaml)
- Copy Dist/* to bds folder (or use symlink)
- Run bedrock_server_mod.exe
Visual Studio 2019 workloads and components
- Microsoft.VisualStudio.Workload.NativeDesktop
- Microsoft.VisualStudio.Workload.ManagedDesktop
- Microsoft.VisualStudio.Component.VC.Tools.x86.x64
- Microsoft.VisualStudio.Component.Windows10SDK.18362
- Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang
How to use vcpkg
- Install vcpkg in source tree
cd vcpkg && bootstrap-vcpkg.bat
- Install dependencies by
vcpkg\vcpkg.exe install @vcpkg.txt
(run in $(SolutionDir))
How to get bedrock_server_mod.lib
- Download and install EatPdb
- Copy $(SolutionDir)\eatpdb.yaml to bds folder
- Run
eatpdb exec eatpdb.yaml
- Open
x64 Native Tools Command Prompt for VS 2019
, then runlib /def:bedrock_server_mod.def /machine:x64
- Copy bedrock_server_mod.lib, addition_symbols.db, bedrock_server_mod.exe to $(SolutionDir)Lib\
LICENSE
GPLv3