Brazil's biggest MU Online portal — since 2003
Tutorial Intermediate Server

How to configure IpAddress.dat and the ServerList in MU Online

Learn how to correctly configure the server's IpAddress.dat and the client's ServerList so players can connect without network errors.

GA Gabriel · Updated on Aug 20, 2025 · ⏱ 15 min read
Quick answer

Setting up the network is one of the most frustrating steps for anyone just getting started with a private MU Online server, and also one of the biggest sources of support tickets with the classic "connects and drops" message. In practice, most of these problems are not in the emulator or the client

Setting up the network is one of the most frustrating steps for anyone just getting started with a private MU Online server, and also one of the biggest sources of support tickets with the classic "connects and drops" message. In practice, most of these problems are not in the emulator or the client, but in how IP addressing was defined in the server's configuration files and in the ServerList that ships with the player's client. In this tutorial you will understand the difference between internal and external IP, how the connection flow works behind the scenes, how to configure the GameServer's and ConnectServer's IpAddress.dat, how to use No-IP for those without a static IP, and how to prepare the client's ServerList so it points to the right place. The goal is that by the end you can get anyone on the internet to log into your server without mysterious drops.

Prerequisites

Before touching the IP files, make sure the basics are already working. Configuring the network on top of a server that does not yet start correctly will only multiply the variables in the problem. If you don't have the structure set up yet, start with the general guide on how to create a MU Online server and then come back here.

  • A MU Online server already installed with ConnectServer, GameServer, DataServer, and JoinServer operational in a local environment.
  • Administrative access to the machine hosting the server (Windows Server or Windows desktop).
  • A MU Online client compatible with your emulator's version/season for testing.
  • Knowledge of your external IP (you can find it by visiting a site like whatismyip from the server machine).
  • Access to the router's control panel, if you plan to host on a residential network, to configure port forwarding.
  • Optionally, an account with a dynamic DNS service such as No-IP.

Understanding internal, external, and loopback IP

Every machine on a network has at least two addresses relevant to us. The internal IP (or private) is the address the router assigns to the machine within the local network, usually in the 192.168.x.x or 10.0.x.x range. The external IP (or public) is the address by which your network appears to the rest of the internet, assigned by your provider. There is also the loopback address, 127.0.0.1, which points the machine to itself and is only useful for local testing.

The confusion arises because, when you configure everything on the machine itself, using 127.0.0.1 works perfectly. The player on the outside, however, has no way to reach your 127.0.0.1 or your 192.168.x.x — those addresses are not routable over the internet. That is why the server "works on my PC" but nobody from outside can get in.

IP typeExampleReachWhen to use
Loopback127.0.0.1The machine itself onlyIsolated local tests
Internal/private192.168.0.10Local network (LAN)Tests on the same network
External/public200.150.x.xThe entire internetProduction, external players
No-IP hostnamemeumu.ddns.netThe entire internetProduction without a static IP

How the connection flow works

Understanding the flow keeps you from configuring the wrong file. In short, the process happens like this:

  1. The player opens the client, which reads the ServerList to learn where the ConnectServer is.
  2. The client connects to the ConnectServer and requests the list of available servers (Season, PvP, etc.).
  3. The ConnectServer responds with the server names and, crucially, with the IP and port of the corresponding GameServer.
  4. The client then leaves the ConnectServer and connects directly to the GameServer using that IP.

The critical point is in step 3: the IP that the ConnectServer hands to the client comes from the server's configuration file (frequently IpAddress.dat or an equivalent section of the ConnectServer's ServerList.dat). If the internal IP is set there, the outside client receives 192.168.0.10 and tries to connect to that unreachable address, resulting in the drop after server selection.

Configuring the server's IpAddress.dat

The name and structure of this file vary by emulator. In many popular emulators the GameServer uses a file called IpAddress.dat inside the data folder, while the ConnectServer uses its own ServerList.dat. The example below is illustrative and you should adapt it to your emulator's documentation.

A typical GameServer IpAddress.dat looks like this:

; IpAddress.dat - illustrative example, varies by emulator
[GameServerInfo]
ServerName = ViciadosMU
GameServerCode = 0
IpAddress = 200.150.10.20   ; EXTERNAL IP or No-IP hostname
Port = 55901

The golden rule is: the IP field here must be the address by which players reach the server, that is, the external IP or the No-IP hostname in production. On a VPS, this field takes the VPS's public IP. In a residential environment, it takes your connection's external IP or the dynamic hostname.

The ConnectServer, in turn, usually has its own list, something like:

; ConnectServer's ServerList.dat - illustrative example
[ServerList]
0   200.150.10.20   55901   Season X Server
1   200.150.10.20   55902   Hard PvP Server

Here each line defines a server visible on the selection screen. The columns are normally code, GameServer IP, port, and display name. Again, the IP must be the external one.

Using No-IP for those without a static IP

Residential connections almost always have a dynamic IP, which changes from time to time. If you hard-code the external IP in the file and the provider changes your address, the server "vanishes" from the internet. The solution is a dynamic DNS service like No-IP, which creates a hostname (e.g., meumu.ddns.net) always pointed at your current IP.

