The Lord of the Rings: Return to Moria™: Dedicated Servers Guide


First Published: 2024/12/11
Last Updated: 2025/02/20

This guide tells you how to set up a dedicated server for Return to Moria. 

Join our community on Discord for troubleshooting tips. If you have any issues please enter a support ticket at https://northbeachgames.freshdesk.com/support/tickets/new


Please Note: The team is currently working to make the Dedicated Servers tool visible for all users in the Steam client. If you do not see it in the "Tools" dropdown in your library, or do not have a Steam account, you can install the Dedicated Servers tool via SteamCMD. Please see the following article in our Support Knowledge Base for more info on how to do this: Can I use SteamCMD to install the Dedicated Server?

The Lord of the Rings: Return to Moria™: Dedicated Servers Guide

Running a dedicated server is a great way to provide a persistent world in which you and your friends can play anytime. Setting up a dedicated server requires some cursory setup knowledge and, depending on your configuration, knowing how to set up your router to allow data to be sent to and from the server and its connected clients.

This guide will help you configure the server application but due to the many router and modem types in use today, and various internet connection setups, we can’t provide any detailed instructions on how to configure your router. Please refer to your router manual or ISP.

Please note: There is no maximum limit to the number of players who participate in any server, however there is a limit of eight players that can be connected simultaneously.

Initial Setup and Hosting

  1. In your Steam Library, navigate to the “Tools” section. You should find the “The Lord of the Rings: Return to MoriaDedicated Server” listed there; you can also search for it directly using the search bar within the library.
  2. Install “The Lord of the Rings: Return to Moria™ Dedicated Server” 
  3. Steam has an option to launch the Dedicated Server directly, but to configure the server you will need to open the local files.
  4. To access the files Right click → Manage → Browse Local Files 
  5. First time: Launch the game via Steam or MoriaServer.exe. On first launch, a console window will tell you it made a configuration file. Close the console window. 
  6. Edit MoriaServerConfig.ini with any setting changes you want to make.
  7. Edit MoriaServerPermissions.txt to block specific users from joining or limit their permissions to build or manipulate items on the server.
  8. Edit MoriaServerRules.txt to provide a custom message for any players joining the server. There is a limit of 1024 characters.
  9. Launch the server by double clicking on MoriaServer.exe or via Steam. This will bring up a console window.
  10. Once the server session begins, the console will give you the join code. Anyone with this code can join the server.
  11. If you experience connection problems, you may need to set up port forwarding. Please see the FAQ or your Router manual.

Joining a Server

  • With an Invite Code
    If you have the Invite Code for a server, enter it in the search prompt on the Join World screen.
    Note: If you are attempting to join from the same machine that is hosting, you need to use the advanced option to Local Join.
  • Direct Join
    If you know the IP address and port, or domain name and port for a dedicated server, go to Advanced Join Options and enter your information under the Direct Join section.
  • Local Join
    If you are running a dedicated server on the same machine you are joining on, go to Advanced Join Options and enter your port under the Join Locally Hosted Server section.

Customize the server with MoriaServerConfig.ini

After opening the file in any text editor you may change the following options. Please note: to have any effect editing the MoriaServerConfig.ini file has to be done while the Dedicated Server is not running.

  • Main/OptionalPassword
    If this option is not blank, players will have to enter this password before they are able to enter your game. Be careful you don't accidentally share this password if you copy this file.
  • World/Name
    Name of the world you would like to load. If that world does not exist, a new world will be created. This is what players will see when searching for the session.
  • World/OptionalFileName
    For loading worlds using .sav files names. If you don't know your existing world name or have two worlds named the same, instead add the OptionalWorldFilename to select which existing save file to load.
  • World.Create section
    This section is only used for newly created worlds. You can set your world seed and difficulty options, as well as choose Campaign or Sandbox mode. If you would like to change difficulty after world creation, use the console commands.
  • Host section
    Manually set port forwarding, IP address and other settings
  • Console/Enabled
    This is an advanced feature to set if the server launches the console window. If you disable the console, you can still see whether your server is hosting by looking at the Status.json file in the Moria/Saved/Config subfolder. If the console is disabled, you will need to use Windows Task Manager to force exit.
  • Performance/ServerFPS
    Set the FPS limit of the server. We suggest 60. Higher values are unlikely to improve the server performance. However if your server uses too much CPU, you might try 30 fps instead.
  • LoadedAreaLimit
    Maximum number of areas to keep loaded at once; set a number between 4 and 32. The default is 12 loaded areas and increasing this greatly impacts memory, CPU usage and bandwidth.

