Skip to content

About

Cross-platform Elden Ring mods for Linux, macOS (Apple Silicon) and Windows (experimental). Live Lua mods you toggle in-game, private LAN/VPN co-op on Linux and macOS, your game install and saves untouched.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Cross-platform Elden Ring mods and co-op

Mod Elden Ring in Lua, live in the running game, and play it in co-op with your friends, over LAN or a VPN. On Linux, macOS and, experimentally, Windows.

  • 📁 Your game install is never touched. The engine reads the game directory and writes nothing into it, so Steam's integrity check has nothing to revert.
  • 💾 Your saves are never touched. Modded play happens on a profile, a copy kept in the engine's own directory. It copies your characters in by reading your save, never by writing it.
  • 🔒 Co-op over LAN or VPN, private by default. Up to five players, peer to peer, at home or over ZeroTier or Tailscale. No matchmaking and no FromSoftware servers: only machines you can reach can join you, and you can only join machines you can reach. No strangers, no lobby password.
  • ⚡ Mods are live Lua scripts. Switch any mod on or off from the in-game menu; edit a file and it reloads within a second (on Windows, once you run ermod-engine mod verify). No toolchain, no ModEngine, no restart.
  • 🤝 Mods follow the host, with your consent. Join a host with mods you lack and the menu offers them, already downloaded. Nothing lands in your mods directory until you press Enable.
  • 🐧 Native on Linux, macOS and Windows. A native launcher for Linux x86-64 and Apple Silicon that finds your game and drives Proton, CrossOver, Whisky or protium for you, with no setup. On Windows, an experimental launcher runs the game and your mods without Wine; co-op, profiles and the settings window are Linux and macOS only for now.
  • 🪶 Small and quick. One download of a few megabytes, nothing to install: unpack it and play. Easy Anti-Cheat never runs, and modded sessions never reach FromSoftware's servers (the rules).

🌐 Website: https://benehiko.github.io/elden-ring-mods/

I want to…

  • …mod Elden Ring. Drop a Lua file in a folder while the game runs and switch it on from the in-game menu; no ModEngine, no toolchain. How to mod Elden Ring.
  • …play Elden Ring on Linux. A native launcher finds your Steam game and its Proton and starts it with mods and co-op. Elden Ring on Linux.
  • …play Elden Ring on macOS. On Apple Silicon, inside CrossOver, Whisky, protium or any Wine; the launcher finds the bottle for you. Elden Ring on macOS.
  • …play Elden Ring with mods on Windows. Experimental: a native launcher finds your Steam game and starts it with your mods, no Wine. Windows.
  • …play Elden Ring co-op with friends. Peer to peer over LAN, ZeroTier or Tailscale, with the host's mods offered to everyone who joins. Elden Ring co-op.

Quick start

1. Play with mods

Download ermod-engine for your machine from the latest release (…-linux-x86_64.tar.gz, …-macos-aarch64.tar.gz, or …-windows-x86_64.zip), then, on Linux or macOS:

tar -xzf ermod-engine-<version>-<platform>.tar.gz
cd ermod-engine-<version>-<platform>
./ermod-engine --dry-run          # finds your game and Proton/Wine; launches nothing
./ermod-engine install level60.lua # copy a mod in, e.g. from this repo's examples/
./ermod-engine                    # play

In the game, press ` (backtick) to open the ermod menu and switch mods on and off. Verifying the download, macOS's quarantine and everything else are in the install guide.

On Windows (experimental), unpack the .zip, put mods in %LOCALAPPDATA%\ermod\mods, and run ermod-engine --dry-run, then ermod-engine, from a terminal in the unpacked folder; see Windows.

2. Play co-op

Everyone runs the same engine release and game build. Then:

./ermod-engine coop id                             # everyone: prints your join line
./ermod-engine coop host                           # the host, first; press Continue in the game
./ermod-engine coop join <host-id>@<host-address>  # each friend, once the host says "you are hosting"

That works as it is on one home network. Friends elsewhere? Join one ZeroTier or Tailscale network first: network.md, a few minutes, once. It also shows which of the addresses coop id prints is the VPN's. The co-op guide covers three or more players, mods in co-op, and what to do when a join fails.

3. Write a mod

Save this as level60.lua in your mods directory (./ermod-engine paths shows where) while the game runs:

local mod = { name = "level60", version = "1.0.0", run_at = "launch", permissions = { "params" } }

function mod.on_launch(sdk)
  sdk.params.row(sdk.params.file.CharaInitParam, 3000).soulLv = 60   -- the Vagabond starts at level 60
end

return mod

It loads on the next frame. Check a mod before you share it:

./ermod-engine mod verify level60.lua   # would it load in the game?

For completion in your editor, point a Lua language server at stubs/: { "workspace.library": ["path/to/elden-ring-mods/stubs"] }. Then read the scripting guide and the eleven examples, starting with hello_launch.lua.


In the game

Key What it does
` (backtick) Opens the ermod menu: every mod with a switch, profiles, and co-op.
Insert Gives mouse and keyboard to mod windows, and hands them back to the game.

The menu works from the keyboard too (Tab/arrows, Space/Enter). Rebind either key with ./ermod-engine settings (every setting).

Supported game versions

Game build Engine
2.7.1.0 (latest) v0.3.0 and later mods and co-op
2.7.0.0 v0.2.0 and later mods and co-op
2.6.2.0 v0.1.0 and later mods; co-op without the rule fixes

./ermod-engine check-build tells you which one you have. An unknown build runs unmodded, with a warning.

Everything else

Install guide Verifying downloads, macOS setup, where mods go, settings, troubleshooting
Profiles and your save Modded saves kept apart from your own; profile and character commands
Co-op guide · LAN / VPN Sessions, mods in co-op, fixes
Scripting guide Every SDK module, the sandbox, mod perf, mod bake
Command reference Every command and flag
Architecture How it fits together

This repository is the open half (SDK stubs, examples and docs) under Apache-2.0. The engine is closed source; its binaries ship on the Releases page under their own licence (NOTICE). ELDEN RING is the property of FromSoftware and Bandai Namco. This project is unaffiliated, distributes no game data, and never writes to an installation.

About

Cross-platform Elden Ring mods for Linux, macOS (Apple Silicon) and Windows (experimental). Live Lua mods you toggle in-game, private LAN/VPN co-op on Linux and macOS, your game install and saves untouched.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages