Skip to content

Instantly share code, notes, and snippets.

@Razuuu
Last active May 11, 2026 16:18
Show Gist options
  • Select an option

  • Save Razuuu/c4d6f4eed43541416f6e54d76eae1070 to your computer and use it in GitHub Desktop.

Select an option

Save Razuuu/c4d6f4eed43541416f6e54d76eae1070 to your computer and use it in GitHub Desktop.
Play BeamMP on Linux

What you need

  • browser, curl or wget
  • unzip
  • protontricks
  • lutris

e.g Debian:
apt install curl unzip protontricks
e.g Arch/EndeavourOS:
pacman -S curl unzip protontricks

Install lutris from their website

Install BeamMP

Run this command
protontricks-launch --appid 284160 /path/to/BeamMP-Installer.exe

Follow the instructions
Create desktop file
DONT run BeamMP

Lutris Setup

Add local game

Gamesettings:

Runner: wine

Executable: /home/<YOUR USERNAME>/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/Desktop/BeamMP-Launcher.lnk

Wine prefix: /home/<YOUR USERNAME>/.local/share/Steam/steamapps/compatdata/284160/pfx

Option for the starter

Wineversion: Proton - Experimental

Troubleshooting

If it can't find the game, run it in Steam one time, then go back to lutris and try to launch BeamMP

@FilipoDeveloperMan

Copy link
Copy Markdown

@Razuuu I tried many things after that comment. I tried different servers with various success, the closest I got it working was in a server with one dude in Utah but he was a blob. Now after vigorous testing after checking firewall, reinstalling and etc, I kept getting the same issue, and after more digging I found that the client (black terminal) randomly closes the moment I join the game. I read it and no error codes we're present. Is there a way to view log?

@Razuuu

Razuuu commented Feb 2, 2025 via email

Copy link
Copy Markdown
Author

@FilipoDeveloperMan

Copy link
Copy Markdown

I will attempt those methods.

@FilipoDeveloperMan

Copy link
Copy Markdown

Alright so @Razuuu i have some information. I updated and upgraded my system and now im getting a new error. And the old issue is also repeating... I tried reinstalling beamng and beammp but no results. Lutris's log window didnt show any errors. I also expirience the following error from the BeamMP launcher:
image

@FilipoDeveloperMan

Copy link
Copy Markdown

After further testing vulkan has no effect, ive given it 64gb of swap ontop of my 16 gb of ram and it still gives me the 80% of memory used warning. I have no idea where this issue stems from but it is consistent.

@WiserTixx

Copy link
Copy Markdown

You can fix the zlib decompression error by using the native BeamMP linux launcher. https://docs.beammp.com/game/getting-started/#2b-linux-installation

@Razuuu

Razuuu commented Aug 5, 2025

Copy link
Copy Markdown
Author

You can fix the zlib decompression error by using the native BeamMP linux launcher. https://docs.beammp.com/game/getting-started/#2b-linux-installation

After switching to CachyOS im unable to build/install BeamMP for Linux, my tutorial still works for me and i'm still using it then.
For other people reading this, go ahead and try what WiserTixx wrote.

@WiserTixx

Copy link
Copy Markdown

Why are you unable to build the launcher?

@Razuuu

Razuuu commented Aug 5, 2025

Copy link
Copy Markdown
Author

Copied from discord cuz i'm not at home:

Hey, i'm unable to build BeamMP for Arch based OS

I followed the instructions on https://docs.beammp.com/game/getting-started/#2b-linux-installation - installed vcpkg, base-devel & cmake via pacman.

I cloned the Repo, checkout to latest version and now getting this error when executing this command:

cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
❯ cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
CMake Error at CMakeLists.txt:18 (find_package):
  Could not find a package configuration file provided by "httplib" with any
  of the following names:

    httplibConfig.cmake
    httplib-config.cmake

  Add the installation prefix of "httplib" to CMAKE_PREFIX_PATH or set
  "httplib_DIR" to a directory containing one of the above files.  If
  "httplib" provides a separate development package or SDK, be sure it has
  been installed.


