I’m making this post with the intention of having the BeamMP devs chime in with the necessary information and content to get this working in the best way possible at this time.
There are many posts on this forum and other sites with detailed guides on this, however, after requesting support on Discord a few months ago, I was made aware that these methods are outdated and unnecessary. I was presented with a much more simple and straightforward updated solution that worked really well. Unfortunately, the support system was changed and there is no longer public access to people’s queries, so I’m going to go over the steps I remember and let the devs fill in the blanks and provide the necessary content.
If my memory serves me well, these were the instructions I was given. I’m going based on memory, so I could be slightly wrong!
Download the pre-release BeamMP launcher
Extract it to the BeamNG main directory
I’d recommend backing up the main BeamNG executable before renaming the BeamMP launcher to “BeamNG.drive.exe”
Run the game as Vulkan
I’m asking the devs to please chime in, provide the GitHub link to the modified launcher for Linux, and correct any mistakes I made. I understand you don’t want to create an official guide on the main page, but please at least give those who seek a way to get BeamMP working on Linux a method to make it work.
thats actually genius! rename the game’s launcher to the beammp launcher which then launches the BeamNG.drive.x64.exe! i didn’t think about that when i was tinkering with the steam tinkerer!
though, i could be wrong, but running the game in vulkan on linux is redundant, it will run in vulkan anyway, no matter what option you will choose!
there is a tutorial that works perfectly fine for Ubuntu 24.04 even though its meant for 22.04 I’ve used it SO many times to make servers for people who ask linux and Windows tutorial
just follow it step by step and it should work ask me anything if it doesn’t
the dude who made it is super easy to follow and is very underrated
thank you very much for sharing this information that’s literally not found anywhere else here!
but as many people will come to try this out natively, there will be questions, and i, too, have one!
how does one clear cache on a native build, when there is no game launcher for it? the launcher, afaik, can only be run via wine/proton/lutris/etc and it only clears its cache for its own prefix, not for the native linux binary which has its separate user folder! there is no mention of this neither in beamng’s documentation nor on the forums!
All that matters is that BeamMP/NG doesn’t see a cache folder so it generates a new one, this can be done in one of three ways as I’ve mentioned above.
This is summery contains outdated information
Summary
The clear cache tool just renames the cache folder to 0.33.backup or something similar, there is no fancy cherry-picking going on.
you are incorrect . when you press “deep cache cleaning”, it creates a backup of your latest version user folder inside itself called backups/version.pre.0.0xx.x.x/date which is coincidentally in the path of your mods, configs and settings that you are suggesting to delete, move or rename just to CLEAR CACHE. it is then checking for file hash integrity and any misplaced files, which are moved into unknown_files_user_folder. finally, it then proceeds to clear the temp-orary folder, which is the cache itself (where you have confused it for the whole user folder). were you to rename, move or delete your user folder itself, as you correctly mentioned, the game will see it as an invalid user folder, and create a new one as if you had a fresh install. it would then make no sense to overwrite your old renamed user folder with a fresh one, if your problems still persist AFTER having cleared the cache. once again: it does not rename your user folder, it backs some of its contents up, excluding (!) the mods folder, btw. you dont have to misplace a whole user folder just to clear cache, as you mentioned in both of your replies… i, too, sometimes would rather reinstall the whole game than fix one specific problem!
and thusly i have discovered the answer to my own question, as shrimple as that
i suggest you should rephrase your message accordingly
I’m sorry, I didn’t use the tool in a long time and all the while its had several changes.
The core and focus of my replay though answered your initial question (location of cache) and you indeed explained very well how the tool now works. Let’s not lose focus here, as the post was initially made to help users run BeamMP on Linux.
it should be mentioned that these instructions work only in vanilla unmodified bash
if you have a Steam Deck with its SteamOS and use it daily as a “portable linux machine” just like me, installing the base-devel package and any other dependency it requires to compile the BeamMP-Launcher binary, can be a problem (notice that it is vcpkg, however we use cmake anyway, it’s a strange mix of windows and linux, but remember that BeamMP is a volunteer project lol!), you will have to make your ENTIRE FILESYSTEM writable/editable, since it’s read-only by default (yes, SD doesnt come with compile tools nor does it come with a user or literally anything that makes linux a LINUX, cos it’s considered a “gaming distro” and not a workstation for you to tinker with, or so they say… big valve L imho, this makes everything harder for everyone). SO, if you’re on Steam Deck and wish to proceed with installing and compiling, as well as getting one step closer to using arch btw, YOU THEN UNDERSTAND THE RISKS OF BRICKING YOUR SYSTEM! please do see this simple guide for SD (1), this github SteamOS issue (2), this alternative reddit tutorial (3) or this 2 years old (!) userspace guide for SD in case you dont want your packages to be removed on every update, with one caveat that you will still need to have them within /usr/lib/(4)
ATTENTION!!! even after you’ve built the launcher binary, it STILL requires compilator libraries to be installed – if one were to delete base-devel after the compilation AND/OR share a binary to another computer that doesnt have base-devel (for example, a Steam Deck) you will still NOT be able to launch it (devs, you need to include such libraries inside the binary and/or link them! shameful, honestly…)
A mere 6 hours after creating this post a major update dropped for the BeamMP launcher providing full native support for Linux, but only for the uncompiled version. Unfortunately I can’t edit the post so I’ll provide instruction in this comment.
Ignore everything I said above, here all we need to do is compile the launcher so that’s what we’ll focus on.
!! Important for Steam Deck users !!
The general guide starts here
First you need to clone and set up the vcpkg dependency manager. Open the terminal and type these commands
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && ./bootstrap-vcpkg.sh --disableMetrics
If you get an error then you need to install it.
Run ONLY the command for your distro or derivative.
Debian sudo apt install build-essential
Fedora sudo dnf groupinstall "Development Tools"
Arch sudo pacman -S base-devel
Next install cmake. Again only use the command for your distro.
Debian sudo apt install cmake
Fedora sudo dnf install cmake
Arch sudo pacman -S cmake
Now with dependency hell out of the way, lets get to the fun stuff where you see lots of test fly up the terminal window like a real cool developer.
cmake -DCMAKE_BUILD_TYPE=Release . -B bin -DCMAKE_TOOLCHAIN_FILE="~/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-linux
If all done correctly you should now see the glorious sight of mesmerizing text flying high up the terminal windows. If not and you didn’t install the package containing make, then do that now and rerun the command. If you did install the package and you still get an error, then I don’t know what you’re missing. Double check the commands you’re using and then request help here.
At last the final command (make sure terminal is in the BeamMP-Launcher directory).
cmake --build bin --parallel --config Release
One cool wall of text later and congratulations! you’ve successfully compiled the BeamMP launcher. It is located in ~/BeamMP-Launcher/bin/
This launcher can be run from anywhere and the folder of cache that it creates (also used for mods) is located at ~/.local/share/BeamNG.drive/
I compiled the BeamMP executable but the game crashes on launch. The steam version (normal and vulkan) works fine so I dont know where is the problem with this BeamMP linux version.
This is the beamMP logs:
[19/11/2024 13:26:51] [INFO] Mod caching directory: ./Resources
[19/11/2024 13:26:51] [INFO] BeamMP Launcher v2.3.2
[19/11/2024 13:26:52] [INFO] Launcher version is up to date
[19/11/2024 13:26:52] [INFO] IMPORTANT: You MUST keep this window open to play BeamMP!
[19/11/2024 13:26:52] [INFO] Game Version : 0.33.3.0
[19/11/2024 13:26:52] [INFO] Game user path: /home/fairplex/.local/share/BeamNG.drive/0.33/
[19/11/2024 13:27:06] [ERROR] Game Closed! launcher closing soon
[fairplex@archlinux ~]$
@scrollcaps@Linda420 I have moved this topic into the FAQ category. The FAQ category is locked so it will prevent this post from getting lost in the sea of people asking us why they can’t log in while already being logged in.
okay, very interesting, what does it say in the game crash logs in your user folder and is it possible if you could just manually ./BeamNG.drive.x64 and see its output in the terminal?
After testing further, the issue seems to be that the BeamMP launcher starts the Vulkan version of the game, which dosn’t work correctly under wayland.
Is there a way to change the default version of BeamMP?
totally forgot, THIS IS EXTREMELY IMPORTANT TO UNDERSTAND!
for example, in Steam Deck’s gaming mode, which is using wayland (with one caveat that happened with a recent beta update that overrides something-something, i forgot lol), if you were to try launching the NATIVE BeamNG binary from ~/.local/share/Steam/steamapps/common/BeamNG.drive/BinLinux/BeamNG.drive.x64
it then hilariously launches it in 1x1 pixel resolution. but then in its desktop mode, which has kde and xwayland, that can run both X11 and wayland apps, the game runs absolutely fine!
this is because the game itself, BeamNG, was coded for X11 window system ONLY. but of course, obviously, other PROPERLY CODED games, any software, actually, unlike beamNG, DO WORK as intended! i know, i know, those are very shocking news to all the fanboys of this game, but trust me, this is just the tip of the iceberg of the problems that beamNG has. the devs are simply using a very outdated code (for EVERYTHING). i have been criticising their dev team decisions ever since they switched engines and i have come to realise that people love this game because it is awful, at the same time when others want features that they will never get… this is where my frustration comes from, sorry. anyway, there is NOTHING you can do about this, it simply just does NOT tell your window system what resolution to use, therefore it does NOT support bare wayland. except you probably could quite literally switch to xwayland or, if you’re nasty, to X11, just to play the game
here’s instructions how to use the native beammp with the proton beamng in case your native vulkan beamng doesnt launch:
This isn’t a fortune 500 company, no need to take the piss. Wayland itself still has many bugs so I can’t blame them for focusing on other things and waiting for it to fully bake. Yes the Steam Deck uses Wayland, but that’s not used as a desktop, it has a lot stripped out of it. You can use Wayland like a Windows user (little to no modifications) and probably get by mostly fine, but that’s not the point, try get your hands dirty and Wayland will be dirty.
Ok I understand your frustation. But we know that the game works fine if:
Ran using Direct3D, on both X11 and Wayland
Ran using Vulkan, on X11 only
So as we have to compile BeamMP ourself from the source, there should be a way to tell BeamMP to run the game with Direct3D instead of Vulkan which is experimental. To me its more like a mistake to make Vulkan the default version of BeamMP launcher.
of course it does! its only vulkan that doesnt… you can symlink your native path to the proton (direct3d) version. the link to the instructions for that are in my previous comment, but here it is again anyway