Element-0 / ElementZero

Run windows version of BDS in linux with Mod support
GNU General Public License v3.0
271 stars 51 forks source link
bds bedrock-server-mod minecraft mod-support

status platform Telegram
Latest TagGitHub Releases (by Asset)

Run windows version of BDS in linux with Mod support (Yes, it is also can be run in windows)

Installation and usage instructions :point_right: Wiki

Features

  1. Compatiable with official BDS
  2. And support behavior pack with custom item/recipes/scripts ( vanilla server does* support them, but disabled in code)
  3. Can be run in windows and linux (with wine)
  4. Native modding support
  5. /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)

  1. Download bedrock dedicated server binary
  2. Generate bedrock_server_mod.lib (see below)
  3. Install vcpkg and install dependencies (see below)
  4. Build it with Visual Studio 2019 (or use CMake manually see .githubn/workflows/ci.yaml)
  5. Copy Dist/* to bds folder (or use symlink)
  6. Run bedrock_server_mod.exe

Visual Studio 2019 workloads and components

  1. Microsoft.VisualStudio.Workload.NativeDesktop
  2. Microsoft.VisualStudio.Workload.ManagedDesktop
  3. Microsoft.VisualStudio.Component.VC.Tools.x86.x64
  4. Microsoft.VisualStudio.Component.Windows10SDK.18362
  5. Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang

How to use vcpkg

  1. Install vcpkg in source tree cd vcpkg && bootstrap-vcpkg.bat
  2. Install dependencies by vcpkg\vcpkg.exe install @vcpkg.txt (run in $(SolutionDir))

How to get bedrock_server_mod.lib

  1. Download and install EatPdb
  2. Copy $(SolutionDir)\eatpdb.yaml to bds folder
  3. Run eatpdb exec eatpdb.yaml
  4. Open x64 Native Tools Command Prompt for VS 2019, then run lib /def:bedrock_server_mod.def /machine:x64
  5. Copy bedrock_server_mod.lib, addition_symbols.db, bedrock_server_mod.exe to $(SolutionDir)Lib\

LICENSE

GPLv3