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

How to set up the ChatServer (global chat) in MU Online

Set up the ChatServer on your MU Online server and enable global chat, private messages, and the friends system: the service's role, the default port, integration with Connect/Join/GameServer, in-game testing, and fixes for the most common errors.

BR Bruno · Updated on Feb 14, 2026 · ⏱ 13 min read
Quick answer

The ChatServer is the service that gives your MU Online server its voice: it makes global chat appear, delivers private messages from one player to another, and, on most emulators, powers the friends list and the guild board. It is not the heart of the game — the GameServer runs without it — but it

The ChatServer is the service that gives your MU Online server its voice: it makes global chat appear, delivers private messages from one player to another, and, on most emulators, powers the friends list and the guild board. It is not the heart of the game — the GameServer runs without it — but it is what turns an "empty" server into one with a living community. The problem is that it almost never works "on the first try": it's a network service, and the smallest IP or port mismatch between it, the GameServer, and the client leaves chat silent without any clear error. This tutorial covers what the ChatServer does, when you actually need it, how to configure it, which port to use, how to integrate it with the rest of the MuServer, and how to solve the most common errors.

What the ChatServer is

Within a MU server's set of services (Connect, Join, DataServer, GameServer, and ChatServer), each one has an isolated function. The ChatServer handles the message traffic that isn't combat or movement: global chat (the channel everyone reads), private messages (whisper/PM), and — depending on the emulator — the friends list, guild invites, and system messages. It works like a "telephone exchange": clients connect to it, and it forwards each message to the right recipient in real time. It talks to the GameServer to know who is online and which account each character belongs to.

When the ChatServer is needed

You need the ChatServer whenever you want these features active:

  • Working global chat — the channel that appears for all players.
  • Private messages between players (whisper).
  • Friends / friend list system — on many emulators the ChatServer is what powers this.
  • Guild invites and board — depending on the season and the emulator.

If your only goal is to bring the server up to test login and gameplay, the ChatServer can stay off without stopping the game. But for any server that will host real players, it is practically mandatory: without it, a player clicks "send message" and nothing happens, which gives the impression of a broken server.

Prerequisites

  • A MU server already running with Connect, Join, DataServer, and GameServer up (see the server creation tutorial).
  • Access to the ChatServer folder (the executable and the configuration file).
  • The definitive server IP (the public IP if it's a VPS/dedicated box; or the local IP if it's a test on an internal network).
  • Permission to open ports on the Windows firewall and in the provider/VPS panel.
  • A backup of the configuration files before any changes.

Files and ports involved

The names vary by emulator (IGCN, MuEMU, X-Team, Season 6). The most common elements:

FunctionExample (varies by emulator)Note
Service executableChatServer.exeComes up in its own window
ChatServer configChatServer.ini / ChatServer.datDefines IP and ports
Public port (clients)55906The port the client/GameServer uses
Internal/admin port55901 or 55911Internal communication/control
Reference in the GameServerGameServerInfo / *.datWhere the GS points to the ChatServer
IP published in the clientmain.dll / IPManagerWhat the player connects to

> Treat each port number as part of a "trio": what the ChatServer listens on, what the GameServer reports, and what the firewall opens. If the three don't match, global chat won't come up.

Step 1 — Define the ChatServer's IP and ports

Open the ChatServer's configuration file and locate the IP and port keys. On many emulators the block looks like this (key names vary):

[ChatServer]
BindIP = 0.0.0.0
PublicIP = 192.168.0.10
Port = 55906
AdminPort = 55901
GameServerConnect = 127.0.0.1
  • BindIP = 0.0.0.0 makes the service listen on all interfaces (recommended on a VPS).
  • PublicIP is the IP clients use to reach it — on an online server, the public IP.
  • Port is the chat's public port (historical default 55906).
  • AdminPort is the internal control port.

Save it and keep these values written down — you will repeat them in the GameServer and in the firewall.

Step 2 — Point the GameServer to the ChatServer

The GameServer needs to know where the ChatServer is in order to forward message traffic. In the GameServer's info file, locate the keys that mention the ChatServer and fill them with the same IP and port from Step 1:

ChatServerAddress = 192.168.0.10
ChatServerPort = 55906

Here lives beginners' number-one mistake: putting 127.0.0.1 in the ChatServer but the public IP in the GameServer (or vice versa). On a local network server, use the local IP in both; on an online server, use the public IP in both. Consistency is everything.

Step 3 — Publish the correct IP in the client

The player's client also needs to reach the ChatServer. On many emulators, the client uses the same IP as the main server (defined in main.dll / the client's IP file) and only the port changes internally. Confirm that the IP published to players is the same public IP you set as the ChatServer's PublicIP. If the client connects to one IP and the ChatServer listens on another, login works (because the Connect responds), but global chat stays silent.

Step 4 — Open the port in the firewall and NAT