Loading or creating Worlds

Load existing worlds or create a new world by naming the world under the [World] section in the MoriaServerConfig.ini file. The Dedicated Server will first check if the specified world exists in the Dedicated Server’s Save Games folder; if it doesn’t find it, it will create a new world with that name. The world name is not case sensitive.

You can also load a world by .sav file name. To do this, paste the name of the .sav file to OptionalWorldFilename. This is helpful if you have multiple worlds with the same name.

Note that renaming world files is not currently supported. The Dedicated Server’s Save Games folder is located in: 
\Steam Library\Return to Moria Dedicated Server\Moria\Saved\SaveGamesDedicated

Example:
You want to load a world that is called “Oleg’s World”. While the Dedicated Server is closed, open the MoriaServerConfig.ini file and under the [World] section add “Oleg’s World” to Name= to get Name=“Oleg’s World”. Save the MoriaServerConfig.ini file and launch the Dedicated Server. 

Migrating existing worlds to the Dedicated Server

You can transfer existing PC (Steam or Epic) world saves from your existing Save Games folder to the Dedicated Server’s Save Games folder and play the game on the Dedicated Server.

Depending on the platform of your Regular Build, the Save Games folders are located either in

C:\Users\[UserName]\AppData\Local\Moria\Saved\SaveGamesEpic

or

C:\Users\[UserName]\AppData\Local\Moria\Saved\SaveGamesSteam

Please note: World Saves are .sav files that start with MW_.

Commands while the server is running

A console window pops up when you run MoriaServer.exe – this is how to control the server in real-time.

  • block
    Blocks a specified player by name if they are online. 
  • difficulty
    Gets the server's current difficulty settings
  • exit
    Saves the current game and stops the server.
  • help
    Describes commands.
  • kick
    Kicks a specified player.
  • players
    Prints the list of connected players.
  • setcustomdifficulty
    Sets one specific difficulty setting to the given value.
  • setdifficulty
    Sets all of the server's difficulty settings to use a preset. See next section for details.
  • status
    Prints the current status of the server.
  • unblock
    Unblocks a previously blocked player.
  • regenerateinvitecode
    Regenerates the invite code after next restart.
  • rename world
    Renames the world to the given name.

Difficulty Settings

setdifficulty - sets all of the server's difficulty settings to use a preset

  • setdifficulty story
  • setdifficulty solo
  • setdifficulty normal
  • setdifficulty hard
  • setdifficulty custom

setcustomdifficulty [name] [value] - sets the specified difficulty setting [name] to the given value. Eg. setcustomdifficulty [combatdifficulty] [verylow]

  • Names: 
    • combatdifficulty 
    • enemyaggression
    • survivaldifficulty
    • miningdrops
    • worlddrops
    • hordefrequency
    • siegefrequency
    • patrolfrequency
  • Values
    • verylow, low, default, high, veryhigh 
    • Not all of the named settings have the same range of values - some don’t have verylow, veryhigh so if those value are chosen, it will be set to low or high instead.

Setting Permissions

Edit MoriaServerPermissions.txt to block specific users from joining or limit their permissions to build or manipulate items on the server.

Construction Permissions

  • NoConstruction
    Prevents the player from using any build or quick-build functions and from deconstructing any player constructions.
  • QuickBuild
    Allows the player to quick-build platforms and rope ladders but prohibits other construction or deconstruction.
  • AllConstruction
    Grants full permissions for both construction and deconstruction.

Storage Permissions

  • NoStorage
    Prevents the player from interacting with player-constructed storage containers and from using base storage for crafting.
  • AllStorage
    Allows the player to interact with player-constructed storage containers and use base storage for crafting.

Kicking and Blocking Players

In the console, players can now be kicked, blocked, and unblocked by entering their usernames in the respective commands. With Update 1.4.3,  the kick command no longer permanently blocks a player, they can rejoin the same session.

Additionally, the MoriaServerPermissions.txt file now maintains a list of all players who have joined the server. Modifying a player's entry by adding or removing the "Blocked" status will block or unblock them accordingly. Players can also be preemptively blocked before joining an online session by manually adding their username with the "Blocked" status.