General steps:

  1. Create a No-IP account and register a free hostname.
  2. Install No-IP's DUC (Dynamic Update Client) on the server machine. It detects IP changes and updates the hostname automatically.
  3. In the server files, in place of the external IP, put the hostname (meumu.ddns.net).
  4. Do the same in the client's ServerList.

That way, even if the IP changes, both the server and the client always resolve the hostname to the correct address. Keep in mind that No-IP's free hostname needs to be confirmed periodically so it does not expire.

Configuring the client's ServerList

The client's ServerList is the file that tells the game where the ConnectServer is. It usually sits encrypted inside the client's Data folder, with a name like ServerList.dat or inside a packed file. Many emulators provide a tool to edit and recompile this file, since it is not plain text.

The logical content is simple:

; Client's ServerList (after decryption) - varies by emulator
IP = meumu.ddns.net
Port = 44405

The IP here must point to the ConnectServer, and the Port must be the ConnectServer's port (commonly 44405). After editing, recompile/re-encrypt the file with the emulator's tool and distribute the updated client to players. A common mistake is editing the text file and forgetting to re-encrypt, which makes the client ignore the change.

Opening ports on the firewall and the router

The correct IP is useless if the ports are closed. In the Windows firewall, you need to open the ports used by the ConnectServer and by every GameServer. In addition, on a residential network, you must configure port forwarding on the router, pointing the external ports to the internal IP of the server machine.

ServiceCommon port (varies by emulator)Protocol
ConnectServer44405TCP/UDP
GameServer 155901TCP
GameServer 255902TCP
DataServer55960TCP (internal)

The DataServer and the JoinServer normally only need internal communication, so do not expose them to the internet unnecessarily. Expose only the ConnectServer and the GameServers.

Testing the connection end to end

After configuring everything, test methodically:

  1. Start all services in the correct order (DataServer, JoinServer, ConnectServer, GameServer).
  2. Test locally first with 127.0.0.1 to make sure the server works.
  3. Ask someone on another network (or use a 4G/mobile connection) to test external access with the client configured with the hostname/external IP.
  4. Use the command telnet meumu.ddns.net 44405 from another machine to confirm the ConnectServer's port responds.
  5. If the ConnectServer responds but the GameServer drops, the problem is almost certainly the internal IP configured in the GameServer's IpAddress.dat.

Common errors and fixes

SymptomLikely causeFix
Connects and drops when selecting the serverInternal IP in the GameServer's IpAddress.datReplace it with the external IP or No-IP hostname
"Disconnected" on the initial screenThe client's ServerList points to the wrong ConnectServer IP/portCorrect and re-encrypt the ServerList
Works only on the LANPort forwarding not configured on the routerForward the ConnectServer and GameServer ports
Server vanishes after hoursExternal IP changed (dynamic connection)Use No-IP with the DUC client active
Nobody connects at any timeWindows firewall blocking portsCreate inbound rules for the ports used
ServerList edit ignoredThe file was not re-encryptedRecompile with the emulator's tool

Maintenance best practices

Document all ports and IPs in a separate reference file, so you don't rely on memory when you need to migrate machines. Whenever you change host or VPS, review every file that contains an IP, since it's easy to forget a secondary GameServer. Keep one copy of the client configured for production and another for local testing, avoiding accidentally sending a client with 127.0.0.1 to players. Finally, if you use No-IP, periodically check that the DUC is running as a service and that the hostname has not expired.

Launch checklist

  • GameServer IpAddress.dat with the external IP or No-IP hostname
  • ConnectServer ServerList.dat with the external IP of the GameServers
  • Client ServerList pointing to the correct ConnectServer and re-encrypted
  • No-IP configured with the DUC client running (if dynamic IP)
  • ConnectServer and GameServer ports opened in the Windows firewall
  • Port forwarding configured on the router (if residential network)
  • Successful local test with 127.0.0.1
  • Successful external test from another network/4G
  • Telnet to the ports responds from outside the network
  • Production client distributed without loopback or LAN addresses

Frequently asked questions

Do I need a static IP to host a MU Online server?

It is not mandatory. You can use a dynamic DNS service like No-IP to map a hostname to your residential IP, but a static IP (VPS or dedicated) reduces downtime and makes maintenance easier.

Why can players log in but get dropped when selecting the server?

Almost always the GameServer's IpAddress.dat points to the machine's internal IP instead of the external IP. The ConnectServer hands that IP to the client, which then tries to connect to an address unreachable over the internet.

Which port does the ConnectServer use by default?

It varies by emulator, but the most common ConnectServer port is 44405 UDP/TCP. The GameServer usually uses 55901 and the following ports. Always check your emulator's documentation.

Can I use the same configuration file for localhost and the internet?

Not recommended. For local testing use 127.0.0.1, but for production you need the external IP or a No-IP hostname. Keep separate versions to avoid confusion.

What should I do if the firewall is blocking connections?

Open the ConnectServer and GameServer ports in the Windows firewall and on the router (port forwarding). Without this, the client never even receives a response from the server.

GA
Guides & builds editor

Gabriel covers gameplay, class builds, PvP and progression. He tests every strategy on a live server before publishing.

Keep reading

Related articles