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: Difference between revisions

From MARNE Wiki
Twig (talk | contribs)
No edit summary
Twig (talk | contribs)
No edit summary
Line 141: Line 141:
</pre>
</pre>


Outside of podman, install umu and proton for your distro like so (these commands are here as reference please go ahead and grab the latest version of everything);
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);


<pre>
<pre>

Revision as of 23:25, 26 February 2026

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 original 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