Egg Repository

Pterodactyl Community Egg Repository

Liteloader Bedrock Dedicated Server

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.

Read Me

LiteLoader Bedrock Dedicated Server

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.

Server Ports

LiteLoader Bedrock Dedicated Server requires a single port (default 19132)

Port default
Game 19132

Known Issues

General Issues can check here -> LiteLoaderBDS Issues

Yolks
NameTag
ghcr.io/ptero-eggs/yolks:wine_stagingghcr.io/ptero-eggs/yolks:wine_staging
Variables
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
Bedrock Dedicated Server VersionInsert BDS VersionBDS_VERSIONlatestYesYes
Liteloader VersionInsert Liteloader Version from Github ReleasesLL_VERSIONlatestYesYes
WineWINEDEBUG-allNoNo
Server NameThe name for the serverSERVERNAMEBedrock Dedicated ServerYesYes
GamemodeAllowed values: "survival", "creative", or "adventure"GAMEMODEsurvivalYesYes
DifficultyAllowed values: "peaceful", "easy", "normal", or "hard"DIFFICULTYeasyYesYes
Maximum PlayersMaximum players to join on the serverMAXPLAYERS10YesYes
World NameWorld/Level name to use for the serverWORLDNAMEBedrock levelYesYes
Install Script
#!/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..."