/BeamNG_terrainMaterialCache

BeamNG.drive Black Terrain fix for Linux

Primary LanguagePython

There is a Linux Port available, see post on BeamNG.drive Forums

The port is experimental, I will therefore keep this repository online for the time being should there be any issues. But please do give it a shot!

Textures will load normally when using Proton Experimental Bleeding Edge. The steps below are no longer required if you can switch.

Cached Texture files for BeamNG

Hack to fix the Black Terrain found after the 0.24 release on Linux using Proton/Wine or Mac using Crossover

Massive thanks to every contributor for providing the pre-generated textures for this transplant.

[Script] Usage

Paste the following command into your terminal (Note: This script will only work on Linux Systems, Mac users go here)

curl https://raw.githubusercontent.com/SnoutBug/BeamNG_terrainMaterialCache/main/auto_update.py | python3 -

You're done! Troubleshooting

[Manual] Usage (Steam - Proton)

Default Maps

Please verify that this path exists BEFORE using the commands below

~/.steam/root/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive/0.27/temp/art
mkdir ~/.steam/root/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive/0.27/temp/art
cd "$_"
url=github.com/SnoutBug/BeamNG_terrainMaterialCache/releases/download/default/
wget ${url}etk.tar.gz
wget ${url}jri.tar.gz
wget ${url}utah.tar.gz
wget ${url}derby.tar.gz
wget ${url}hirochi.tar.gz
wget ${url}industrial.tar.gz
wget ${url}gridmap_v2.tar.gz
wget ${url}small_island.tar.gz
wget ${url}east_coast_usa.tar.gz
ls *.tar.gz | xargs -n 1 tar -xvf
rm *.tar.gz
cd ~/

BeamNG Repository (Mods)

  1. Look at the URL of your map (eg. www.beamng.com/resources/natural-playground.18030/)
  2. Copy the number behind the period (18030) to the following URL like this: www.github.com/SnoutBug/BeamNG_terrainMaterialCache/releases/tag/18030
  3. If the page exists, you will find a one-liner in the release's description which you can then use to downlad the textures

Troubleshooting

The above mentioned path did not exist

  1. Open your Steam Library and find BeamNG.drive
  2. Right Click > Manage > Browse Local Files
  3. Right Click > Open Terminal (or find a different way to do so)
  4. Use the following command
mkdir ../../compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive/0.27/temp/art
  1. If successful: Copy the all commands from above (excluding the first one)

Running the Game with WINE

  1. Find the equivalent of: %localappdata%\BeamNG.drive\0.27\temp\art\terrainMaterialCache
  2. Modify the command below if need be
mkdir ~/.wine/drive_c/users/$USER/AppData/Local/BeamNG.drive/0.27/temp/art
  1. If successful: Copy the all commands from above (excluding the first one)

Running the game with CrossOver - Mac

  1. Select your Bottle towards the left of crossover
  2. Open advanced options and click on the Open C: drive button
  3. Finder will open, navigate to /users/crossover/Local/AppData/BeamNG.drive/0.27/temp/art
  • Should the temp or art folders not exist, create them.
  1. Once inside the art folder, open the Terminal at the current location
  2. Use the commands above excluding the first two (mkdir and cd)

Generating your own Textures

To generate textures yourself, you can modify and run the command below.

MAP="italy" && curl https://raw.githubusercontent.com/SnoutBug/BeamNG_terrainMaterialCache/main/generate_textures.py | python3 - $MAP

In this case the textures for Italy will be generated. To generate textures for mods, make sure that the mod is placed in /home/$USER/.local/share/BeamNG.drive/

Contribute

You created a map using a PBR terrain and want to contribute

  1. Delete all files in %localappdata%\BeamNG.drive\0.27\temp\art\terrainMaterialCache
  2. Load up your map and only your map
  3. Copy all files inside of %localappdata%\BeamNG.drive\0.27\temp\art\terrainMaterialCache into an archive
  4. Upload the archive
  5. Use this link for further steps

Links

Initial discussion on the forum

Linux Port

Dedicated issue on Valve's GitHub for Proton

BeamNG.drive on ProtonDB

Tutorial on YouTube