-- Configuring incomplete, errors occurred!

@WiserTixx

Copy link
Copy Markdown

Is $VCPKG_ROOT set to where vcpkg is installed?

@Razuuu

Razuuu commented Aug 6, 2025 via email

Copy link
Copy Markdown
Author

@WiserTixx

Copy link
Copy Markdown

Could you check if $VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake exists and if so delete the bin folder in the BeamMP-Launcher directory and try running cmake again?

@Razuuu

Razuuu commented Feb 13, 2026

Copy link
Copy Markdown
Author

Could you check if $VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake exists and if so delete the bin folder in the BeamMP-Launcher directory and try running cmake again?

Works now 👍

@NotAverageHuman

NotAverageHuman commented May 10, 2026

Copy link
Copy Markdown

Is $VCPKG_ROOT set to where vcpkg is installed?

I'm also having issues with beammp on CachyOS, when trying to run export VCPKG_ROOT="$(pwd)/vcpkg" export PATH=$VCPKG_ROOT:$PATH I just get this:

export VCPKG_ROOT="$(pwd)/vcpkg"
 export PATH=$VCPKG_ROOT:$PATH

fish: Unknown command: uname
/usr/share/fish/vendor_functions.d/_pure_is_inside_container.fish (line 1): 
uname -s
^~~~^
in command substitution
       called on line 12 of file /usr/share/fish/vendor_functions.d/_pure_is_inside_container.fish
in function '_pure_is_inside_container'
       called on line 2 of file /usr/share/fish/vendor_functions.d/_pure_prompt_container.fish
in function '_pure_prompt_container'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_prompt_first_line.fish
in command substitution
       called on line 7 of file /usr/share/fish/vendor_functions.d/_pure_prompt_first_line.fish
in function '_pure_prompt_first_line'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_print_prompt_rows.fish
in command substitution
       called on line 8 of file /usr/share/fish/vendor_functions.d/_pure_print_prompt_rows.fish
in function '_pure_print_prompt_rows'
       called on line 15 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in function 'fish_prompt'
in command substitution
/usr/share/fish/vendor_functions.d/_pure_is_inside_container.fish (line 12): Unknown command
       set --local os_name (uname -s)
                           ^~~~~~~~~^
in function '_pure_is_inside_container'
       called on line 2 of file /usr/share/fish/vendor_functions.d/_pure_prompt_container.fish
in function '_pure_prompt_container'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_prompt_first_line.fish
in command substitution
       called on line 7 of file /usr/share/fish/vendor_functions.d/_pure_prompt_first_line.fish
in function '_pure_prompt_first_line'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_print_prompt_rows.fish
in command substitution
       called on line 8 of file /usr/share/fish/vendor_functions.d/_pure_print_prompt_rows.fish
in function '_pure_print_prompt_rows'
       called on line 15 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in function 'fish_prompt'
in command substitution
fish: Unknown command: id
/usr/share/fish/vendor_functions.d/_pure_prefix_root_prompt.fish (line 1): 
id -u -n
^^
in command substitution
       called on line 2 of file /usr/share/fish/vendor_functions.d/_pure_prefix_root_prompt.fish
in function '_pure_prefix_root_prompt'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_prompt.fish
in command substitution
       called on line 11 of file /usr/share/fish/vendor_functions.d/_pure_prompt.fish
in function '_pure_prompt' with arguments '0'
       called on line 1 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in command substitution
       called on line 17 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in function 'fish_prompt'
in command substitution
/usr/share/fish/vendor_functions.d/_pure_prefix_root_prompt.fish (line 2): Unknown command
   set --local username (id -u -n) # current user name
                        ^~~~~~~~~^
in function '_pure_prefix_root_prompt'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_prompt.fish
in command substitution
       called on line 11 of file /usr/share/fish/vendor_functions.d/_pure_prompt.fish
