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
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
In order to run marne dedicated server you need the following dependencies installed on your system; <pre>git, podman, & a text editor</pre>>
== 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 (optional)
* git
* text editor (e.g. vim)
 
=== Generating <code>auth.toml</code> ===
 
Download the pre-release version of maxima from [https://github.com/silkker/MARNE/releases/tag/0.1 here]
 
After logging in, locate the generated <code>auth.toml</code> file:
 
* '''Windows''':
  <code>%APPDATA%\Roaming\ArmchairDevelopers\Maxima\data</code>
 
* '''Linux''':
  <code>$HOME/.local/share/maxima</code>
 
Copy the contents of <code>auth.toml</code> into the same <code>auth.toml</code> inside the MARNE repository.
 
=== Podman Setup ===
 
On the machine that will host the dedicated server, execute the following commands individually:


<pre>
<pre>
git clone https://github.com/silkker/MARNE
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 .
</pre>
=== Running the Container ===
Run the container with:
<pre>
podman run --replace -it \
  --name marne_tonga \
  -p 25200:25200/udp \
  -p 11079:11079/tcp \
  --security-opt seccomp=unconfined \
  marne_tonga:latest
</pre>


cd MARNE
Type exit once it gets into a shell.


vim auth.toml
Start the container by running


vim tmux.conf # optional (uncomment from Containerfile as well)
<pre>
podman start -ai marne_tonga
</pre>


podman build --no-cache -t marne_tonga:latest .
=== Game Directory Setup ===
 
Create the Battlefield 1 directory:


# Exit once it boots to a shell
<pre>
mkdir -p /opt/games/bf1
</pre>


podman run --replace -it \
Run Maxima setup:


  --name marne_tonga \
<pre>
wlheadless-run -c cage -- $HOME/maxima.sh
</pre>


  -p 25200:25200/udp \
(Press <code>Ctrl+C</code> once completed.)


  -p 11079:11079/tcp \
=== Registry Configuration ===


  --security-opt seccomp=unconfined \
Import required registry files:


  marne_tonga:latest
<pre>
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
</pre>


podman start -ai marne_tonga
<pre>
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
</pre>


mkdir -p /opt/games/bf1
=== Anti-Cheat Bypass and dinput8.dll ===


wlheadless-run -c cage -- $HOME/maxima.sh # (ctrl+c once its done)
Rename the original anti-cheat launcher:


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
<pre>
mv /opt/games/bf1/EAAntiCheat.GameServiceLauncher.exe \
  /opt/games/bf1/EAAntiCheat.GameServiceLauncher.exe.bak
</pre>


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/game.reg
Download and place the MARNE DLL:


mv /opt/games/bf1/EAAntiCheat.GameServiceLauncher.exe /opt/games/bf1/EAAntiCheat.GameServiceLauncher.exe.bak
<pre>
curl -L https://github.com/silkker/MARNE/raw/refs/heads/main/Marne.dll \
    -o /opt/games/bf1/dinput8.dll
</pre>


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:
<pre>
vim /opt/games/bf1/ServerSettings.txt
vim /opt/games/bf1/ServerSettings.txt
</pre>
Launch the server:


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

Latest revision as of 22:21, 17 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 (optional)
  • 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:

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 \
  -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:

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