Mount & Blade II: Bannerlord

games
Report Issue

A strategy/action RPG. Create a character, engage in diplomacy, craft, trade and conquer new lands in a vast medieval sandbox. Raise armies to lead into battle and command and fight alongside your troops in massive real-time battles using a deep but intuitive skill-based combat system.

Contributors:
README

Mount & Blade II: Bannerlord

Documentation

Installation/System Requirements

Bare Minimum Recommended
Processor AMD64 only -
RAM 4 GiB 8 GiB
Storage 5 GiB 8 GiB
Network 60 packets to each player and each packet is less than 1.5 kilobytes -
Game Ownership Needed for the game token -

Server Ports

Ports required to run the server

Port default
Game 7210 (UDP)

Notes

You need to get your own AUTH token to run this server generated by an offical client

YT Docs

Docker Images (1)
Name Image
ghcr.io/ptero-eggs/yolks:wine_latest ghcr.io/ptero-eggs/yolks:wine_latest
Startup Command
cd /home/container/bin/Win64_Shipping_Server/ && wine DedicatedCustomServer.Starter.exe /port {{SERVER_PORT}}  /dedicatedcustomserverauthtoken "{{AUTH_TOKEN}}" /dedicatedcustomserverconfigfile tdm_config.txt _MODULES_*Native*Multiplayer*DedicatedCustomServerHelper*_MODULES_
Variables (8)

Windows

Environment:
WINDOWS_INSTALL
Default:
1
User Viewable:
User Editable:
Rules:
required|boolean

App id

Environment:
SRCDS_APPID
Default:
1863440
User Viewable:
User Editable:
Rules:
required|string|in:1863440

Auto update

Auto update the server on restart.

Environment:
AUTO_UPDATE
Default:
1
User Viewable:
User Editable:
Rules:
required|boolean

[SYSTEM] WINEDEBUG

don't change this !!!

Environment:
WINEDEBUG
Default:
-all
User Viewable:
User Editable:
Rules:
required|string|max:64

[SYSTEM] WINEARCH

Environment:
WINEARCH
Default:
win64
User Viewable:
User Editable:
Rules:
required|string|max:20

WINEPATH

Environment:
WINEPATH
Default:
/home/container
User Viewable:
User Editable:
Rules:
required|string|max:32

WINETRICKS_RUN

Environment:
WINETRICKS_RUN
Default:
vcrun2019 dotnet472
User Viewable:
User Editable:
Rules:
required|string|

Auth token

See: https://www.youtube.com/watch?v=9Hvuz12Bfzg

Environment:
AUTH_TOKEN
Default:
None
User Viewable:
User Editable:
Rules:
required|string|
Installation Script
Container: ghcr.io/ptero-eggs/installers:debian
Entrypoint: bash
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'ghcr.io/ptero-eggs/installers:debian'



# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.
#apt -y update
#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates

## just in case someone removed the defaults.
if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; then
    echo -e "steam user is not set.\n"
    echo -e "Using anonymous user.\n"
    STEAM_USER=anonymous
    STEAM_PASS=""
    STEAM_AUTH=""
else
    echo -e "user set to ${STEAM_USER}"
fi

## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
cd /mnt/server/steamcmd

# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server

## install game using steamcmd
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6

## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so

## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so

## add below your custom commands if needed
mkdir -p /mnt/server/Modules/Native/
cd /mnt/server/Modules/Native/
[ -f "tdm_config.txt" ] || curl -sSL -o "tdm_config.txt" "https://pteropaste.com/z67k16z608ty"

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"