LiteLoaderBDS - Epoch-making & Cross-language Bedrock Dedicated Servers Plugin Loader LiteLoaderBDS is an unofficial plugin loader that provides basic API support for Bedrock Dedicated Server, with a massive API, lots of packed utility interfaces, a rich event system and powerful basic interface support.
LiteLoaderBDS - Epoch-making & Cross-language Bedrock Dedicated Servers Plugin Loader
LiteLoaderBDS is an unofficial plugin loader that provides basic API support for Bedrock Dedicated Server, with a massive API, lots of packed utility interfaces, a rich event system and powerful basic interface support.
LiteLoader Bedrock Dedicated Server requires a single port (default 19132)
Port | default |
---|---|
Game | 19132 |
General Issues can check here -> LiteLoaderBDS Issues
Name | Tag |
---|---|
ghcr.io/ptero-eggs/yolks:wine_staging | ghcr.io/ptero-eggs/yolks:wine_staging |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
Bedrock Dedicated Server Version | Insert BDS Version | BDS_VERSION | latest | Yes | Yes |
Liteloader Version | Insert Liteloader Version from Github Releases | LL_VERSION | latest | Yes | Yes |
Wine | WINEDEBUG | -all | No | No | |
Server Name | The name for the server | SERVERNAME | Bedrock Dedicated Server | Yes | Yes |
Gamemode | Allowed values: "survival", "creative", or "adventure" | GAMEMODE | survival | Yes | Yes |
Difficulty | Allowed values: "peaceful", "easy", "normal", or "hard" | DIFFICULTY | easy | Yes | Yes |
Maximum Players | Maximum players to join on the server | MAXPLAYERS | 10 | Yes | Yes |
World Name | World/Level name to use for the server | WORLDNAME | Bedrock level | Yes | Yes |
#!/bin/bash
# Liteloader First-time Install Script
apk update
apk add gzip jq curl wine
cd /mnt/server
for file in *; do
if [ "$file" != "allowlist.json" ] && [ "$file" != "permissions.json" ] && [ "$file" != "server.properties" ] && [ "$file" != "plugins" ] && [ "$file" != "world" ]; then
if [ -d "$file" ]; then
rm -rf "$file" # Remove directories recursively
else
rm "$file" # Remove files
fi
fi
done
# Download Minecraft BDS
RANDVERSION=$(echo $((1 + $RANDOM % 4000)))
if [ -z "${BDS_VERSION}" ] || [ "${BDS_VERSION}" == "latest" ]; then
echo -e "\n Downloading latest Bedrock server"
curl -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.$RANDVERSION.212 Safari/537.36" -H "Accept-Language: en" -H "Accept-Encoding: gzip, deflate" -o versions.html.gz https://www.minecraft.net/en-us/download/server/bedrock
DOWNLOAD_URL=$(zgrep -o 'https://minecraft.azureedge.net/bin-win/[^"]*' versions.html.gz)
else
echo -e "\n Downloading ${BDS_VERSION} Bedrock server"
DOWNLOAD_URL=https://minecraft.azureedge.net/bin-win/bedrock-server-$BDS_VERSION.zip
fi
DOWNLOAD_FILE=$(echo ${DOWNLOAD_URL} | cut -d"/" -f5) # Retrieve archive name
echo -e "Downloading files from: $DOWNLOAD_URL"
curl -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.$RANDVERSION.212 Safari/537.36" -H "Accept-Language: en" -o $DOWNLOAD_FILE $DOWNLOAD_URL
echo -e "Unpacking server files"
unzip -o $DOWNLOAD_FILE
echo -e "Cleaning up after installing"
rm $DOWNLOAD_FILE
rm versions.html.gz
LATEST_JSON=$(curl --silent "https://api.github.com/repos/LiteLDev/LiteLoaderBDS/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/LiteLDev/LiteLoaderBDS/releases")
if [ -z "${LL_VERSION}" ] || [ "${LL_VERSION}" == "latest" ]; then
echo -e "\n Downloading latest LiteLoaderBDS from GitHub"
DOWNLOAD_GIT_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | head -1)
else
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${LL_VERSION}" == "${VERSION_CHECK}" ]; then
echo -e "\n Downloading ${LL_VERSION} LiteLoaderBDS from GitHub"
DOWNLOAD_GIT_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${LL_VERSION}" '.[] | select(.tag_name==$LL_VERSION) | .assets[].browser_download_url' | head -1)
else
echo -e "defaulting to latest release"
DOWNLOAD_GIT_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | head -1)
fi
fi
curl -sSL -o LiteLoader.zip ${DOWNLOAD_GIT_URL}
unzip -o LiteLoader.zip
mv -f LiteLoaderBDS/* /mnt/server
rm LiteLoader.zip
timeout 30s wine PeEditor.exe
rm -rf '/root/.wine' /mnt/server/LiteLoaderBDS/
# Downloading Launcher and finishing touches
wget https://io.ivampiresp.com/d/Software/MCServer/BDS/LiteLoader/lae-ll-launcher
chmod +x lae-ll-launcher
echo "Finished Downloading Liteloader..."