Skip to main content

The one-click setup tool for Morrowind Multiplayer on Linux

Project description

🐉 TES3MP Easy

The "Easy Button" for playing and hosting Morrowind Multiplayer on Linux.

A powerful Python CLI tool that automates the installation, configuration, network diagnostics, and server hosting for TES3MP (Morrowind via OpenMW).

PyPI version License: MIT


✨ Features

  • Zero-Hassle Client: Installs the engine and links your Data Files automatically.
  • Smart Config: Detected and fixed the "duplicate content files" bug automatically (v1.4.2+).
  • Connection Doctor: Built-in network diagnostics for Ping and Tailscale tunnels.
  • Server-Only Mode: Deploy a dedicated server on a VPS (Oracle Cloud, AWS) without graphical dependencies.
  • Tailscale Integration: Detects, installs, and manages Tailscale tunnels for easy non-port-forwarded hosting.
  • Systemd Generator: Creates persistent background services for your server with one command (v1.5.0+).

🚀 Installation

Option A: The Easy Way (PyPI)

Install the latest stable version:

pip install tes3mp-easy

Option B: The Developer Way (GitHub)

Install from source:

pip install git+https://github.com/flywiththetide/TES3MP-Easy.git

📖 Recipes & Cookbook

🎮 Scenario 1: I just want to play!

  1. Install the tool: pip install tes3mp-easy
  2. Run it: tes3mp-easy
  3. Select Option 5 to point it to your Morrowind Data Files folder.
  4. Select Option 1 to Launch Game.
  5. In the browser, find a server and double-click to join!

🏠 Scenario 2: Hosting a Private Server for Friends (No Port Forwarding)

We use Tailscale to let friends join without opening router ports.

  1. Run tes3mp-easy.
  2. Select Server Settings > Install Server.
  3. When asked "Install Tailscale?", say Yes.
  4. Start the server. The tool will show your Tailscale IP (e.g. 100.x.y.z).
  5. Tell your friends to:
    • Install Tailscale and join your network (or share the node with them).
    • Put your Tailscale IP into their "Direct Connect" field.

☁️ Scenario 3: Deploying on a Cloud VPS (Oracle/AWS)

You want a 24/7 server running on a free-tier Linux VPS. You don't have a monitor attached. Run this single command:

# Installs server, sets name/password, and starts it as a background service
tes3mp-easy --server --install --name "Morrowind World" --password "secret123" --service

Done. Your server is now running on port 25565.

🛠️ Scenario 4: Fixing "Content Files Specified More Than Once"

If your game crashes on startup with this error, your config files are messy.

  1. Update the tool: pip install --upgrade tes3mp-easy
  2. Run tes3mp-easy once.
  3. It will automatically detect the duplicate lines and clean your local configuration.
  4. Launch the game again—it should work!

🧹 Scenario 5: Resetting Configuration

Changed your game folder? Moved files?

  1. Run tes3mp-easy.
  2. Select Option 5 (Set Data Files Path).
  3. Enter the new path.
    • This re-writes your openmw.cfg with the correct paths and load order.

🤖 Advanced Automation Flags

New in v1.5.0!

Flag Description
--server / -s Server-Only Mode. Skips all graphical checks (Flatpak, Client). Safe for headless VPS.
--install Auto-Install. Downloads TES3MP and dependencies (libluajit, etc.) automatically without prompts.
--name "X" Sets the server name in tes3mp-server-default.cfg.
--password "X" Sets the server password.
--service Magic Mode. Generates a systemd service file (/etc/systemd/system/tes3mp.service), enables it, and starts it.

📂 Requirements

  • OS: Linux (Ubuntu, Arch, Fedora, SteamOS, etc.)
  • Python: 3.8 or higher.
  • Game Files: You must own Morrowind (GOG/Steam) and have the Data Files folder.
  • Root/Sudo: Required only for installing system dependencies (apt install) or systemd services.

🤝 Contributing

Found a bug?

  1. Open an issue on GitHub.
  2. Fork the repo and submit a PR.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tes3mp_easy-1.5.4.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tes3mp_easy-1.5.4-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

Details for the file tes3mp_easy-1.5.4.tar.gz.

File metadata

  • Download URL: tes3mp_easy-1.5.4.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for tes3mp_easy-1.5.4.tar.gz
Algorithm Hash digest
SHA256 12a4ebe7d7b47d0b67043d219c330298b6fd55aee6bba986848750ec9e173ccf
MD5 5d46046b293a0fe9379ffea5014afa92
BLAKE2b-256 7427b7997af048189677f6a6634fd53f15f25ebf65d5f8449373439a3705a7dd

See more details on using hashes here.

File details

Details for the file tes3mp_easy-1.5.4-py3-none-any.whl.

File metadata

  • Download URL: tes3mp_easy-1.5.4-py3-none-any.whl
  • Upload date:
  • Size: 26.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for tes3mp_easy-1.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8a98aa42fcbe4d332c63ef57dea1343007077c063400b9c3eea523a19a0ea79c
MD5 9cd3c5e60c5385e59baf65dad62f2075
BLAKE2b-256 97bbab70c55fabd7e146a9bfb3cd82465117a01e131fb9931a0fab51d73b55a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page