Brazil's biggest MU Online portal — since 2003
Tutorial Advanced Servidor

How to Create a MU Online Season 13–19 Server — Complete Guide

Step-by-step guide to setting up a MU Online private server for Season 13 through 19 — from SQL setup to GameServer configuration.

VI ViciadosMU Team · Updated on 4 jul 2026 · ⏱ 18 min read

Running your own MU Online private server is one of the most rewarding projects for a dedicated fan of the game. This guide covers every major step — from preparing the machine to launching your first test client — for Season 13 through Season 19 emulator setups. All instructions assume a clean Windows Server environment and a basic comfort level with SQL databases and file system administration.

1. Preparing the Environment

Before touching any server files, make sure the host machine has the required software stack installed and properly configured.

Required runtimes and tools:

  • Microsoft SQL Server 2014 or newer (Express edition works for testing)
  • SQL Server Management Studio (SSMS) for database administration
  • Visual C++ Redistributable packages: 2010, 2013, 2015–2022 (both x86 and x64)
  • .NET Framework 4.8
  • DirectX End-User Runtime (required by some Season 18–19 components)
Nota: Season 13 emulator files typically require the 2013 x86 redistributable specifically, while Season 18–19 files lean on the 2015–2022 bundle. Install all of them to avoid "missing DLL" errors at startup.

Once runtimes are installed, create a dedicated folder structure. Keeping everything organized prevents configuration confusion later:

C:\MUServer\
  ├── Database\        → SQL backup files and restore scripts
  ├── GameServer\      → Main game logic executable and configs
  ├── ConnectServer\   → Central routing server
  ├── JoinServer\      → Authentication and session server
  ├── DataServer\      → Shared data cache component
  └── Logs\            → Centralized log output (optional symlink)

2. Setting Up the SQL Database

The database is the backbone of the entire server. All character data, item records, guild information, and server-side event state live here.

Steps:

  1. Open SSMS and connect to your local SQL Server instance.
  2. Create a new database named MuOnline (the name must match exactly what your server configs reference).
  3. Restore the database backup provided with your emulator package. In SSMS: right-click Databases → Restore Database → choose the .bak file.
  4. Create a dedicated SQL login for the server components. Avoid using sa in production configs.
-- Create a dedicated server account
CREATE LOGIN MuServerUser WITH PASSWORD = 'StrongPassw0rd!';
USE MuOnline;
CREATE USER MuServerUser FOR LOGIN MuServerUser;
EXEC sp_addrolemember 'db_owner', 'MuServerUser';

> [!WARNING] > Never expose your SQL Server port (1433) to the public internet. The SQL instance should be accessible only on localhost (127.0.0.1) or a private LAN interface. Use Windows Firewall rules to block external access to this port.

After restoring the database, run any migration or patch scripts that came with the emulator. Season 18 and 19 packages often include incremental SQL scripts labeled Patch_S18_001.sql through Patch_S19_xxx.sql. Apply them in order.

3. Configuring the ConnectServer

The ConnectServer is the first component players contact. It tells the client which GameServer channels are available and routes the initial connection.

Key configuration file: ConnectServer\ConnectServer.ini (filename varies by emulator version).

[Network]
ServerListenPort  → 44405        ; Port clients connect to
MaxConnections    → 10000        ; Adjust based on expected player count
ListenIP          → 0.0.0.0      ; Bind to all interfaces

[ServerList]
ServerCode_0      → 0            ; Internal code for GameServer channel 0
ServerPort_0      → 55901        ; Must match GameServer's ConnectPort
ServerName_0      → Lorencia      ; Display name shown in-client

[Logging]
LogLevel          → 2            ; 0=off, 1=errors, 2=info, 3=verbose
LogPath           → ..\Logs\CS\

Open port 44405 (TCP) in Windows Firewall and in your router if the server is behind NAT. This is the only port players strictly need to reach initially.

4. Configuring the JoinServer and DataServer

These two components handle authentication and shared cache respectively. They do not listen for direct player connections — they communicate only with the GameServer internally.

JoinServer config (JoinServer.ini):

[Network]
ListenPort        → 55980        ; GameServer connects here for auth
ListenIP          → 127.0.0.1    ; Localhost only — never expose externally

[Database]
DBServer          → 127.0.0.1
DBPort            → 1433
DBName            → MuOnline
DBUser            → MuServerUser
DBPassword        → StrongPassw0rd!

DataServer config (DataServer.ini):

[Network]
ListenPort        → 57900
ListenIP          → 127.0.0.1

[Cache]
MaxCacheSize      → 512          ; MB — increase for larger player populations
CacheExpiry       → 300          ; Seconds before stale entries are evicted

