Mount & Blade II: Bannerlord Updated May 11, 2026

Running Bannerlord Server on Linux

What you need to know before running a Bannerlord dedicated server on Linux — BattlEye limitations, the native .NET approach, and a systemd service example.

BannerlordLinuxBattlEyesystemd.NET

Official Support Status

TaleWorlds provides a Linux-compatible server DLL (TaleWorlds.Starter.DotNetCore.Linux.dll) but does not officially support Linux dedicated servers. More critically:

BattlEye anti-cheat blocks multiplayer connections on Wine and Proton-hosted servers. Players attempting to join a public server running under Wine will be kicked by BattlEye.

Recommendation: Use a Windows host for public multiplayer servers. Linux hosting is suitable for private servers, LAN events, or modded servers where BattlEye is disabled.

Requirements for Linux Hosting

  • .NET 6.0 runtime — required for the Linux DLL.
    sudo apt-get install dotnet-runtime-6.0
    
  • The server files installed via SteamCMD (App ID 1863440).
  • A valid auth token (same as Windows — generated in the game client).

Startup Command

dotnet TaleWorlds.Starter.DotNetCore.Linux.dll \
  _MODULES_*Native*Multiplayer* \
  /dedicatedcustomserverconfigfile default.txt \
  /dedicatedcustomserverauthtoken YOUR_TOKEN \
  /tickrate 90 \
  /dedicatedcustomserver 7210 USER 0 \
  /playerhosteddedicatedserver

Run this from the server's installation directory. After launch, type start_game in the console to make the server visible.

systemd Service

To run the server as a managed systemd service:

[Unit]
Description=Mount & Blade II: Bannerlord Dedicated Server
After=network.target

[Service]
Type=simple
User=bannerlord
WorkingDirectory=/opt/bannerlord
ExecStart=/usr/bin/dotnet TaleWorlds.Starter.DotNetCore.Linux.dll \
    _MODULES_*Native*Multiplayer* \
    /dedicatedcustomserverconfigfile default.txt \
    /dedicatedcustomserverauthtoken YOUR_TOKEN \
    /tickrate 90 \
    /dedicatedcustomserver 7210 USER 0 \
    /playerhosteddedicatedserver
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Save to /etc/systemd/system/bannerlord.service, then:

systemctl daemon-reload
systemctl enable bannerlord
systemctl start bannerlord

Note: start_game must still be run in the console after the process starts. With systemd, attach to the process stdin or use the web admin panel to issue the command.

BattlEye on Linux

BattlEye does not have a Linux client. Players connecting from Linux game clients to any Bannerlord server may also experience issues depending on their BattlEye configuration. If running a private server and BattlEye is causing problems, check TaleWorlds documentation for the /nobattleye flag — availability depends on the current game version.

When to Use Linux Hosting

Linux hosting is appropriate when:

  • Running a private server for a closed group of players who are aware of the limitations.
  • Hosting a modded server with mods that replace the BattlEye-checked game modes.
  • Running a development or test server where browser visibility is not required.

For a public-facing ranked or community server, use Windows.