in function '_pure_prompt' with arguments '0'
       called on line 1 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in command substitution
       called on line 17 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in function 'fish_prompt'
in command substitution

I'm not really sure what to do here.

@Razuuu

Razuuu commented May 10, 2026

Copy link
Copy Markdown
Author

Hey! I'm now using the aur package beammp-launcher-git.

Works ootb. Try that and give feedback ;)

Is $VCPKG_ROOT set to where vcpkg is installed?

I'm also having issues with beammp on CachyOS, when trying to run export VCPKG_ROOT="$(pwd)/vcpkg" export PATH=$VCPKG_ROOT:$PATH I just get this:

export VCPKG_ROOT="$(pwd)/vcpkg"
 export PATH=$VCPKG_ROOT:$PATH

fish: Unknown command: uname
/usr/share/fish/vendor_functions.d/_pure_is_inside_container.fish (line 1): 
uname -s
^~~~^
in command substitution
       called on line 12 of file /usr/share/fish/vendor_functions.d/_pure_is_inside_container.fish
in function '_pure_is_inside_container'
       called on line 2 of file /usr/share/fish/vendor_functions.d/_pure_prompt_container.fish
in function '_pure_prompt_container'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_prompt_first_line.fish
in command substitution
       called on line 7 of file /usr/share/fish/vendor_functions.d/_pure_prompt_first_line.fish
in function '_pure_prompt_first_line'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_print_prompt_rows.fish
in command substitution
       called on line 8 of file /usr/share/fish/vendor_functions.d/_pure_print_prompt_rows.fish
in function '_pure_print_prompt_rows'
       called on line 15 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in function 'fish_prompt'
in command substitution
/usr/share/fish/vendor_functions.d/_pure_is_inside_container.fish (line 12): Unknown command
       set --local os_name (uname -s)
                           ^~~~~~~~~^
in function '_pure_is_inside_container'
       called on line 2 of file /usr/share/fish/vendor_functions.d/_pure_prompt_container.fish
in function '_pure_prompt_container'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_prompt_first_line.fish
in command substitution
       called on line 7 of file /usr/share/fish/vendor_functions.d/_pure_prompt_first_line.fish
in function '_pure_prompt_first_line'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_print_prompt_rows.fish
in command substitution
       called on line 8 of file /usr/share/fish/vendor_functions.d/_pure_print_prompt_rows.fish
in function '_pure_print_prompt_rows'
       called on line 15 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in function 'fish_prompt'
in command substitution
fish: Unknown command: id
/usr/share/fish/vendor_functions.d/_pure_prefix_root_prompt.fish (line 1): 
id -u -n
^^
in command substitution
       called on line 2 of file /usr/share/fish/vendor_functions.d/_pure_prefix_root_prompt.fish
in function '_pure_prefix_root_prompt'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_prompt.fish
in command substitution
       called on line 11 of file /usr/share/fish/vendor_functions.d/_pure_prompt.fish
in function '_pure_prompt' with arguments '0'
       called on line 1 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in command substitution
       called on line 17 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in function 'fish_prompt'
in command substitution
/usr/share/fish/vendor_functions.d/_pure_prefix_root_prompt.fish (line 2): Unknown command
   set --local username (id -u -n) # current user name
                        ^~~~~~~~~^
in function '_pure_prefix_root_prompt'
       called on line 1 of file /usr/share/fish/vendor_functions.d/_pure_prompt.fish
in command substitution
       called on line 11 of file /usr/share/fish/vendor_functions.d/_pure_prompt.fish
in function '_pure_prompt' with arguments '0'
       called on line 1 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in command substitution
       called on line 17 of file /usr/share/fish/vendor_functions.d/fish_prompt.fish
in function 'fish_prompt'
in command substitution

I'm not really sure what to do here.

@NotAverageHuman

Copy link
Copy Markdown

Hey! I'm now using the aur package beammp-launcher-git.

Works ootb. Try that and give feedback ;)

Works flawlessly! Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment