Skip to content

Latest commit

 

History

History
453 lines (312 loc) · 16.8 KB

guide.md

File metadata and controls

453 lines (312 loc) · 16.8 KB

Guide

This guide looks really long but at least half of it is just warnings and idiot-proofing. If you're somewhat familiar with Linux, this should take about 10 minutes to complete.

This guide will go through every step to take you from not having Steam installed to having a handful of useful terminal commands and .desktop files to use Mod Organizer 2 to modify and launch Skyrim Special Edition.

It also assumes you're a novice Linux user, each step will be carefully detailed, and there will be constant reminders to practice good safety habits (seriously, read terminal_safety.md).

Install Steam

Head over to Steam's website and click "install steam" at the top of the page.

Run the installer, log in with your credentials, and launch the Steam application.

Install Skyrim Special Edition

You probably own Skyrim SE if you're reading this, so head over to your library and install it.

If you don't already own it, you can buy it in the store. Pirated copies (probably) won't work with this guide.

Configure Proton Compatibility

On the library page for Skyrim SE, click the cog icon and select "properties".

In the properties window, click the "compatibility" tab.

Check the box that says "force the use of a specific Steam Play compatibility tool" and select the version of Proton you want to use.

I recommend using version 8.0 or higher, however version 7.X should work without issue. Version 6.X and below are known to cause some issues, so avoid older versions of Proton.

Run Skyrim Special Edition

Ensure that you can run vanilla Skyrim SE without issue before continuing.

You should also create at least one character, and reach the point where you can move around freely.

Download the Mod Organizer 2 Installer

You can download the installer from Mod Organizer 2's Nexus page.

You should get an .exe file with a fairly long name, I recommend moving this to your desktop, and renaming it mo2.exe - we only need this for the next step before we can safely delete it.

Install Mod Organizer 2

This can be done in a variety of ways, however I've found this method to be the most reliable. There are linux install scripts available, but due to them being 3rd-party tools with a relatively small audience, the maintainers understandably have higher priorities.

You should copy the following script into a text file, and make the relevant replacements, then copy it into your terminal and run it.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

STEAM_COMPAT_CLIENT_INSTALL_PATH=$STEAMEXEC \
STEAM_COMPAT_DATA_PATH=$STEAMDIR/steamapps/compatdata/489830 \
$STEAMDIR/steamapps/common/Proton\ $PROTONVERSION/proton run \
$MO2EXE

You should keep a copy of this command with the replacements made, as it will be useful in later steps. You can drop the last line (the $MO2EXE part), as this will not be used.

After running this, the installer window should appear.

  1. select "accept" then "next"
  2. use the default path C:\Modding\MO2 then "next" (yes - the Windows path is correct)
  3. scroll down and uncheck "add windows defender exclusions" then "next"
  4. check "don't create a start menu folder" then "next"
  5. do not check "create a desktop shortcut" then "next"
  6. click "install", allow the installer to run, then "finish"

Create a .desktop file for Mod Organizer 2

The first part of this step is to create the executable script which the .desktop file will point to. This script will launch Mod Organizer 2 using the correct environment variables, and will be accessible from anywhere in your terminal by typing mo2.

Create mo2 Script

The following command will open a text editor in your terminal ready to write to the file /usr/local/bin/mo2.

In Nano, you use the arrow keys to move the cursor, Ctrl+Shift+V to paste, Ctrl+O to save, and Ctrl+X to exit.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo nano /usr/local/bin/mo2

In this file, paste the following script. Make the necessary replacements, then save and exit. You may find it easier to copy the script into a text editor, make the replacements, then paste it into Nano.

Be absolutely certain that there is nothing, not even a space or a blank line, before #!/bin/bash, it is an essential piece of syntax known as a "shebang" which tells the terminal how to interpret the script.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

#!/bin/bash
STEAM_COMPAT_CLIENT_INSTALL_PATH=$STEAMEXEC \
STEAM_COMPAT_DATA_PATH=$STEAMDIR/steamapps/compatdata/489830 \
$STEAMDIR/steamapps/common/Proton\ $PROTONVERSION/proton run \
$STEAMDIR/steamapps/compatdata/489830/pfx/drive_c/Modding/MO2/ModOrganizer.exe

Next give the file appropriate permissions to allow it to be executed.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo chmod 755 /usr/local/bin/mo2

Create mo2.desktop

Finally, the .desktop file needs to be created. The following command will again use Nano to open a text editor in the terminal.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo nano ~/.local/share/applications/mo2.desktop

Paste the following configuration into this file, then save and exit.

