diff --git a/LINUX.md b/LINUX.md
new file mode 100644
index 0000000..01ff3ee
--- /dev/null
+++ b/LINUX.md
@@ -0,0 +1,27 @@
+# Linux Users
+
+[<-- Back to README.md](./README.md)
+
+No native Linux build exists for the game. Proton, however, works just fine. You can install it using the instructions below.
+
+Reminder that EAC or Referee builds will never be supported by Undead Universal Patch.
+
+### General process
+* Install Steam
+* Add Recroom_Release.exe as a non-steam game
+* Install `protontricks`; depends on your distribution (see sections)
+* Add the doorstop DLL using `protontricks --gui` [(more info)](https://linux-gaming.kwindu.eu/index.php?title=Installing_dlls)
+ - Select default wineprefix
+ - Install DLL
+ - Select the doorstop DLL `winhttp.dll`
+* Run the game through Steam
+
+### Arch Linux
+`protontricks` can be installed from the [AUR](https://aur.archlinux.org/packages/protontricks)
+You should use the built-in Steam package [(instructions here)](https://wiki.archlinux.org/title/Steam) if you don't have Steam installed already.
+
+### Other distributions
+
+If you have any success doing this on Debian-based systems (Ubuntu 2x.x, elementary OS, etc)
+or any other kind of system, add an issue and explain the process - I'll add it to this document.
+If you feel like making a pull request, that's okay as well.
\ No newline at end of file
diff --git a/README.md b/README.md
index de927dc..04b1a64 100644
--- a/README.md
+++ b/README.md
@@ -40,14 +40,7 @@ Run BepInEx interop on your build and add the following assemblies to new folder
- [Mapster on GitHub](https://github.com/MapsterMapper/Mapster)
## Linux users
-
-If you're unsure how to start your build on linux:
-
-- Install Steam
-- Add Rec Room as a non-steam game
-- Set the compatibility mode to the latest stable version of proton
-- Use protontricks to add the doorstop DLL
-- Start Rec Room through Steam
+See [the Linux installation instructions](./LINUX.md). You may need to work around your distribution's package manager to install the necessary packages.
## GameManager Patches
diff --git a/SERVERS.md b/SERVERS.md
index 50885b6..7b44924 100644
--- a/SERVERS.md
+++ b/SERVERS.md
@@ -5,18 +5,19 @@
Requests are sent after any of these events:
* Nameserver response
* Authentication response
-* Local account fetch response
+* Local account fetch response (has auth)
## Endpoints
-### `API: GET "/api/undead/v1/emotes"`
+### `API: GET "/api/undead/v1/emotes"` (after local account response)
Expects: `List` [(to DTO)](#emoteconfigdto)
-Replace existing emotes in the game with these, keyed by `UniqueName`.
+Replace existing emotes in the game with these, keyed by `UniqueName`.
+This is mostly a change to VR emotes. See "ContextualEmotesConfig" in the game's assets.
See [the source](./Core/Content/CustomRecNet/CustomEmotes/RecNetEmotes.cs) for more information.
-### `API: GET "/api/undead/v1/photon"`
+### `API: GET "/api/undead/v1/photon"` (after local account response)
Expects: `PhotonConfigDTO` [(to DTO)](#photonconfigdto)
The patch uses a Photon configuration given by the server.