Jump to content

Search the Community

Showing results for tags 'mapcache'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Bulletin Centre
    • Community News
    • Repository News
    • Ragnarok News
  • Hercules Development Centre
    • Development Discussion
    • Suggestions
    • Development Centre Archives
  • Support & Releases
    • General Server Support
    • Database
    • Scripting
    • Source
    • Plugin
    • Client-Side
    • Graphic Enhancements
    • Other Support & Releases
  • Hercules Community
    • General Discussion
    • Projects
    • Employment
    • Server Advertisement
    • Arts & Writings
    • Off Topic
  • 3CeAM Centre
    • News and Development
    • Community
  • International Communities
    • Filipino Community
    • Portuguese Community
    • Spanish Community
    • Other Communities


  • Client Resources
  • Graphic Resources
    • Sprites & Palettes
    • Maps & Textures
    • Other Graphics
  • Server Resources
    • Server Managers / Editors Releases
    • Script Releases
    • Source Modifications
    • Plugins
    • Pre-Compiled Server
  • Web Resources

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





IRC Nickname

Website URL




Found 4 results

  1. As of Release v2018.03.13, the method to generate mapcache for Hercules has changed. A lot of people. myself included, were confused as to how it works. In this thread, I will do my best to explain the new way to generate your cache. This guide is intended to help people using the old system, not to aid new people (i.e. never generated mapcache before), so if you are new, some of it may seem like alien talk. 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 mapcache executable in Hercules root folder. Or use a program such as WeeMapCache to 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.dat has been dropped (no longer supported). In its place are individual .mcache files for every map located in maps/[pre-re or re]/ Mapcache executable has been removed. Replaced with the mapcache plugin (src/plugins/mapcache.c). How to generate the mapcache? Same as before, check conf/map/maps.conf and db/map_index.txt have 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: a. 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). b. OR Configure your conf/grf-files.txt to tell it where to find your GRF(s) which contains your maps. Build the mapcache plugin. 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] ./map-server --load-plugin mapcache --convert-old-mapcache Rebuild all the .mcache files using your old db/[pre-re or re]map_cache.dat file. NOTE: You should only run this command when you have an old map_cache.dat file you need to convert. ./map-server --load-plugin mapcache --rebuild-mapcache Rebuild all the .mcache files using your map files specified in step 2 of generation. NOTE: You should only run this command in special circumstances. This erases ALL the existing mapcache and rebuilds it with whatever files you provide it. If you don't have the required files, the build will fail and you will be left with missing mapcache files, meaning you won't be able to access those particular maps. ./map-server --load-plugin mapcache --map <name> Rebuild the .mcache file for the map name you specify. E.g. if you replace <name> with prontera, the maps/[pre-re or re]/prontera.mcache file will be rebuilt. NOTE: This is the best command to run, as it only caches a single map at a time. ./map-server --load-plugin mapcache --fix-md5 I don't know what checksum is for. The End Feel free to ask for help here. I'll try to answer questions re: mapcache if possible. And if you think anything needs correcting or added, let me know. Hope this helps!
  2. Any guides out there for using Hercules mapcache? The doc is no help to me.
  3. Olá pessoal.. Eu estou com um probleminha, o meu servidor loga normal, mas assim que eu escolho o personagem ele dá erro com a mensagem de "server closed". Verificando o char-server observei o seguinte erro: [Warning]: (mapindex_add) Overriding index 1: map "alb_ship" -> "baldur_fild"[Warning]: (mapindex_add) Overriding index 2: map "alb2trea" -> "baldur_fild"[Warning]: (mapindex_add) Overriding index 3: map "alberta" -> "baldur_in01"[Warning]: (mapindex_add) Overriding index 4: map "alberta_in" -> "bg_lune"[Warning]: (mapindex_add) Overriding index 5: map "alde_dun01" -> "intro_01"[Warning]: (mapindex_add) Overriding index 6: map "alde_dun02" -> "mall_lune"[Warning]: (mapindex_add) Overriding index 7: map "alde_dun03" -> "hun_vil"[Warning]: (mapindex_add) Overriding index 8: map "alde_dun04" -> "xp_fild01"[Warning]: (mapindex_add) Overriding index 9: map "aldeba_in" -> "xp_fild02"[Warning]: (mapindex_add) Overriding index 10: map "aldebaran" -> "xp_fild03"[Warning]: (mapindex_add) Overriding index 11: map "anthell01" -> "xp_fild04"[Warning]: (mapindex_add) Overriding index 12: map "anthell02" -> "xp_fild05"[Warning]: (mapindex_add) Overriding index 13: map "arena_room" -> "xp_fild06"[Warning]: (mapindex_add) Overriding index 14: map "c_tower1" -> "xp_fild07"[Warning]: (mapindex_add) Overriding index 15: map "c_tower2" -> "xp_fild08"[Warning]: (mapindex_add) Overriding index 16: map "c_tower3" -> "xp_fild09"[Warning]: (mapindex_add) Overriding index 17: map "c_tower4" -> "xp_fild10"[Warning]: (mapindex_add) Overriding index 18: map "force_1-1" -> "xp_fild11"[Warning]: (mapindex_add) Overriding index 19: map "force_1-2" -> "xp_fild12"[Warning]: (mapindex_add) Overriding index 20: map "force_1-3" -> "xp_fild13"[Warning]: (mapindex_add) Overriding index 21: map "force_2-1" -> "xp_fild14"[Warning]: (mapindex_add) Overriding index 22: map "force_2-2" -> "xp_fild15"[Warning]: (mapindex_add) Overriding index 23: map "force_2-3" -> "xp_fild16"[Warning]: (mapindex_add) Overriding index 24: map "force_3-1" -> "xp_fild17"[Warning]: (mapindex_add) Overriding index 25: map "force_3-2" -> "xp_fild18"[Warning]: (mapindex_add) Overriding index 26: map "force_3-3" -> "xp_fild19"[Warning]: (mapindex_add) Overriding index 27: map "gef_dun00" -> "xp_fild20"[Warning]: (mapindex_add) Overriding index 28: map "gef_dun01" -> "xp_gm"[Warning]: (mapindex_add) Overriding index 29: map "gef_dun02" -> "sky1"[Warning]: (mapindex_add) Overriding index 30: map "gef_dun03" -> "eden"[Warning]: (mapindex_add) Overriding index 31: map "gef_fild00" -> "tur_mine" Ao que parece os mapas estão sendo sobrescritos e isso deve estar gerando algum erro. O MapCache está atualizado com os mapas customs, no ../src/commom/mapindex.h eu adicionei para MAX_MAPINDEX 3000, tanto o /conf/maps.conf quanto o /db/map_index.txt estão com os mapas customs, portanto, estou meio que sem saber o que mais pode estar acontecendo. Por fim, ao tentar logar, o erro no console é: [Info]: request connect - account_id:2000000/login_id1:755620189/login_id2:51810237[Info]: Loading Char Data (2000000)[Info]: Char load request (150000)[Info]: storage load complete from DB - id: 2000000 (total: 0)[Info]: Loaded char (150000 - teste patch): status memo inventory cart storage skills friends hotkeys mercenary[Info]: Selected char: (Account 2000000: 0 - teste patch)[Debug]: mapindex_name2id: Map "alberta" not found in index list![Info]: Connection Closed. No map server available that has a major city, and unable to find map-server for 'prontera'. Enfim.. Alguma idéia ou sugestão de como resolver?? Muito Obrigada.
  4. Hello all.. Whoa, long time I don't mess with servers.. Actually last time was in 2011!! XD So, I'm trying to restart an old server and now theres Hercules and stuff, and I got a lot lost, so, to start with, I'm trying to use the Hercules and use my onld DATA, point is, I'm trying to add the old maps I had (customs) and in eA, I used to set MAX_MAPINDEX to 2500 in ../src/commom/mapindex.h, however, even doing it, I'm getting the problem, so I've set that to 3000, and still the error remains, when I try to login the server, the client return the message saying that the server is closed, with is not true, and the console give me the follow: [Info]: request connect - account_id:2000000/login_id1:755620189/login_id2:51810237[Info]: Loading Char Data (2000000)[Info]: Char load request (150000)[Info]: storage load complete from DB - id: 2000000 (total: 0)[Info]: Loaded char (150000 - teste patch): status memo inventory cart storage skills friends hotkeys mercenary[Info]: Selected char: (Account 2000000: 0 - teste patch)[Debug]: mapindex_name2id: Map "alberta" not found in index list![Info]: Connection Closed. No map server available that has a major city, and unable to find map-server for 'prontera'. Point is, in the MapCache AND in the mapindex.h theres Alberta as it has Prontera.. Here is the mapindex.h: // Copyright (c) Hercules Dev Team, licensed under GNU GPL.// See the LICENSE file// Portions Copyright (c) Athena Dev Teams#ifndef COMMON_MAPINDEX_H#define COMMON_MAPINDEX_H#include "../common/db.h"#include "../common/mmo.h"#define MAX_MAPINDEX 3000/* wohoo, someone look at all those |: map_default could (or *should*) be a char-server.conf */// When a map index search fails, return results from what map? default:prontera#define MAP_DEFAULT "prontera"#define MAP_DEFAULT_X 150#define MAP_DEFAULT_Y 150//Some definitions for the mayor city maps.#define MAP_PRONTERA "prontera"#define MAP_GEFFEN "geffen"#define MAP_MORROC "morocc"#define MAP_ALBERTA "alberta"#define MAP_PAYON "payon"#define MAP_IZLUDE "izlude"#define MAP_ALDEBARAN "aldebaran"#define MAP_LUTIE "xmas"#define MAP_COMODO "comodo"#define MAP_YUNO "yuno"#define MAP_AMATSU "amatsu"#define MAP_GONRYUN "gonryun"#define MAP_UMBALA "umbala"#define MAP_NIFLHEIM "niflheim"#define MAP_LOUYANG "louyang"#define MAP_JAWAII "jawaii"#define MAP_AYOTHAYA "ayothaya"#define MAP_EINBROCH "einbroch"#define MAP_LIGHTHALZEN "lighthalzen"#define MAP_EINBECH "einbech"#define MAP_HUGEL "hugel"#define MAP_RACHEL "rachel"#define MAP_VEINS "veins"#define MAP_JAIL "sec_pri"#define MAP_NOVICE "new_1-1"#define MAP_MOSCOVIA "moscovia"#define MAP_MIDCAMP "mid_camp"#define MAP_MANUK "manuk"#define MAP_SPLENDIDE "splendide"#define MAP_BRASILIS "brasilis"#define MAP_DICASTES "dicastes01"#define MAP_MORA "mora"#define MAP_DEWATA "dewata"#define MAP_MALANGDO "malangdo"#define MAP_MALAYA "malaya"#define MAP_ECLAGE "eclage"#define mapindex_id2name(n) mapindex->id2name((n),__FILE__, __LINE__, __func__)#define mapindex_exists(n) ( mapindex->list[(n)].name[0] != '0' )/** * mapindex.c interface **/struct mapindex_interface { char config_file[80]; /* mapname (str) -> index (int) */ DBMap *db; /* number of entries in the index table */ int num; /* default map name */ char *default_map; /* default x on map */ int default_x; /* default y on map */ int default_y; /* index list -- since map server map count is *unlimited* this should be too */ struct { char name[MAP_NAME_LENGTH]; } list[MAX_MAPINDEX]; /* */ int (*init) (void); void (*final) (void); /* */ int (*addmap) (int index, const char* name); void (*removemap) (int index); const char* (*getmapname) (const char* string, char* output); /* TODO: server shouldn't be handling the extension, game client automatically adds .gat/.rsw/.whatever * and there are official map names taking advantage of it that we cant support due to the .gat room being saved */ const char* (*getmapname_ext) (const char* string, char* output); /* TODO: Hello World! make up your mind, this thing is int on some places and unsigned short on others */ unsigned short (*name2id) (const char*); const char* (*id2name) (unsigned short,const char *file, int line, const char *func); bool (*check_default) (void);};struct mapindex_interface *mapindex;void mapindex_defaults(void);#endif /* COMMON_MAPINDEX_H */ So, now.. I have no clue, if I'm missing something or if theres anything new that I lost in the process.. Any clue will be welcome.. Thank you!!
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.