Skip to content
This repository was archived by the owner on Nov 1, 2024. It is now read-only.
/ LiteLoaderBDS Public archive

A legacy plugin loader for Minecraft Bedrock Dedicated Server

License

Notifications You must be signed in to change notification settings

LiteLDev/LiteLoaderBDS

Repository files navigation

LiteLoader 2.0

简体中文 | English
Donate us(afdian)
Official Forum
status Discord Telegram
Latest TagGitHub Releases (by Asset)
A lightweight Bedrock Dedicated Server Plugin Loader
Based on BedrockX

Install

Windows

  1. Download LiteLoader.zip from Releases or Actions, unzip it to BDS directory
  2. Run SymDB2.exe to generate symbol files(bedrock_server.symdb2) and BDS with export symbols(function) bedrock_server_mod.exe(some plugins require this version of bds), before you run SymDB2.exe you need to check if the bedrock_server.pdb exists

Develop

  1. run SymDB2.exe -def
  2. add bedrock_server.dll to [Properties -> Linker -> Input -> Delay Load DLL]
  3. run llvm-dlltool to generate import library using the following command (Tools/llvm-dlltool-msys2 is recommended)
llvm-dlltool -m i386:x86-64 -d bedrock_server_api.def -l bedrock_server_api.lib
llvm-dlltool -m i386:x86-64 -d bedrock_server_var.def -l bedrock_server_var.lib
  1. use #pragma comment(lib, "path to lib") or any method you like to add those libraries
  2. add SymDBHelper.lib to your project
  3. using headers in SDK/Header/MC and here we go

Docker(Linux)

docker pull shrbox/liteloaderbds
docker create --name liteloader -p 19132:19132/udp -i -t shrbox/liteloaderbds

Start server: docker container start liteloader
Stop server(unrecommended): docker container stop liteloader
Show console: docker attach liteloader
Exit console: press Ctrl + P + Q, if you press Ctrl + C server process will exit
If you want to manage server file, use docker volume --help for more details

Usage

Put .dll plugins into plugins\ directory and run bedrock_server_mod.exe

More

See Docs

LICENSE

LiteLoader GPLv3 with extra restrictions & exceptions
BedrockX GPLv3 with extra restrictions & exceptions
ElementZero GPL v3
ChakraCore MIT
OpenSSL Apache-2.0 License nbt-cpp MIT

Restrictions & Exceptions

First, you must accept the Minecraft EULA.

  • It means DO NOT MAKE COMMERCIAL USE OF ANYTHING which breaks the EULA.
  • Accepting this LICENSE means you ACCEPTED Minecraft EULA too.
  • If you violate the EULA, any legal liability is IRRELEVANT to the developers
  • NO WARRANTY

Second, if you provide a server hosting service, you can use this framework for free, but you SHOULD NOT MAKE PRIVATE changes to this framework as a selling point. If you fixed or tweaked the code, please pull request, instead of making it private for commercial use. Do not do evil.

Although we expected to build an open-source community but forcing everything open-source will ruin this community.
So, you can write plugins based on LiteLoader with ANY open-source license or even don't publish your source code. Exception, if you modified the framework, or write a new framework based on this framework, you HAVE TO open-source it.