Skip to content

Generating dumps

Florine W. Dekker edited this page May 26, 2023 · 18 revisions

This page details the standard procedure that is used to generate the dumps before they are released, including instructions for Linux machines.

Summary

Dumps are created using xEdit and ba2extract. These tools are tied together in a Python script, fo76dumps.py, which also performs post-processing.

  • xEdit extracts data from the game's .esm files, which contain the logic of the game, and requires expensive processing. Dump scripts are written in a special form of Object Pascal and are stored in the Edit scripts directory. The Pascal scripts are bundled together in ExportAll.pas and ExportAll.fo76pas. The latter allows invoking the script from the command line. After running xEdit, the Python script renames, combines, and compresses these dumps.
  • ba2extract extracts data from the game's .ba2 files, which are archives containing the resources such as textures and some text files.

Requirements

  1. 7-Zip: Install 7-Zip. The executable will probably be on your PATH after installation. If the dump script cannot find 7-Zip, add the absolute path in the configuration file.

  2. xEdit: Extract the latest version of xEdit into the Fallout 76 installation directory. Download the latest version from NexusMods and extract the archive in the Fallout 76 installation folder. Alternatively, obtain a more recent build (nicknamed "EcksEdit") from the Fallout 76 datamining Discord server.

  3. Dump scripts: Download the latest dump scripts and extract it to a directory of your choice. Copy the files inside the Edit scripts directory over to the Edit scripts directory created by xEdit in the Fallout 76 installation directory.
    Do not move the scripts into a subdirectory of Edit scripts because then xEdit will be unable to find some scripts.

    • Requires Python 3.9 or newer
    • Requires venv (e.g. apt install python3-venv)
  4. ba2extract: Download Fallout 4 tools (not the runtime) and copy ba2extract.exe to the directory where you extracted the dump scripts source code, i.e. the directory of fo76dumps.py and requirements.txt.

Usage

  1. (Required once) Create a venv:
    python3 -m venv venv/
  2. Activate the venv:
    .\venv\Scripts\activate  # Windows
    source venv/bin/activate  # Linux
  3. (Required once) Install dependencies:
    python3 -m pip install -r requirements.txt
  4. (Optional) Configure the script by editing config.py. Check config_default.py for more information.
  5. Run the script:
    python3 -m fo76dumps
    Execution will pause if potential problems are detected. xEdit requires manual confirmation at the start and end. xEdit dumps typically take several hours.

Running on Linux

The dump scripts are fully compatible with Linux using Valve's Proton. After some initial setup, the usage instructions are the exact same as for Windows. This additional setup involves configuring xEdit and ba2extract to run using Proton and adjusting the dump scripts' config.py.

  1. Follow all steps in the Requirements section above.
  2. Install, launch, and log in to Steam.
  3. In your Steam library, add FO76Edit64.exe (or FO76Edit.exe) as a non-Steam game.
  4. In your Steam library, right-click FO76Edit64.exe and select Properties. In the Compatibility tab, enable Force the use of a specific Steam Play compatibility tool, and select Proton Experimental. Now close the Properties window.
  5. In your Steam library, select FO76Edit64.exe, and click Play.
    One of the following should happen: nothing, or xEdit shows an error (e.g. about the registry), or xEdit launches successfully (unlikely).
    Close any error messages and close xEdit if it opened.
  6. In a terminal, navigate to ~/.steam/steam/steamapps/compatdata/. Find the most-recently created directory using ls -lrt | tail -n 1. Verify that this directory was created very recently. For example, if your output is
    drwxr-xr-x 4 username username 4096 Jul 23 15:11 842910
    
    then the directory 842910 is the most recently created directory, created on July 23 at 15:11.
  7. Configure the dump scripts by editing config.py (or config_default.py). In the xedit_compatdata_path property, replace INSERT NUMBER HERE with the name of the recently-created directory you just found.
  8. Repeat steps 3 through 7 for ba2extract.exe to set the ba2extract_compatdata_path property.
  9. Follow all steps in the Usage section above.

Troubleshooting

If the dump scripts fail to launch xEdit, you can try one of the following solutions.

  • For some reason, Steam does not always properly install and configure Proton if you only use it for non-Steam games. The solution may be to select any Steam game from your library and configure it to use the same Proton version you configured for xEdit. Launch the Steam game and once it has fully launched, close it again. Make sure you select a Steam game that is known to work with Proton and does not require additional tweaks, as listed on ProtonDB. Valve's own games are typically good choices.
  • For some reason, extracting the xEdit release on a Linux machine may result in a malfunctioning executable. If this happens, you should use a Windows machine to extract the xEdit release, and then copy the files onto your Linux machine. If you do not own Windows, you can perform the extraction in a Windows VM, or ask a friend to help you out.
  • If all else fails, you can ask for help on the discussions page.