The service is only useful if the port is reachable. Open it at two levels:

  1. Windows firewall — create an inbound rule allowing the ChatServer's TCP port (e.g., 55906) and the admin port if it is used externally.
  2. NAT / provider panel — on a VPS or dedicated box, open/forward the same port in the provider panel. Many providers block ports by default.

Example of a quick Windows rule (run as administrator; adjust the port to your emulator):

New-NetFirewallRule -DisplayName "MU ChatServer 55906" -Direction Inbound -Protocol TCP -LocalPort 55906 -Action Allow

To test whether the port is open from outside, use an external port checker pointing at the ChatServer's public IP and port.

Step 5 — Start the services in the right order

The startup order matters. The safe standard is:

  1. DataServer (database/data).
  2. Connect Server.
  3. Join Server.
  4. GameServer.
  5. ChatServer last (or alongside the GameServer).

If the ChatServer starts before the GameServer and depends on it to check who is online, it can end up in an error state. Start the GameServer first, confirm it is stable, and then start the ChatServer.

Step 6 — Test chat in-game

  1. Bring up all services and confirm that the ChatServer window shows it "listening" on the correct port.
  2. Log in with two accounts (two client instances or two computers).
  3. Send a message in global chat from one account and confirm the other receives it.
  4. Test a private message (whisper) from one account to the other.
  5. Test the friends list: add, confirm the online/offline status, and send a message through the list.
  6. Confirm that when one account logs out, the other sees the status update.

If global chat works but whisper doesn't (or vice versa), the issue is usually specific to the season/emulator — in that case, review the ChatServer keys related to each feature.

Common errors and fixes

SymptomLikely causeFix
Global chat doesn't appearIP/port mismatch between ChatServer and GameServerMatch the IP and port in both files
ChatServer closes on launchPort already in use by another serviceChange the port or free whatever occupies it
Whisper doesn't arriveClient pointing at a different IP than the ChatServerConfirm the IP published in the client
Works locally, not onlinePort blocked in the firewall/NATOpen the port in Windows and in the provider panel
Friends list frozenChatServer started before the GameServerRestart in the correct order (GS before CS)
Chat drops after a few minutesLoss of the GS↔CS connection (wrong internal IP)Adjust the internal integration IP

Best practices and performance

  • Run it alongside on a small server, split it off on a large one. For few players, the ChatServer on the same machine as the GameServer is enough. If the server grows, moving the ChatServer to another machine relieves the GameServer.
  • Document the IP/port trio. Note in one place the IP and port used in the ChatServer, the GameServer, and the client. Most chat problems are a mismatch among these three.
  • Don't rely on automatic history. The ChatServer routes in real time; it doesn't store logs. If you need moderation or a record of conversations, plan a separate logging system.
  • Restart the trio together. When you change the IP (a VPS migration, for example), update ChatServer, GameServer, and client in the same maintenance window so chat doesn't end up inconsistent.

Launch checklist

  • ChatServer IP and port defined and noted.
  • GameServer pointing to the same ChatServer IP/port.
  • IP published in the client matching the ChatServer's PublicIP.
  • Port opened in the Windows firewall and in the provider NAT.
  • Services starting in the correct order (ChatServer last).
  • Global chat tested between two accounts.
  • Private message (whisper) tested.
  • Friends list and online/offline status validated.
  • Configuration backup saved before the public launch.

With the ChatServer up and tested, your server stops being a silent map and starts to have conversation, rivalry, and community — which is what keeps players around. The natural next step is to standardize system messages and global announcements for events, using the same chat channel to engage everyone online.

Frequently asked questions

Is the ChatServer required for the server to work?

No. The GameServer comes up and the game runs without it. The ChatServer handles global chat, private messages between players, and, on many emulators, the friends list and the guild board. Without it, login works, but those features stay silent or throw errors when used.

Which port does the ChatServer use?

The historical default is port 55906 (plus an internal admin port, commonly 55901/55911). It varies by emulator. Confirm it in the ChatServer's own configuration file and open the port in the firewall and in your provider/VPS NAT before you announce the server.

Does the ChatServer run on the same machine as the GameServer?

It can run alongside it, which is the most common setup on small servers. On larger servers it is split off for performance. What matters is that the GameServer and the Connect know the ChatServer's correct IP and port — if they point to the wrong place, global chat goes down.

Why doesn't global chat show up even with the ChatServer running?

It's almost always an IP/port mismatch between the ChatServer and what the GameServer/Connect reports, a port blocked by the firewall, or the client pointing to a different IP. Check all three: the ChatServer config, the GameServer config, and the IP published in the client.

Does the ChatServer store conversation history?

By default, no. It routes messages in real time between connected players; it is not a chat log database. If you want history/moderation, you need an additional logging system (an emulator plugin or an external solution) — this does not come ready-made in most MuServers.

BR
Events, maps & items editor

Bruno specializes in MU Online events, maps, bosses and item economy. He documents every detail based on real gameplay.

Keep reading

Related articles