4 KiB
Mapcache Generation 2018
As of Release v2018.03.13, the method to generate mapcache for Hercules has changed.
Old (your source predates [is older than] Feb 18, 2018)
In the old system, there were two ways to generate mapcache
- You could run the
mapcacheexecutable in Hercules root folder. - Or use a program such as
WeeMapCacheto edit in your required mapcache.
These two methods would generate or alter your required mapcache located in db/[pre-re or re]/map_cache.dat. However, they are no longer supported.
New (your source is using Release v2018.03.13 or newer)
The new system involves the use of the new 'mapcache' plugin to generate files. Some quick points:
db/[pre-re or re]/map_cache.dathas been dropped (no longer supported).- In its place are individual
.mcachefiles for every map located inmaps/[pre-re or re]/ mapcacheexecutable has been removed.- Replaced with the
mapcacheplugin (src/plugins/mapcache.c).
How to generate the mapcache?
- Same as before, check
conf/map/maps.confanddb/map_index.txthave all the maps you want to cache. - Your maps need to exist somewhere in your repository! There are two ways for the plugin to find them:
- Place all your maps, including
resnametable.txt, inside the data folder of your Hercules repo. I.e.Hercules/data/prontera.gat/gnd/gnd/rsw(note: I forget if all three files are needed). - OR Configure your
conf/grf-files.txtto tell it where to find your GRF(s) which contains your maps.
- Place all your maps, including
- Build the
mapcacheplugin. On linux, this can be done by running the following command:make plugin.mapcache- If using
MSVC, compile as you would any other plugin.
- Execute plugin. This can be done using the following command:
./map-server --load-plugin mapcache [param]- In windows, just remove the
./and run the commands in your command prompt.
The params:
The first thing you should do is run
./map-server --load-plugin mapcache --help
A list of usable parameters will appear. Here are the ones you need to know for mapcache:
[Info]: --convert-old-mapcache Converts an old db/pre-re/map_cache.dat file to the new format. [Mapcache]
[Info]: --rebuild-mapcache Rebuilds the entire mapcache folder (maps/pre-re/), using db/map_index.txt as index. [Mapcache]
[Info]: --map <name> Rebuilds an individual map's cache into maps/pre-re/ (usage: --map <map_name_without_extension>). [Mapcache]
[Info]: --fix-md5 Updates the checksum for the files in maps/pre-re/, using db/map_index.txt as index (see PR #1981). [Mapcache]
-
Rebuild all the
.mcache filesusing your olddb/[pre-re or re]map_cache.datfile:./map-server --load-plugin mapcache --convert-old-mapcache -
Rebuild all the
.mcachefiles using your map files specified in step 2 of generation:./map-server --load-plugin mapcache --rebuild-mapcache -
Rebuild the
.mcache filefor the map name you specify. E.g. if you replace with prontera, the maps/[pre-re or re]/prontera.mcache file will be rebuilt:./map-server --load-plugin mapcache --map <name>