Run from source
Use this way if you want to develop or debug OpenMU. This guide describes it for Windows; it runs under Linux and macOS as well.
Requirements
- Windows 10 or higher (Linux/macOS work too, this guide just isn't written for them)
- PostgreSQL installed
- Visual Studio 2026, with the workloads for ASP.NET Web development and .NET Desktop development. Please keep it up-to-date to prevent issues.
- The Visual Studio extension Web Compiler 2022+, if you plan to edit SCSS files of the admin panel
- .NET SDK 10 — it should
already be included in Visual Studio 2026
winget install Microsoft.DotNet.SDK.10
- NodeJS 16+
winget install OpenJS.NodeJS.LTS
- This repository cloned
Steps
- Open the OpenMU solution with Visual Studio.
- Right click the solution and select Restore NuGet Packages.
- Edit
src/Persistence/EntityFramework/ConnectionSettings.xmlso that the connection strings are correct. Only the user/password of the first and second connection string need to be correct — the server will try to create the other roles specified by the settings. - Build the solution.
- Start
MUnique.OpenMU.Startup.- If required, it creates the database schemas and the required roles, and gives permissions to those roles.
- Optional: you can reinitialize the database by adding the
-reinitparameter.
- When the admin panel is initialized, go to http://localhost/. You should see three game servers, the chat server and two connect servers. Start the connect servers and at least one game server — see Servers.
- Connect to the server with the game client, see Game client.
If you update to a newer state of the master branch, it is possible that the database and the configuration have to be updated. You find those updates in the admin panel, see Configuration updates and Setup.
Helpful optional steps
Auto start
If you don't want to start each server listener manually after starting the process, you can either
- activate Auto Start in the admin panel at Configuration → System, or
- use the start parameter
-autostart.
IP resolving
If you encounter disconnects after selecting a server, it is most likely a wrong setting for the IP resolver. You can change it in the admin panel at Configuration → System.
You may also change the setting by start parameters or environment variables, but this is only recommended for experienced users — see Startup parameters.
Changing the game version
If you want to play a version other than Season 6, you can initialize the database with another game version on the Setup page of the admin panel.
In-memory mode
With the -demo parameter, the server uses in-memory repositories instead of an
external database and initializes the data at each start. This is handy for a
quick test, but player progress is not saved.
Building from the command line
dotnet publish src/Startup/MUnique.OpenMU.Startup.csproj --configuration Release
The tests are run with:
dotnet test