> For the complete documentation index, see [llms.txt](https://changelog.matrixemulator.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://changelog.matrixemulator.com/welcome/server/muserver/mapserverinfo.md).

# MapServerInfo

<mark style="color:green;">This only matters when the server runs across</mark> <mark style="color:green;"></mark><mark style="color:green;">**multiple GameServer processes**</mark> <mark style="color:green;"></mark><mark style="color:green;">that share the maps among themselves (the same concept as</mark> <mark style="color:green;"></mark><mark style="color:green;">`GameServerCS`</mark><mark style="color:green;">, which appears as a</mark> <mark style="color:green;"></mark><mark style="color:green;">`HIDE`</mark> <mark style="color:green;"></mark><mark style="color:green;">server in the ConnectServer's ServerList.dat). With a single GameServer, simply set</mark> <mark style="color:green;"></mark><mark style="color:green;">`InitSetVal = 1`</mark> <mark style="color:green;"></mark><mark style="color:green;">in block 0 and leave block 1 empty.</mark>

<mark style="color:green;">The file contains two blocks, each starting with the block number (</mark><mark style="color:green;">`0`</mark> <mark style="color:green;"></mark><mark style="color:green;">or</mark> <mark style="color:green;"></mark><mark style="color:green;">`1`</mark><mark style="color:green;">) on its own line and ending with</mark> <mark style="color:green;"></mark><mark style="color:green;">`end`</mark><mark style="color:green;">.</mark>

### <mark style="color:yellow;">Section 0 — GameServer registration</mark>

| Column         | Accepted values ​​                            | Description                                                                                                                                                                                                                                                                               |
| -------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ServerCode     | Number, unique per process                    | Identifies this GameServer process. Must match the `ServerCode` configured within the GameServer itself.                                                                                                                                                                                  |
| MapServerGroup | Number from 0 to 19                           | Groups processes that form the same game world/group (used, for example, to determine which servers receive a global message).                                                                                                                                                            |
| InitSetVal     | `1`, `0`, or `-1`                             | Default behavior for this server regarding any map **not listed** in Block 1. `1` = hosts all maps locally by default. `0` = hosts none by default; randomly selects another registered server that hosts the map. `-1` = same concept as `0`, but the automatic selection is not random. |
| IpAddress      | Any character + the IP, e.g., `S172.16.0.115` | Public IP address of this GameServer, used to transfer the player here. **The first character before the IP is mandatory and is discarded by the parser** — see notes.                                                                                                                    |
| Port           | Port number                                   | Port used by this GameServer for player transfers.                                                                                                                                                                                                                                        |

### <mark style="color:yellow;">Section 1 — map-specific exceptions</mark>

| Column         | Accepted values ​​                           | Description                                                                                                                                                                                                                   |
| -------------- | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ServerCode     | A `ServerCode` already registered in Block 0 | The GameServer process to which this rule applies.                                                                                                                                                                            |
| NotMoveOption  | `0` or `1`                                   | `1` = the map (`NextMap`) is hosted locally by this server. `0` = not hosted here; the player must be transferred to `NextServerCode`.                                                                                        |
| NextMap        | Valid map number                             | The map to which this line applies.                                                                                                                                                                                           |
| NextServerCode | A registered `ServerCode`, `-1`, or `-2`     | Where to send the player when `NotMoveOption = 0`. `-1`/`-2` let the system automatically choose another server hosting the map. **Completely ignored when `NotMoveOption = 1`** — you can leave `-1` set just for reference. |

### <mark style="color:yellow;">Notes</mark>

* The first character of the `IpAddress` (the `S` in the example) is merely a mandatory placeholder; the parser always discards the field's first character before storing the actual IP. Writing the IP without this extra leading character causes the first digit of the actual address to be lost.
* Use block 1 solely to list **exceptions**: maps that are not located on the server registered in block 0 (`InitSetVal = 1`) but rather on a different process—as seen in the example, where a secondary GameServer exclusively hosts the instance maps (Castle Siege, Land of Trials, Crywolf, Barracks, Refuge, Loren Market).
