Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Dedicated Server Linux

From MARNE Wiki
Revision as of 00:07, 27 February 2026 by Twig (talk | contribs)

Running the MARNE Dedicated Server on Linux

Prerequisites

Warning: Run everything here within a tmux session if you'd like it to continue running once you log out of ssh

Ensure the following dependencies are installed on your host:

  • podman
  • tmux
  • git
  • text editor (e.g. vim)

Generating auth.toml

Download the pre-release version of maxima from here

After logging in, locate the generated auth.toml file:

  • Windows:
 %APPDATA%\Roaming\ArmchairDevelopers\Maxima\data
  • Linux:
 $HOME/.local/share/maxima

Copy the contents of auth.toml into the same auth.toml inside the MARNE repository.

Podman Setup

On the machine that will host the dedicated server, execute the following commands individually:

mkdir -p $HOME/Games
mkdir -p $HOME/.local/share/Steam/compatibilitytools.d
git clone https://github.com/silkker/MARNE
cd MARNE
vim auth.toml   # Paste the contents from your main machine
vim tmux.conf   # Optional (uncomment from Containerfile if used)
podman build --no-cache -t marne_tonga:latest .

Running the Container

Run the container with:

podman run --replace -it \
  --name marne_tonga \
  -v $HOME/Games:/opt/games \
  -p 25200:25200/udp \
  -p 11079:11079/tcp \
  --security-opt seccomp=unconfined \
  marne_tonga:latest

Type exit once it gets into a shell.

Start the container by running

podman start -ai marne_tonga

Game Directory Setup

Create the Battlefield 1 directory:

sudo chmod 777 /opt/games
mkdir -p /opt/games/bf1

Run Maxima setup:

wlheadless-run -c cage -- $HOME/maxima.sh

(Press Ctrl+C once completed.)

Registry Configuration

Import required registry files:

PROTONPATH=$HOME/.local/share/maxima/wine/proton \
WINEPREFIX=$HOME/.local/share/maxima/wine/prefix \
umu-run $HOME/.local/share/maxima/wine/prefix/drive_c/windows/syswow64/regedit.exe \
$HOME/dll_overrides.reg
PROTONPATH=$HOME/.local/share/maxima/wine/proton \
WINEPREFIX=$HOME/.local/share/maxima/wine/prefix \
umu-run $HOME/.local/share/maxima/wine/prefix/drive_c/windows/syswow64/regedit.exe \
$HOME/bf1.reg

Anti-Cheat Bypass and dinput8.dll

Rename the anti-cheat launcher:

mv /opt/games/bf1/EAAntiCheat.GameServiceLauncher.exe \
   /opt/games/bf1/EAAntiCheat.GameServiceLauncher.exe.bak

Download and place the MARNE DLL:

curl -L https://github.com/silkker/MARNE/raw/refs/heads/main/Marne.dll \
     -o /opt/games/bf1/dinput8.dll

Server Configuration

Edit server settings as you wish:

vim /opt/games/bf1/ServerSettings.txt

Launch the server:

wlheadless-run -c cage -- maxima-cli launch \
  --game-path /opt/games/bf1/bf1.exe \
  --game-args=-mserver battlefield-1


Installing mods

Get a VPS with RDP setup or use waypipe (Frosty CLI is still way too WIP to be of use)

Run this inside podman

wget -O /opt/games/BF_FMM_Linux.tar.gz https://github.com/Twig6943/FrostyToolsuiteBattlefieldLinux/releases/latest/download/BF_FMM_Linux.tar.gz
tar -xzf /opt/games/BF_FMM_Linux.tar.gz -C /opt/games

Outside of podman, install umu and ge-proton for your distro like so (these commands are here as reference please go ahead and grab the latest version of everything);

export PROTONPATH=$HOME/.local/share/Steam/compatibilitytools.d/GE-Proton10-32

wget -O $HOME/ge-proton.tar.gz https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton10-32/GE-Proton10-32.tar.gz
tar -xzf $HOME/ge-proton.tar.gz -C "$HOME/.local/share/Steam/compatibilitytools.d"

sudo dpkg --add-architecture i386 # needed for debian-based

wget -O $HOME/umu.deb https://github.com/Open-Wine-Components/umu-launcher/releases/download/1.3.0/python3-umu-launcher_1.3.0-1_amd64_debian-13.deb
sudo dpkg -i $HOME/umu.deb


sudo chmod -R 777 $HOME/Games
umu-run $HOME/Games/Bf1_Linux_ModManager/FrostyModManager.exe


To start modded server run;

wlheadless-run -c cage -- \
  maxima-cli launch \
  --game-path "/opt/games/bf1/bf1.exe" \
  --game-args="-mserver" \
  --game-args="-dataPath" \
  --game-args="ModData/Default" \
  battlefield-1