Dedicated Server Linux: Difference between revisions
More actions
No edit summary |
No edit summary |
||
| (7 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== Running | == Running dedicated server on GNU/Linux == | ||
=== Prerequisites === | === Prerequisites === | ||
| Line 99: | Line 99: | ||
=== Anti-Cheat Bypass and dinput8.dll === | === Anti-Cheat Bypass and dinput8.dll === | ||
Rename the | Rename the anti-cheat launcher: | ||
<pre> | <pre> | ||
| Line 106: | Line 106: | ||
</pre> | </pre> | ||
Download and place the | Download and place the dinput8.dll: | ||
<pre> | <pre> | ||
| Line 144: | Line 144: | ||
<pre> | <pre> | ||
export PROTON_ENABLE_WAYLAND=1 # If you're on a wayland session | |||
export PROTONPATH=$HOME/.local/share/Steam/compatibilitytools.d/GE-Proton10-32 | export PROTONPATH=$HOME/.local/share/Steam/compatibilitytools.d/GE-Proton10-32 | ||
| Line 149: | Line 150: | ||
tar -xzf $HOME/ge-proton.tar.gz -C "$HOME/.local/share/Steam/compatibilitytools.d" | 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 | 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 dpkg -i $HOME/umu.deb | ||
sudo chmod -R 777 $HOME/Games | sudo chmod -R 777 $HOME/Games | ||
| Line 159: | Line 159: | ||
</pre> | </pre> | ||
To start modded server, inside the container run; | |||
To start modded server run; | |||
<pre> | <pre> | ||
wlheadless-run -c cage -- \ | wlheadless-run -c cage -- \ | ||
Latest revision as of 19:00, 27 February 2026
Running dedicated server on GNU/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 dinput8.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 PROTON_ENABLE_WAYLAND=1 # If you're on a wayland session 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, inside the container 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