minecraft-linux / server-modloader

A mod loader for the Bedrock dedicated server
103 stars 13 forks source link

ModLoader

This is a tool to load mods onto the Linux version of Bedrock Dedicated Server.

Usage

Compiling from source

  1. git clone https://github.com/minecraft-linux/server-modloader.git --recursive
  2. cd server-modloader
  3. mkdir build && cd build
  4. cmake ..
  5. make

You now have a libserver_modloader.so binary.

Examples, usage info

Check out the wiki for examples and more information.

Getting mods to work on newer versions (1.16+)

Newer versions of BDS don't have exported symbols anymore, so a little hacking is necessary to modify the binary and make the symbols linkable.

Using LIEF, you can create a patched, moddable BDS from bedrock_server_symbols.debug using the following Python script:

import lief
import sys

lib_symbols = lief.parse("bedrock_server_symbols.debug")
for s in filter(lambda e: e.exported, lib_symbols.static_symbols):
    lib_symbols.add_dynamic_symbol(s)
lib_symbols.write("bedrock_server_symbols_patched.debug")