You may change the Name to anything you like, this is the name that will appear in your application menu. You can also change the Icon if you wish, however this guide will not cover how to do this.

Be absolutely certain that the Exec is the name of the file you created above, if following this guide exactly, it should be mo2. You should not include the leading path, for example /usr/local/bin/mo2 should be mo2.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

[Desktop Entry]
Name=ModOrganizer2
Comment=Launch ModOrganizer2
Exec=mo2
Icon=steam
Terminal=true
Type=Application
Categories=Game;

Now check your applications list. You should see an entry for Mod Organizer 2, and clicking it should launch Mod Organizer 2 (close MO2 for now, there are other things to do first).

Set Up nxm:// Protocol Handling

At the time of writing, this is only possible in the FireFox browser due to arbitrary limitations within Chrome (you used to be able to do this in Chrome, not anymore!). Head over to FireFox.com to install FireFox, or use your distro's store or package management tool.

Configure FireFox

In FireFox, paste about:config in the address bar.

Once there, enter network.protocol-handler.expose.nxm in the search bar on the page.

Check the "Boolean" option, then click the "+" icon to the right. Ensure that the text in the centre reads "false". If it reads "true", click the arrows on the right to change it to "false".

Create nxmhandler Script

Similarly to creating the mo2 file, the next step is to create an nxmhandler file.

Run the command below, then copy-paste the script into the file. Make the necessary replacements, then save and exit.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo nano /usr/local/bin/nxmhandler

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

#!/bin/bash
STEAM_COMPAT_CLIENT_INSTALL_PATH=$STEAMEXEC \
STEAM_COMPAT_DATA_PATH=$STEAMDIR/steamapps/compatdata/489830 \
$STEAMDIR/steamapps/common/Proton\ $PROTONVERSION/proton run \
$STEAMDIR/steamapps/compatdata/489830/pfx/drive_c/Modding/MO2/nxmhandler.exe "$1"

Next give the file appropriate permissions to allow it to be executed.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo chmod 755 /usr/local/bin/nxmhandler

Create nxmhandler-all Script

nxmhandler-all will take in a text file which contains a list of nxm:// URIs, and will launch nxmhandler for each one, installing multiple mods at once. This can be used to share mod lists, such as the ones described in my recommendations.

Run the command below, then copy-paste the script into the file. Make the necessary replacements, then save and exit.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo nano /usr/local/bin/nxmhandler-all

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

#!/bin/bash
file=$1
if [[ -z $file ]]; then
    echo "Usage: $0 <filepath>.nxmuri"
    exit 1
fi
file_content=$(cat "$file")
list=$(echo "$file_content" | sed -e 's/#.*$//' | sed -e '/^$/d')
total=$(echo "$list" | wc -l)
echo "Total: $total"
echo "List:"
echo "$list"
count=1
while IFS= read -r nxmuri; do
        echo "$count/$total ($nxmuri)"
        count=$((count+1))
        nxmhandler "$nxmuri"
done <<< "$list"

Next give the file appropriate permissions to allow it to be executed.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo chmod 755 /usr/local/bin/nxmhandler-all

Connect nxmhandler to FireFox

In FireFox, open the Skyrim SE Nexus page and select any mod. Don't worry about picking one you want, this one will be removed shortly and is only to finish this setup.

Make sure you have MO2 open.

On the Nexus page for a mod, select the "files" tab, then select "mod manager download". If there is only a "manual download", try a different mod.

Select "slow download" on the next page, wait for the countdown, then click "click here" to download manually.

FireFox should prompt you askign what it should do. Check "always use this application to open nxm links", then click "choose...".

Navigate to /usr/local/bin/ and select nxmhandler, then click "open".

Finally, select "open link". This will launch MO2 and begin downloading the mod. You can select the "downloads" tab on the right, then right-click the mod and select "delete" to remove it.

From now on, any "mod manager download" buttons clicked on Nexus will launch MO2 if it isn't already open and begin downloading the mod.

Install SKSE

Manually install SKSE from the Silverlock website.

You likely need the "Current Anniversary Edition build".

As instructed on SKSE's website, you should watch this video tutorial on how to install SKSE. The video shows the use of some files which are no longer used, don't panic if you appear to be missing files, you can safely ignore them.

Create a Windows .lnk Shortcut for SKSE

Launch MO2 if you don't already have it open.

Over on the top-right next to the "run" button there is a dropdown menu. Click it, then select "edit".

In the popup window on the top-left next to "executables" there is a "+" icon. Click it, then select "add from file".