Known Issues

  • The block/unblock command is case sensitive for the usernames entered.
  • The dedicated server can sometimes get stuck while loading a world but it will load immediately if you switch focus to the Console and press any key.
  • When joining a dedicated server using the Advanced Join Options, if you enter an incorrect password, you will need to go back to the Advanced Join Options to re-try with the correct password. There is not currently an easy way to correct the password entered.

Frequently Asked Questions

  1. Can I copy an existing peer-to-peer save to a dedicated server?
    Yes you may move PC (Epic and Steam) world saves to a dedicated server! See the section above under the heading “Migrating existing worlds to the Dedicated Server.” Note that there is no automatic way to sync these two files after you have copied the world save. 
  2. Can I change the MoriaServerConfig.ini while the server is running?
    While you can modify and save the file, your changes will not take effect until you exit then re-launch the server. Be aware that some console commands modify this and other text files in realtime. It is recommended to exit the server before manually making changes to any text file.
  3. Can I run the server on my home machine and still join from the same machine?
    Yes you can, however you may have memory and CPU load issues. We recommend running the server on a different machine than you join and play.
  4. Does the server computer need a graphics card?
    No, a graphics card is not used. The host machine can have any or no card.
  5. Can I set the world seed?
    Yes, this is a setting in the [World.Create] section of the MoriaServerConfig.ini 
  6. How do I kick or block someone?
    Use the kick and block console commands. Or you may add the player's name to the block section of the MoriaServerPermissions.txt file. To unblock someone you may use the unblock command or remove their name from the MoriaServerPermissions.txt file. It is not recommended to modify this text file while the server is running. See #2 above for more information.
  7. Can I set server rules?
    Yes. Any text in MoriaServerRules.txt will display when other players join.
  8. Can I set building, inventory or other kinds of granular permissions?
    Yes, see the section on Setting permissions.
  9. Can I modify the tuning of the game, such as change to the ore drop rates?
    No, these options are planned for a future update. 
  10. Do I need to restart the server to change the difficulty settings ?
    No, you can do it with console commands. 
  11. Do I need to own the game to run a server?
    No! But in the Alpha Playtest you will need to sign up and receive a product key.
  12. Do I need to play on Steam to join a server?
    No. Players on Steam, Epic, PS5 and Xbox X/S may join a server. Only hosts need to register, anyone who has purchased the game can join an Alpha server without a key to the dedicated server.
  13. I have more than one world save in the saved games folder. How do I load the one I want?
    In the MoriaServerConfig.ini you can specify the name of the world to load. See the information under the heading “Loading or creating Worlds,” above, for more information.
  14. Can I host a server and join it from the same computer?
    Yes, on the Join World screen, go to Advanced Join Options and choose the option to Join Locally Hosted Server
  15. How do I set up Port Forwarding?
    The most important thing is to make sure that the Server uses a Port that has access to the Internet. This is done by ‘Port Forwarding’, please refer to your Router manual or ISP for details on how to do this. The default Port that the Server uses is 7777.
    For additional troubleshooting tips, see what community members have shared on Discord: ​​https://discord.com/channels/967763242514522212/1317621777005805668
  16. When running a dedicated server with the console disabled, how do I properly terminate the session?
    To properly close the session: 
    1. Open Task Manager (right click the taskbar).
    2. Go to Details.
    3. Find Moria.exe in the list.
    4. Click ‘End Task’.
    5. This will quit without saving.
    6. For advanced users, If you send SIGINT (ctrl-C) to the process, the game will first save and then quit.
  17. How can I improve performance or reduce load walls on a dedicated server?
    In MoriaServerConfig.ini, you can set the FPS limit of the server or adjust the LoadedAreaLimit. We suggest FPS 60. Higher values are unlikely to improve the server performance. However if your server uses too much CPU, you might try 30 fps instead.
    For the LoadedAreaLimit, set a number between 4 and 32 for the maximum number of areas to keep loaded at once. The default is 12 loaded areas, which generally supports 8 player sessions well. If you wish to improve performance, reducing to 8 loaded areas supports 4 player sessions very well. Increasing this number above 12 may decrease the number of loading walls you see, at the cost of much higher memory and CPU usage, as more enemies will need to be simulated to fill those areas.

Available Now
The Lord of the Rings: Return to Moria
Buy Now
JOIN THE RETURN TO MORIA DISCORD
Unite with Your Fellow Dwarves

Adventure awaits in our growing discord community. Join to discover all things Return to Moria.

Join Now