BeamMP Steam / Lutris / Custom Launcher Guide [Linux]
As some of you already know, BeamMP just got a new launcher update and
(finally) native Linux support. Before this update, the only way of playing BeamMP on Linux was to run the installer and the old Windows client through Wine/Proton with the risk of potential stability and performance issues. Those days are now over.
In this guide, I will be going over how to:
1. Use BeamMP through the native Vulkan client
2. Use BeamMP through Steam or Lutris using either Vulkan or DirectX11
You can also use your system’s default Wine installation. However, since Lutris and Steam are made to game, I do not recommend doing so as this can lead to poor performance or issues with fullscreen, etc.
IMPORTANT: In this guide, I will be referring to my home folder user as YOUR-USER
. So please, when I mention YOUR-USER
in a directory, replace it with your own Linux user.
The first step to all of this is to download and compile the native BeamMP launcher from GitHub.
To do this, please refer to this post scrollcaps made on a different topic.
This launcher is what we will be using to play BeamMP on Linux, and we will never run it using Wine or Proton.
If you followed the steps in scrollcaps’s post correctly, your native BeamMP launcher should now be installed in:
/home/YOUR-USER/BeamMP-Launcher/bin/
Using BeamMP through the NATIVE VULKAN client
This method of running BeamMP is by far the easiest out of the bunch and does not require any sort of tinkering whatsoever.
All you have to do is run:
BeamMP-Launcher
in:
/home/YOUR-USER/BeamMP-Launcher/bin/
by double-clicking on it, and the game should launch natively in Vulkan.
Using BeamMP through Steam or Lutris using either Vulkan or DirectX11
Now, for some people, including me, Vulkan is very unstable and can lead to system instability or even crashes ranging from simple system freezes to full-blown mountpoint nuking.
This is why I spent some time talking to BeamMP devs and support to figure out a way to run it in DirectX.
Step 1: Choosing your launcher
If you want to track your playtime with Steam or prefer the huge tinkering possibilities that Lutris has to offer, you may use any launcher you want freely as long as it supports running the game through Wine or Proton.
For the sake of keeping this guide somewhat simple (I failed), I will only be going over Steam and Lutris.
For Steam:
Make sure you have selected “Proton - Experimental” under right-click → properties → compatibility → “Force the use of a specific Steam Play compatibility tool.”
For Lutris:
Before doing any of the steps below, consider downloading up-to-date Proton or Proton GE.
To download and select custom Proton versions, get ProtonUp-Qt
from your Flatpak store or download net.davidotek.pupgui2
via:
flatpak install flathub net.davidotek.pupgui2
(Make sure to select Lutris.)
Now for adding the game:
Add game (plus icon on the top left) → “Add locally installed game.”
[GAME INFO]
Name: BeamNG.drive
Runner: Wine (Runs Windows games)
[GAME OPTIONS]
Executable: /home/YOUR-USER/.local/share/Steam/steamapps/common/BeamNG.drive/BeamNG.drive.exe
(Unless installed elsewhere.)
Leave the Wine prefix empty unless you know what you’re doing!!
[RUNNER OPTIONS]
If available: Proton - Experimental.
Otherwise: Any newer Proton or Proton GE should do the job for you.
Leave everything else at default.
Step 2: Linking your user folder (The most important step)
First of all, by default, the native BeamMP launcher uses:
/home/YOUR-USER/.local/share/BeamNG.drive/
to store and process mods and in-game data relevant to multiplayer, while Proton or Wine uses their Wine prefix to store and process client-side mods and in-game data.
This can cause issues as the two separate folders don’t work together by default for some.
To link these two directories together, we are going to use a symlink.
Open your terminal and enter:
cd /home/YOUR-USER/.local/share/
Once in your share
directory, you can begin by renaming your potentially existing native user folder.
To do this, enter:
mv BeamNG.drive BeamNG.drive_old
This will rename your folder to “BeamNG.drive_old.”
This will serve as a backup in case you need something from that folder.
Now you can create the actual symlink.
Enter:
ln -s /home/YOUR-USER/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive BeamNG.drive
This will link your Steam Proton prefix to your user folder.
You can replace the first directory in the command with any custom Wine or Proton prefix you may want to use. For your default Wine prefix used by Lutris, for example, the command would look like this:
ln -s /home/YOUR-USER/.wine/drive_c/users/YOUR-USER/AppData/Local/BeamNG.drive/ BeamNG.drive
(Just make sure that you have your Wine prefix set to this location in Lutris or your other game launchers.)
If your permissions are denied, try running the command with sudo.
The symlink will make the native launcher think it is using the native game’s directory when it is really using a shortcut to the game’s Wine prefix.
Once you link your BeamNG.drive folder to your Wine prefix, you can move on to step 3.
Step 3 (FINAL STEP): Launch Args / Desktop Shortcut
In order to use BeamMP with Steam or custom launchers like Lutris, we need to run the native BeamMP launcher with a specific argument.
Of course, we could open up the terminal in /home/YOUR-USER/BeamMP-Launcher/bin/
every single time we want to play BeamMP, but that is annoying, and there is a nicer way to do it.
First, we need to create a symlink to the BeamMP launcher so that we don’t need to be in the launcher’s directory just to refer to it in a command.
To do this, simply open a terminal and enter:
ln -s /home/YOUR-USER/BeamMP-Launcher/bin/BeamMP-Launcher /usr/local/bin/BeamMP-Launcher
(Retry with sudo if your permission is denied.)
Now we can create a shortcut to place on your desktop or anywhere else on your system that will open the native BeamMP launcher.
In your terminal, enter:
cd ~/Desktop
Once in your desktop directory, you can use a text editor to create a new file. In my case, I will be using KWrite since I am on KDE Plasma, but you can use nano or any other text editor as well.
KWrite: Kwrite LaunchBeamMP.desktop
Nano: nano LaunchBeamMP.desktop
(You can name the .desktop file any way you want.)
Once in your text editor, simply copy and paste the format below into the file:
[Desktop Entry]
Type=Application
Name=Run BeamMP
Comment=Runs BeamMP
Exec=Konsole -e "BeamMP-Launcher --no-launch"
Icon=utilities-terminal
Terminal=true
Again, you may change the name or comment to anything you like.
IMPORTANT: “Exec” is the terminal emulator together with the command we will be executing. It is important that you select the terminal emulator that is on your system.
Here is a list of some terminal emulators with their Exec syntax for .desktop files:
GNOME Terminal: Exec=gnome-terminal -- <command>
Konsole (KDE): Exec=konsole -e <command>
Xfce Terminal: Exec=xfce4-terminal -e "<command>"
LXTerminal (LXDE): Exec=lxterminal -e <command>
Tilix: Exec=tilix -e <command>
Alacritty: Exec=alacritty -e <command>
URxvt (Rxvt-unicode): Exec=urxvt -e <command>
Terminator: Exec=terminator -x <command>
Kitty: Exec=kitty <command>
Deepin Terminal: Exec=deepin-terminal -x <command>
Replace “< command >” with the actual command you want to execute.
In this case: "BeamMP-Launcher --no-launch"
You may have to experiment with the quotation marks if the game opens natively. You may need to put “BeamMP-Launcher --no-launch” in quotation marks or not depending on what terminal emulator you are using. If the game does not automatically launch, you have succeeded.
Once you’re done, simply save the file and close your text editor.
Now, once you run the file, you should see the BeamMP launcher opening similarly to Windows.
If done correctly, it should instantly start downloading the mod to the prefix directory.
Once it finishes downloading, launch the game through Steam or Lutris and open up the mods manager.
If “multiplayerbeammp” is present, you have successfully linked the prefix to your user folder, and you are ready to go.
UPDATING:
To install a new update, simply delete:
/home/YOUR-USER/BeamMP-Launcher/bin/
and redownload and compile the launcher as mentioned in the beginning of the guide.
“When there are launcher updates, you have to update immediately, manually, otherwise your launcher may stop working right away.”
-BeamMP dev
Thanks for reading. I hope this was helpful to some.
Credits:
Lion (Dev team)
O1LER (Symlink idea)
Tixx (Launcher arguments)
scrollcaps (Compiling guide)