> [!TIP] > Start the server components in this order every time: DataServer → JoinServer → ConnectServer → GameServer. Reversing the order causes connection-refused errors in the logs because each component depends on the previous one being ready before it can register itself.

5. Configuring the GameServer

The GameServer is the largest and most complex component. It handles all map logic, combat calculations, item drops, quest state, and real-time player interactions.

The main configuration file is usually GameServer\GameServer.ini or a folder of XML/INI files. Below are the most critical settings:

[ServerInfo]
ServerCode        → 0            ; Must match ConnectServer's ServerCode_0
ServerName        → Lorencia
MaxPlayers        → 500          ; Set based on your hardware capacity

[Network]
GamePort          → 55901        ; Clients connect here for gameplay
ConnectPort       → 55901        ; Port announced to ConnectServer

[ConnectServer]
IP                → 127.0.0.1   ; ConnectServer address
Port              → 44405

[JoinServer]
IP                → 127.0.0.1
Port              → 55980

[DataServer]
IP                → 127.0.0.1
Port              → 57900

[Database]
DBServer          → 127.0.0.1
DBPort            → 1433
DBName            → MuOnline
DBUser            → MuServerUser
DBPassword        → StrongPassw0rd!

[Rates]
ExperienceRate    → 100          ; Multiplier — 100 = 1x standard rate
DropRate          → 50           ; Percentage of base drop chance
ZenDropRate       → 100

For Season 18 and 19, additional XML config files govern features like the Kundun system, Blood Castle scheduling, jewel fusion rates, and the new wing tiers. Locate files named ItemDropSettings.xml, EventSchedule.xml, and NewWingCraft.xml in the GameServer config folder and adjust them to your intended server style.

6. Firewall and Port Summary

A clean firewall configuration prevents most connection issues.

PortProtocolComponentExposed to Internet
44405TCPConnectServerYes
55901TCPGameServerYes
55980TCPJoinServerNo (localhost)
57900TCPDataServerNo (localhost)
1433TCPSQL ServerNo (localhost)

Apply inbound allow rules only for ports marked "Yes". All other ports should be blocked at both the Windows Firewall level and your router/NAT level.

7. First Launch and Troubleshooting

With all configs in place, launch the components in order: DataServer, JoinServer, ConnectServer, GameServer. Each should print a ready message to its console window within 10–30 seconds.

Common issues and fixes:

  • "Cannot connect to database" — verify the SQL login credentials, confirm the SQL Server service is running, and check that the DB name matches exactly (case-sensitive on some SQL Server collations).
  • "ConnectServer not found" — ensure ConnectServer is running before GameServer starts, and that the IP/port in GameServer config match ConnectServer's listen settings.
  • Client shows "Server List empty" — the ConnectServer is reachable but no GameServer has registered. Check GameServer logs for database or JoinServer connection errors.
  • "The application was unable to start correctly (0xc000007b)" — a mismatched Visual C++ redistributable. Install the x86 2013 package even on a 64-bit OS.

Once the server is running, connect using a patched client pointed at your server's IP on port 44405. Log in with the default GM account credentials specified in your emulator's documentation, verify that maps load correctly, and confirm that character creation and item drops function as expected before inviting other players.


Setting up a MU Online private server requires patience with configuration details, but the result is a fully controllable game environment you can tune precisely to your vision. As you grow more comfortable with the components, explore the advanced XML configs to implement custom events, adjusted rates, and new season content.

Perguntas frequentes

What operating system should I use to host a MU Online private server?

Windows Server 2016 or 2019 (64-bit) is the most compatible OS. Most Season 13–19 server emulator files were compiled targeting Windows, and the required runtimes (Visual C++ Redistributables, .NET Framework 4.x) are well-supported there. Avoid consumer editions if you plan to run the server continuously.

What are the minimum hardware requirements?

For a test environment, a machine with 4 GB RAM, a quad-core CPU, and 50 GB of free disk space is sufficient. For a live server with active players, aim for at least 8 GB RAM, 6+ CPU cores, and SSD storage for the SQL database to reduce I/O wait times.

Do I need a static IP address?

For private testing on a LAN, a dynamic local IP is fine. To allow players to connect from the internet you need either a static public IP or a dynamic DNS (DDNS) service pointed at your router, combined with the correct port forwarding rules on your router and any software firewall.

How do I keep the server running after I close the console windows?

Use Windows Task Scheduler or wrap each server executable as a Windows Service using a tool like NSSM (Non-Sucking Service Manager). This keeps all server components alive in the background, survives user logoffs, and allows automatic restarts on failure.

VI

ViciadosMU Team

Equipe editorial do ViciadosMU — portal de MU Online no ar desde 2003.

Keep reading

Related articles