Select the skse64_loader.exe file, then click "Open".

If you don't see it immediately, navigate to desktop, my computer, then your real computer's drive should be located at Z:. If there is no drive labelled Z:, simply select the drive which is not C:.

From here, navigate to $STEAMDIR/steamapps/common/Skyrim Special Edition (see replacements), then select the skse64_loader.exe file, then click "Open".

On the right in the box labelled "title", rename this to "SKSE".

On the left in the box labelled "executables", click and drag "SKSE" to be at the top. This ensures that when you open MO2, SKSE will be the default program to run.

Click "apply", then "okay".

Below the "run" button in MO2, there is a dropdown labelled "shortcut". Click this, then select "desktop". This appears to do nothing, however by clicking "shortcut" again the icon on the "desktop" option will have changed to a delete icon.

To verify for certain, run the following command (see replacements). It will output the contents of the virtual Windows desktop folder, which will contain a .lnk file for SKSE.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

ll /media/will/NVMe250/steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/Desktop/

Make a note of the name of this file, if following this guide exactly it should be SKSE.lnk.

Map a .desktop file to the Windows .lnk

In this step, you should refer back to the same instructions for MO2's .desktop file.

Create skse64 Script

Open Nano

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo nano /usr/local/bin/skse64

Paste the script

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

#!/bin/bash
STEAM_COMPAT_CLIENT_INSTALL_PATH=$STEAMEXEC \
STEAM_COMPAT_DATA_PATH=$STEAMDIR/steamapps/compatdata/489830 \
$STEAMDIR/steamapps/common/Proton\ $PROTONVERSION/proton run \
$STEAMDIR/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/Desktop/SKSE.lnk

Make the necessary replacements, then save and exit.

Give the file appropriate permissions to allow it to be executed.

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo chmod 755 /usr/local/bin/skse64

Create skse64.desktop File

Open Nano

IMPORTANT WARNING - READ BEFORE YOU RUN ANY COMMANDS

sudo nano ~/.local/share/applications/skse64.desktop

Paste the script

[Desktop Entry]
Name=SKSE64
Comment=Launch SKSE64 TESV SSE with MO2
Exec=skse64
Icon=steam
Terminal=false
Type=Application
Categories=Game;

Now check your applications list. You should see an entry for SKSE64, and clicking it should launch Skyrim SKSE64 via MO2. Until mods are installed however, it can be difficult to verify.

Add SKSE and ModOrganizer2 to your Steam Library

This step is optional. You may wish to do this for convenience or to take advantage of the features and functionality Steam can provide to non-Steam games.

You can follow Steam's own guide on how to do this - it's all done through the Steam app and is relatively simple.

In the top-right, click "games", then select "add a non-Steam game to my library".

Scroll down the list to find and select both "ModOrganizer2" and "SKSE".

If they don't appear in the listing, check that they show up in your applications list. If they do show in your applications list, but not in Steam's list, you may need to restart Steam. As a final step, you can select "browse" and navigate to /home/<your name>/.local/share/applications/ and select the .desktop files created in previous steps.

Complete

You now have instant access to both Mod Organizer 2 and your Modded Skyrim via SKSE from your applications menu, and you can now automatically download mods from Nexus using the nxmhandler script we created.

You should check out the extra info page for some additional information on what can and can't be done with this setup.

Next Steps

Head over to the Skyrim Special Edition Nexus mods page and install some mods.

If you're new to modding, I have some recommendations, as well as the following short guide to modding Skyrim SE.

You will find an incredible amount of NSFW content on the Skyrim SE Nexus. I don't mean mods which add revealing clothing to the game (those certainly exist), I mean mods who's thumbnail image is full nudity or sexual imagery. Don't browse Nexus in public, or in view of others who might have something to say about what you're viewing online. If this is what you want from modded Skyrim, more power to you I suppose, but if you're looking for worldbuilding and immersion, you might have to trawl through a lot of NSFW content to find what you're looking for. Go to the mods search page and use the "refine results" menu to filter for what you want.

When installing a mod, you may be prompted to install some dependencies. Make sure you always install all required dependencies, and when possible seek out first-party and third-party compatibility patches for mods, especially if you find that some content is broken or interacts in strange or immersion-breaking ways.

You'll almost certainly need USSEP, the Unofficial Skyrim Special Edition Patch, so go ahead and install this now. You'll find that certain bugs are removed by SKSE and USSEP, such as the Dawnstar chest and other similar chests, so be aware that in most cases your game will be more lore-friendly and prevent the use of exploits and glitches.