Game data: reading the client, the disk cache and navigation maps
What the server needs from your client
Besides its databases, the server needs data that only the game client has:
| Part | What it is for |
|---|---|
| Game tables (DBC) | spells, maps, areas, talents and the like |
| Maps | the height of the ground and the zones |
| Cameras | cinematics and flight paths |
| Building models (vmaps) | line of sight, caves, indoor areas |
| Navigation (mmaps) | paths for creatures and bots |
LonelyIce builds all of this from your own client. Maintenance › Server data shows what is present and how big it is; Check files looks again.
Reading from the client (the default)
Out of the box, the server reads the game tables and cameras straight from the client's archives every time it
starts, and builds the terrain of an area from the client the first time that area loads, keeping it in data\maps
in the server folder. Maintenance › Server data then shows the maps as "built from the client as areas load,
ready: …" with the number of terrain pieces built so far.
- Good: less disk space, a shorter setup.
- But: a little slower, and the server needs the client folder every time it starts. If the client is gone or moved, the server does not start: "The server reads its game data from the client, but the client was not found. Choose it, or turn on the disk cache (Settings, Storage)."
The server reads the tables in the language the game starts in (Settings › Launcher › Client language), or the client's own language when that is set to As in Config.wtf.
The disk cache
With the disk cache on, everything is unpacked once: the game tables into the world database, the maps and
cameras into data in the server folder. After that the server no longer needs the client to run ("Game data
unpacked (disk cache): the server does not need the client."). You still need it to play, of course.
- Good: a little faster, and the server is independent of the client folder.
- Cost: about 0.5 GB and about 3 minutes to unpack.
To turn it on or off:
- Stop the server.
- Open Settings › Storage and tick or untick Disk cache.
- Press Apply. The wizard opens and shows Unpack the game data (disk cache) or Remove the disk cache; press Start.
Turning it off removes the unpacked tables and files again. On a database server, such as MySQL, the cache is always on and cannot be turned off (Moving the databases to MySQL).
Building models (vmaps)
vmaps are always built by the wizard: about 0.6 GB and about 5 minutes. They tell the server about line of sight, caves and indoor areas.
Navigation maps (mmaps) for bots
mmaps are the paths creatures and bots walk along. Without them, bots walk through walls. If you play with bots, you want them.
They are the most expensive part, so the wizard leaves the choice to you (it is ticked when none are present yet):
- Disk space: about 6 GB.
- Time: 20 to 60 minutes, depending on your computer.
- Where:
data\mmapsin the server folder.
The wizard's Data step has Threads for navigation: how many CPU threads build them. It suggests about two thirds of your threads, so the computer stays usable; more threads finish sooner. The wizard warns when less than 9 GB are free and navigation is selected. When the server reads the game data from the client, the wizard first builds the terrain of every area ("terrain … of …"), because the navigation builder needs all of it.
Adding them later
- Stop the server.
- Open Maintenance › Server data › Setup wizard….
- On the Data step, tick Navigation (mmaps). If some are already there, the note says "already present, files: …; enable to build the missing ones".
- Go on to Install.
You can minimize the window meanwhile: the wizard works in the background at low priority.
What to choose
| You want | Choose |
|---|---|
| The least disk space and a quick setup | client reading (cache off), no mmaps |
| Bots that move properly | mmaps on, whatever else you pick |
| A server that does not depend on the game folder | disk cache on |
| Databases on a MySQL server | the cache is on by itself |
A typical single-player setup with bots: client reading and mmaps.
Details
How the server reads the client and what the cache puts where is described in Server game data.