Short answer. You can host a Return to Moria server yourself for free: install the free Return to Moria Dedicated Server with SteamCMD (app 3349480, anonymous login), run it once so it writes MoriaServerConfig.ini, set your world name, and make port 7777 reachable from the internet. Or rent a Return to Moria server and skip the port forwarding.
Up to eight players can be connected at once. They join with the invite code the server prints, or with your IP address and port under Advanced Join Options.
Checked on 5 November 2026. The newest dedicated server build announced on Steam is 1.6.7.219072 (12 February 2026).
This guide uses the developers' own Dedicated Servers Guide on returntomoria.com (last updated February 2025), their support knowledge base, their Steam patch notes, and what we run on our own Return to Moria servers. To go straight to the rental route, see Option 2.
What you need
Operating system: the developers' guide is written for Windows: the server is MoriaServer.exe. We run the same Windows server build on Linux under Wine, but the developers do not document that route.
Hardware: the developers publish no server requirements. They say the server needs no graphics card, and they suggest hosting on a different machine from the one you play on, because running both can strain memory and CPU.
Network: port 7777 is the default and must be reachable from the internet. The guide does not say whether that is TCP or UDP and gives no firewall steps, so test a join from outside your network.
Steam account: not needed. SteamCMD works without an account and the dedicated server tool is free.
The game: every player needs Return to Moria. Players on Steam, Epic, PS5 and Xbox Series X|S can join a server, according to the developers' guide.
The server software is free. You pay for the machine, power and bandwidth, not the software.
Option 1: host it yourself
This works on a spare Windows PC, a home server or a cloud machine.
Windows
Install the server. Either install "The Lord of the Rings: Return to Moria Dedicated Server" from the Tools section of your Steam Library, or download SteamCMD from https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip, extract it into a folder such as C:\steamcmd (not the root of a drive) and run:
3349480 is the dedicated server's app id in the developers' own SteamCMD guide. The download is about 3.5 GB. If the server will not start on a fresh Windows machine, the developers suggest installing the DirectX runtime and the Microsoft Visual C++ Redistributable.
Start it once. Run MoriaServer.exe. A console window opens and says it made a configuration file. Close it. (Through Steam: right-click the server, Manage, Browse Local Files.)
Edit MoriaServerConfig.ini while the server is stopped. Changes saved while it runs only take effect after you exit and relaunch it, and some console commands rewrite the file while it runs. The settings most people change:
Main section, OptionalPassword: if it is not blank, players must enter it to join.
World section, Name: the world to load. If no world with that name exists, a new one is created, and this is the name players see when they search. The name is not case sensitive.
World.Create section: seed, difficulty and Campaign or Sandbox mode. It only applies to a newly created world. To change difficulty later, the developers point to the setdifficulty console command.
Host section: manual port, IP address and other network settings.
Optional files.MoriaServerPermissions.txt blocks players or limits what they can build or touch, and MoriaServerRules.txt holds a message shown to joining players (1024 characters at most).
Open the port. Allow port 7777 in Windows Firewall and forward it on your router to this machine. The developers do not give router steps, so use your router manual or ISP.
Start the server again. When the session begins, the console prints the join code. Anyone with it can join.
Linux
The developers do not document Linux. The server is a Windows program. Our servers run it on Linux under Wine with a virtual display, but that is our setup, not a route the developers support, so this guide gives no Linux commands.
How players join
Invite code: type it into the search prompt on the Join World screen.
Direct join: under Advanced Join Options, enter the IP address (or domain name) and port of the server in the Direct Join section.
Same machine: if you host and play on one PC, use Join Locally Hosted Server under Advanced Join Options and enter your port.
Performance settings
Performance section, ServerFPS: the developers suggest 60 and say higher values are unlikely to help. Try 30 if the server uses too much CPU.
LoadedAreaLimit: 4 to 32, default 12. The developers say 12 generally supports eight-player sessions well, and raising it uses much more memory, CPU and bandwidth.
Saves and stopping
Dedicated worlds are saved in Moria\Saved\SaveGamesDedicated. Renaming world files is not supported.
You can copy a world from your own PC into that folder. Only files starting with MW_ are world saves. Nothing syncs afterwards, so each copy is separate. To pick one save file when two worlds share a name, put its file name in OptionalWorldFilename.
Ending the server with End Task in Task Manager quits without saving. The exit console command saves the game and stops the server, and sending SIGINT (Ctrl-C) also saves first, then quits.
If the console is disabled in the config, Moria/Saved/Config/Status.json shows whether the server is running.
The developers list one known issue: the server can get stuck while loading a world, and switching to the console and pressing any key reportedly fixes it.
Option 2: host it on PlayNHost
Renting removes the router and firewall work, and new builds install when the server starts. The port, password, world name and difficulty are set up for you.
Pick a plan. Open the Return to Moria server hosting page. The plan at the time of writing is DURIN, for 8 players, the most the game lets connect at once. Press Customize Plan on DURIN and finish the order. Prices change, so check them on that page.
Wait for the install. You get an email that your server is ready, with its join address, and the server appears at panel.playnhost.com. If the email says it is built but not started, press Start. On the Console tab, the panel counts the server as running when it prints LogOnline: Warning: OSS: Unable to AutoLogin user. That line is a warning in the log, not a fault: it is the line we wait for.
Open Settings, then Game Settings. The first three fields are written into MoriaServerConfig.ini each time the server starts:
World Name: the world to load or create. Changing it starts a new world and leaves the old one on disk, so change it only if you mean to start over.
Server Password: the join password. Leave it empty for no password.
Difficulty: story, solo, normal, hard or custom. It is used when a world is first created and does not change a world that already exists.
Auto Update: under Show advanced. On by default, it checks Steam for a new build each time the server starts.
Restart the server and wait for the ready line again.
Join. In Return to Moria, open Advanced Join Options and use Direct Join with your server's address and port (the join address from the email or the panel). Enter the password if you set one.
What our setup does for you
Keys the panel writes at every start.OptionalPassword, ListenPort (your server's game port), Name and Difficulty.Preset are rewritten from the panel, and AdvertiseAddress is set to auto and AdvertisePort to -1. A hand edit to any of these in the file is replaced at the next start, so change them in Game Settings. Other keys, such as ServerFPS, are not touched: edit them under Files with the server stopped.
The mods folder exists. Our servers have a Moria/Content/Paks/~mods folder for mod files, and the startup command creates it every time, because a SteamCMD update can remove an empty one. In our own test, a mod placed there was mounted by the server. A mod for this game usually comes as three files with the same name, ending .pak, .ucas and .utoc, and all three go in together. There is no Steam Workshop for this game. Whether players also need a mod depends on the mod, so check its page.
Install retries. In our own installs, a SteamCMD download sometimes failed while still reporting success. Our install script checks that the app manifest exists and retries up to three times instead of leaving an empty server.
Backups. If your plan includes backups, take one from Backups before editing the config by hand or changing mods.
Cost. Self-hosted: the software is free, and you pay for hardware, power and bandwidth. Rented: a monthly fee set by plan. See the current plan.
Availability. Self-hosted: as reliable as your machine and home internet, and it must stay on when your friends play. Rented: runs on the host's hardware, not your PC.
Network exposure. Self-hosted: players connect to your public IP and you manage the router and firewall. Rented: your home IP is not involved.
Skill needed. Self-hosted: SteamCMD, an INI file and port forwarding, and the developers' guide covers only Windows. Rented: a web panel with form fields.
Updates. Self-hosted: rerun the SteamCMD command after each patch and restart, so the server stays on the same version as the players. Rented: Auto Update installs a new build when the server starts, so restart after a patch.
Self-hosting suits you if a Windows machine already runs all day and you are comfortable with networking. Renting suits you if you would rather not look after hardware.
Common problems and fixes
Friends cannot connect
Cause: port 7777 (or your Host section port) is not reachable from the internet.
Fix: allow it in the firewall and forward it on your router, then have someone outside your network try a Direct Join. On the same machine, use Join Locally Hosted Server.
Your config edits are ignored
Cause: the server was running when you saved the file. Changes only apply at the next launch, and some console commands rewrite the file while the server runs.
Fix: stop the server, edit MoriaServerConfig.ini, then start it. On PlayNHost, keys in Game Settings are also rewritten at every start, so change them there.
A new world appeared instead of your old one
Cause: the world name did not match an existing save, so the server created a new world.
Fix: set the exact name of the existing world, or put its .sav file name in OptionalWorldFilename.
The server hangs while loading the world
Cause: a known issue the developers list.
Fix: switch to the server console and press any key, as the developers' guide says.
A mod does nothing (PlayNHost)
Cause: check first that the .ucas and .utoc files that came with the .pak were uploaded too, into the right folder.
Fix: upload the .pak, .ucas and .utoc together into Moria/Content/Paks/~mods and restart.
FAQ
Can I host a Return to Moria server for free?
Yes. The dedicated server is a free tool and SteamCMD needs no Steam account. You still pay for the machine, power and internet, and it must stay on while people play.
How many players can join?
Eight can be connected at once, according to the developers. There is no limit on how many different players can use a server over time. Our plan is for 8 players.
Which port does a Return to Moria server use?
7777 by default, changeable in the Host section of MoriaServerConfig.ini.
Can console players join?
Yes. The developers say players on Steam, Epic, PS5 and Xbox Series X|S can join a dedicated server. After a patch, they ask everyone to update fully to avoid multiplayer and crossplay problems, so update the server too.
Can I move my existing world to the server?
Yes. Copy the MW_.sav file from your PC's save folder (SaveGamesSteam or SaveGamesEpic under AppData\Local\Moria\Saved) into the server's save folder. On PlayNHost, upload it under Files with the server stopped, then set World Name in Game Settings to that world's name, because the panel rewrites Name at every start.
We use cookies to keep the site working, to understand how it is used, and to measure our marketing. You can accept all, accept essential cookies only, or choose per category.We use cookies to keep the site working, to understand how it is used, and to measure our marketing. They are on by default here. You can switch off anything you do not want.Read our privacy policy