IGK Emulator

Configuración del GameServer

Desde la versión 1.0.0 34 min de lectura Para: Dueño Actualizada el 29-10-2026

Este documento explica cómo se configura el juego en IGK Emulator: los siete archivos GameServerInfo - *.dat de cada GameServer y los archivos generales de MuServer\Data (experiencia, drop, mapas, monstruos, tiendas, items, skills, etc.). También explica cómo recargar sin reiniciar y qué tiene de especial el GameServerCS (Castle Siege).

No se detallan aquí:

  • Los eventos (Blood Castle, Devil Square, Castle Siege, invasiones...): ver 04_EVENTOS.md.
  • Los comandos (Command.txt, /reset, /post...): ver 05_COMANDOS.md.
  • Los sistemas custom de MuServer\Data\Custom y los scripts Lua: ver 06_SISTEMAS_CUSTOM.md.

Recuerda: las opciones que terminan en _AL0 a _AL3 tienen un valor por nivel de cuenta (0 Free, 1 Bronze, 2 Silver, 3 Gold). Ver 01_INTRODUCCION_Y_REQUISITOS.md.


Dónde están los archivos

RutaQué esLo usan
MuServer\GameServer\Data\GameServerInfo - Common.datOpciones generales: rates, PK, party, guild, duel, helper, día y noche, clima...Solo ese GameServer
MuServer\GameServer\Data\GameServerInfo - Character.datDaño, defensa, velocidad y recuperación por claseSolo ese GameServer
MuServer\GameServer\Data\GameServerInfo - ChaosMix.datPorcentaje de éxito de las mezclas del Chaos MachineSolo ese GameServer
MuServer\GameServer\Data\GameServerInfo - Command.datOpciones de los comandos (reset, master reset, baúl...)Solo ese GameServer
MuServer\GameServer\Data\GameServerInfo - Custom.datInterruptores y opciones de los sistemas customSolo ese GameServer
MuServer\GameServer\Data\GameServerInfo - Event.datEncender y apagar eventosSolo ese GameServer
MuServer\GameServer\Data\GameServerInfo - Skill.datFórmulas de las skills de buff y debuffSolo ese GameServer
MuServer\GameServer\GHRS.txt y Reset.iniLímite global de resetsSolo ese GameServer
MuServer\Data\...Mapas, monstruos, items, tiendas, drops, mensajes...Todos los GameServer

Cada GameServer (incluido GameServerCS y cada subservidor) tiene su propia copia de los GameServerInfo - *.dat. Si quieres el mismo cambio en todos, cámbialo en cada uno.

Formato de los .dat: Clave = Valor. Lo que va después de ; o // es un comentario. Si borras una clave, el servidor usa su valor por defecto (casi siempre 0, es decir, apagado).


Recargar sin reiniciar: /reload

Un administrador puede recargar los archivos con el comando /reload <tipo> dentro del juego (en Command.txt el comando está reservado a administradores: columna GameMaster = 2). También se puede desde el menú Reload de la ventana del GameServer.

Si el tipo no existe, el juego responde Command: [/reload type | Ex: /reload common]. Si funcionó: Reload executed successfully!.

ComandoQué vuelve a leer
/reload commonGameServerInfo - Common.dat, ConnectMember.txt, Effect.txt, MapManager.txt, MapServerInfo.dat, Message.txt, Mining.txt. Además manda a todos el día y la noche nuevos.
/reload characterGameServerInfo - Character.dat y Character\DefaultClassInfo.txt
/reload chaosmixGameServerInfo - ChaosMix.dat
/reload commandCommand.txt y GameServerInfo - Command.dat
/reload customGameServerInfo - Custom.dat y los archivos de Data\Custom
/reload luaSolo los scripts Lua de Data\Script (ver 16_LUA.md)
/reload eventGameServerInfo - Event.dat y los archivos de Data\Event
/reload eventitembagEventItemBagManager.txt y la carpeta EventItemBag
/reload hackOpciones de hack de Common.dat y los archivos de Data\Hack
/reload itemLos archivos de Data\Item
/reload monsterData\Monster y Data\MonsterSetBase: borra los monstruos y NPC del mapa y los vuelve a crear
/reload moveGate.txt, Move.txt, MoveSummon.txt, RespawnLocation.txt y Custom\CustomMove.txt
/reload questData\Quest y Data\QuestWorld
/reload shopShopManager.txt, la carpeta Shop e Item\ItemValue.txt
/reload skillGameServerInfo - Skill.dat y Data\Skill
/reload utilData\Util (experiencia, filtro, GMs, avisos, tablas de reset)
/reload cashshopOpciones de Cash Shop de Common.dat y Data\CashShop
/reload botsLos bots de Data\Custom\BotSystem
/reload allTodo lo anterior menos los items (Data\Item)

Necesitan reiniciar el GameServer:

  • ServerCode, ServerPort, ServerName, ServerVersion, ServerSerial, las direcciones y puertos del JoinServer, DataServer y ConnectServer, TcpNoDelay y las opciones Write...Log (se leen solo al arrancar).
  • Los terrenos (Data\Terrain).
  • GHRS.txt y Reset.ini.
  • Para los items, aunque existe /reload item, /reload all no los incluye a propósito; lo más seguro es reiniciar el GameServer después de cambiar Data\Item.

IGK StartUp también puede mandar recargas desde su ventana (ver 11_IGK_HOST_STARTUP_CONNECT.md).


GameServerInfo - Common.dat

Servidor y conexión

Las claves ServerName, ServerCode, ServerPort, ServerVersion, ServerSerial, DataServerAddress, JoinServerAddress, ConnectServerAddress y sus puertos se explican en 02_INSTALACION_SERVIDOR.md. La sección "Customer Settings" (LicenseID, CustomerName, CustomerHardwareId) son datos de tu licencia: no los cambies.

ClaveQué haceEn los archivos de IGK
TcpNoDelay1 = cada paquete sale al instante (menos retraso en combate). 0 = Windows agrupa los paquetes pequeños. Sin la clave vale 1.1
ServerMaxUserNumberJugadores a la vez en este GameServer (máximo 1000)1000

Quién puede entrar

ClaveQué haceEn los archivos de IGK
ServerLockNivel de cuenta mínimo para entrar (0 = todos; 1 = solo Bronze o más; etc.)0
AccountLevelLock_AL0 a _AL31 = ese nivel de cuenta puede entrar; 0 = no puede1
ServerCheckConnectMember1 = modo mantenimiento: solo entran las cuentas de Data\ConnectMember.txt0
ServerMinLevel / ServerMaxLevelNivel mínimo / máximo del personaje para estar en este GameServer (0 = sin límite)0 / 0
ServerMinReset / ServerMaxResetResets mínimos / máximos (0 = sin límite)0 / 0
ServerMinMasterReset / ServerMaxMasterResetMaster resets mínimos / máximos (0 = sin límite)0 / 0
MaxLevelCharacterNivel máximo normal del personaje400

Data\ConnectMember.txt lleva una cuenta por línea, entre comillas, y termina en end:

"cuenta1"
"cuenta2"
end

Conexiones y login

ClaveQué haceEn los archivos de IGK
MaxIpConnectionCuentas a la vez desde una misma IP en este GameServer5
MaxHWIDConnectionVentanas del juego a la vez desde una misma PC2
LoginTimeoutSegundos que tiene el jugador para iniciar sesión después de elegir el servidor; pasado ese tiempo el GameServer cierra la conexión. Sin la clave vale 90.90
DisconnectOnlineAccount1 = si alguien entra con una cuenta que ya está conectada, se desconecta la sesión anterior1
PersonalCodeCheck1 = pide el código secreto de 7 dígitos de la cuenta donde el juego lo usa (por ejemplo al borrar un personaje); 0 = no lo comprueba0

Logs

WriteChatLog, WriteCommandLog, WriteTradeLog, WriteConnectLog, WriteHackLog, WriteCashShopLog, WriteChaosMixLog: 1 = guarda ese registro en la carpeta LOGS del GameServer. En los archivos de IGK están encendidos WriteCommandLog y WriteChaosMixLog. Se leen al arrancar.

Protección contra hacks

ClaveQué haceEn los archivos de IGK
CheckSpeedHack / CheckSpeedHackToleranceDetecta velocidad de ataque mayor a la real; tolerancia permitida1 / 0
CheckLatencyHack / CheckLatencyHackToleranceDetecta diferencias de reloj entre cliente y servidor0 / 0
CheckAutoPotionHack / CheckAutoPotionHackToleranceDetecta pociones demasiado seguidas; tolerancia en milisegundos (1000 = 1 segundo)1 / 300
CheckAutoComboHack / CheckAutoComboHackToleranceDetecta combos automáticos; tolerancia en milisegundos1 / 1000
SpeedHackSkillEnableControl de velocidad por skill con Data\Hack\HackSkillCheck.txt0
SpeedHackSkillTypeQué hacer al detectar: 0 solo log, 1 desconectar, 2 bloquear el ataque, 3 bloquear el ataque por SpeedHackSkillPenalty milisegundos, 4 desconectar y bloquear la cuenta1
SpeedHackSkillPenaltyMilisegundos de castigo para el tipo 35000
DeleteDupeItem / DisconectDupeItemBorra items duplicados (mismo serial) y desconecta a quien los tiene. No los apagues. Si un jugador pierde un item por esto, era un item duplicado o con serial repetido.1 / 1
TimeGiuBoss, TimeGiuBossTopClear, TimeGiuBossPartyMilisegundos que un jugador sigue contando en la lista de daño de un jefe después de su último golpe15000

Experiencia

ClaveQué haceEn los archivos de IGK
AddExperienceRate_ALxRate de experiencia normal (multiplicador: 100 = x100)9999
AddMasterExperienceRate_ALxRate de experiencia Master (después del nivel 400)1000
MinMasterExperienceMonsterLevel_ALxNivel mínimo del monstruo para dar experiencia Master95
AddEventExperienceRate_ALxRate de experiencia de los premios de eventos (Blood Castle, Devil Square, Chaos Castle...)1000
AddQuestExperienceRate_ALxRate de experiencia de las quests1000
OffAttackExperienceRate_ALxRate cuando el personaje ataca en modo offline (OffAttack)1000
AutoResetExperienceRate_ALxRate cuando el personaje tiene el reset automático activado1000
MaxLevelUpNiveles máximos que se pueden subir con un solo monstruo1
MaxLevelUpEvent / MaxLevelUpQuestLo mismo para los premios de eventos y quests1 / 1

La experiencia final se multiplica además por:

  • ExperienceRate del mapa en Data\MapManager.txt (100 = normal).
  • Data\Util\ExperienceTable.txt (rate según nivel, resets o master resets; vacío en los archivos de IGK = 100 %).
  • Los bonus de Data\Event\BonusManager.dat (horas de experiencia doble, ver 04_EVENTOS.md) y los monstruos custom (06_SISTEMAS_CUSTOM.md).
  • La experiencia de party (ver "Party").

Drop de items y zen

ClaveQué haceEn los archivos de IGK
ItemDropRate_ALxRate de drop de items normales de los monstruos. Se compara con el ItemRate de cada monstruo en Monster.txt: con ItemDropRate = 5 y un monstruo con ItemRate = 130, cae un item más o menos 5 de cada 130 muertes.5
ItemDropTimeSegundos que un item queda en el suelo. Durante la primera mitad de ese tiempo solo lo puede recoger quien lo hizo caer (o su party).20
MoneyDropTimeSegundos que el zen queda en el suelo5
MoneyAmountDropRate_ALxPorcentaje del zen que suelta cada monstruo (100 = normal)50
MoneyValue_ALxSi es mayor que 0, el zen que cae es MoneyValue × nivel del monstruo en vez del normal0
MaxItemOptionOpción máxima de Jewel of Life en los items que caen (7 = +28)7
SetItemAcceptHarmonySwitch1 = los items Ancient (Set) aceptan opciones de Jewel of Harmony1

El drop de cada mapa se ajusta en Data\MapManager.txt (drop normal, excelente y ancient por mapa). Los drops especiales (joyas, cajas, items de eventos) van en Data\Item\ItemDrop.txt. Las cajas y jefes en EventItemBag (más abajo).

Durabilidad

WeaponDurabilityRate, ArmorDurabilityRate, WingDurabilityRate, GuardianDurabilityRate, PendantDurabilityRate, RingDurabilityRate, PetDurabilityRate: velocidad con que se gasta cada tipo de item (100 = normal; menos = se gasta más lento). En los archivos de IGK, todos en 100.

Puntos por nivel y stats

ClaveQué haceEn los archivos de IGK
DWLevelUpPoint, DKLevelUpPoint, FELevelUpPoint, MGLevelUpPoint, DLLevelUpPoint, SULevelUpPoint, RFLevelUpPointPuntos por nivel de cada clase (DW Dark Wizard, DK Dark Knight, FE Elfa, MG Magic Gladiator, DL Dark Lord, SU Summoner, RF Rage Fighter)5, 5, 5, 7, 7, 7, 0
PlusStatPointPuntos extra por nivel después del 220, para quien terminó la quest de tercera clase0
MaxStatPoint_ALxMáximo de cada stat (fuerza, agilidad, vitalidad, energía)65000
MaxStatPointCMD_ALxMáximo de Command (Dark Lord)32767

Frutas: FruitAddPointMin/FruitAddPointMax (puntos que da cada fruta), FruitAddPointSuccessRate_ALx (éxito en %; -1 = el normal del juego), FruitSubPointMin/Max y FruitSubPointSuccessRate_ALx (frutas que quitan puntos), FruitMaxAddPointXX (máximo de puntos por frutas por clase; 0 = el normal según el nivel) y FruitAddPointBonusXX (puntos extra sobre ese máximo).

Revisa también RFLevelUpPoint: en los archivos de IGK está en 0 (ver "Preguntas frecuentes").

Creación de personajes

ClaveQué haceEn los archivos de IGK
CharacterCreateSwitch1 = se pueden crear personajes; 0 = no1
MGCreateType, DLCreateType, SUCreateType, RFCreateType0 = la clase se desbloquea cuando algún personaje de la cuenta llega al nivel / resets / master resets de abajo (otros valores: por confirmar)0
MGCreateLevel_ALx, DLCreateLevel_ALx, SUCreateLevel_ALx, RFCreateLevel_ALxNivel necesario para desbloquear MG, DL, SU y RF220, 250, 300, 300
...CreateReset_ALx / ...CreateMasterReset_ALxResets / master resets necesarios0

Los stats iniciales de cada clase están en Data\Character\DefaultClassInfo.txt.

PK

ClaveQué haceEn los archivos de IGK
NonPK1 = nadie puede matar a otros jugadores en el servidor (salvo duelos y eventos). Cada mapa puede cambiarlo en MapManager.txt.0
PKLimitFree1 = los asesinos (PK) pueden entrar a eventos, guilds, etc. sin restricción0
PKDownTime1 / PKDownTime2Tiempo (en segundos) para bajar el estado de PK3600 / 3600
PKTimePenaltyForKillTiempo de castigo por cada asesinato, en segundos10800
PKDisableShop1 = un asesino no puede comprar en los NPC0
PKDisableTrade1 = un asesino no puede comerciar0
PkCanEnterBC, PkCanEnterCC, PkCanEnterDS1 = un asesino puede entrar a Blood Castle, Chaos Castle, Devil Square1
PartyDisablePK1 = los miembros de una party no se pueden atacar entre ellos0
PkItemDropSwitch1 = el asesino pierde items al morir0
PkItemDropRate, PkItemDropMinLevel, PkItemDropMaxLevel, PkItemDropEnable_ALxProbabilidad, nivel de item mínimo/máximo que puede perder y por nivel de cuenta100, 0, 15, 1
PkItemDropExecellent, PkItemDropSocketItem, PkItemDropSetItem, PkItemDropHarmony, PkItemDropRaven, PkItemDropHorse, PkItemDropFenrir1 = ese tipo de item también se puede perder1

El PK entre miembros de una misma guild y el PK en Chaos Castle se configuran en Custom.dat (TatCungGuildPK y PKCC, más abajo).

Avisos de muerte y conexión

ClaveQué haceEn los archivos de IGK
DieUserSwitchAviso cuando un jugador mata a otro (0 = no)2
DieMonsterSwitchAviso cuando un monstruo mata a un jugador0
PK_ColorMessPVP / PK_ColorMessPVMColor del aviso (código de color)4FDCFFFF
PK_DelayMessSegundos que se muestra el aviso3
OnlineGmSwitch / OnlineUserSwitchAviso cuando se conecta un GM / un jugador1 / 1
DisableExpMessage1 = no muestra la experiencia ganada por cada monstruo (solo al subir de nivel)0

Comercio y tienda personal

ClaveQué haceEn los archivos de IGK
TradeSwitch1 = se puede comerciar entre jugadores1
PersonalShopSwitch1 = se puede abrir tienda personal1
TradeItemBlock1 = bloquea el comercio de items en general0
TradeItemBlockExc, TradeItemBlockSet, TradeItemBlockHarmony1 = no se pueden comerciar items excelentes / ancient / con Harmony0
TradeItemBlockSell1 = bloquea la venta de esos items0
TradeItemBlockLucky1 = los items Lucky no se pueden comerciar1

En qué mapas se puede comerciar (y si solo en zona segura) se configura en MapManager.txt (AllowTrade, AllowTradeSafe). Qué items se pueden tirar, vender, comerciar o guardar en el baúl va en Data\Item\ItemMove.txt.

Duelo

ClaveQué haceEn los archivos de IGK
DuelSwitch1 = se permiten duelos1
DuelArenaAnnounceSwitch1 = anuncia a todos el comienzo y el ganador del duelo1
DuelArenaDisableRestoreHP / DuelArenaDisableRestoreSD1 = no se recupera vida / SD en la arena de duelo0 / 0
DuelMaxScorePuntos para ganar el duelo10
DuelBet1 = duelo con apuesta (al terminar se entrega lo apostado)1

El daño en duelo se ajusta con DuelDamageRate de Character.dat.

Guild

ClaveQué haceEn los archivos de IGK
GuildCreateSwitch / GuildDeleteSwitch1 = se pueden crear / borrar guilds1 / 1
GuildCreateMinLevelNivel mínimo para crear guild100
GuildInsertMaxUser1Máximo de miembros si el dueño no es Dark Lord (sin resets: nivel ÷ 10, hasta este tope)40
GuildInsertMaxUser2Máximo de miembros si el dueño es Dark Lord (sin resets: nivel ÷ 10 + Command ÷ 10, hasta este tope)80
GuildAllianceMinUserMiembros mínimos para formar alianza1
GuildAllianceMaxCountMáximo de guilds en una alianza5
GuildOwnerDestroyLimitLímite para que el dueño disuelva la guild (por confirmar el detalle)1

Party

ClaveQué haceEn los archivos de IGK
PartyMaxMembersMiembros máximos de una party10
PartyReconnectTimeSegundos que se guarda el lugar en la party de quien se desconecta300
PartyGeneralExperience1 a 10% de experiencia según cuántos hay en la party (1 a 10)100, 80, 75, 65, 60...
PartySpecialExperience1 a 10Lo mismo cuando en la party hay 3 o más clases distintas100, 80, 75, 65, 60...

Si una party está activa o no en cada mapa: columna PartyEnable de MapManager.txt.

Elf Buffer y buff del NPC

ClaveQué haceEn los archivos de IGK
ElfBufferMaxLevel_ALx / ElfBufferMaxReset_ALxNivel / resets máximos para recibir el buff del Elf Soldier400 / 10000
ElfBufferDamageConstA/B, ElfBufferDefenseConstA/BFórmula del ataque y defensa que da ese buff50, 5, 45, 3
TimeBufMinutos que dura el buff del NPC Buffer60
Buff_DW_MNS, Buff_DK_GM, Buff_ELF_Thu, Buff_ELF_Dame, Buff_DL_ChiMang, Buff_SUM_PhanDame, Buff_RF_ThuLuc, Buff_RF_PhongThuValor de cada buff que da el NPC (Mana Shield, Greater Life, defensa y daño de Elfa, crítico del DL, reflejo del SU, vitalidad y defensa del RF)ver archivo

SD (Shield Gauge)

ShieldGaugeRate (90), ShieldGaugeConstA (10), ShieldGaugeConstB (1000), ShieldGaugeAttackRate (2), ShieldGaugeAttackComboMiss (0). Fórmula del SD según el comentario del archivo: SD = (puntos × ConstA ÷ 10) + (nivel + master) ÷ ConstB + (defensa ÷ 2).

Árbol Master

ClaveQué haceEn los archivos de IGK
MasterSkillTree1 = árbol Master activo1
MasterSkillTreePointPuntos Master por cada nivel Master1
MasterSkillTreeMaxLevelNivel Master máximo400

Gens

ClaveQué haceEn los archivos de IGK
GensSystemSwitch1 = Gens activo1
GensSystemGuildLock / GensSystemPartyLock1 = obliga a que la guild / party sea de la misma familia Gens0 / 0
GensSystemInsertMinLevelNivel mínimo para entrar a un Gens50
GensSystemContributionFloodTimeSegundos mínimos entre dos asesinatos al mismo jugador para que cuenten30
GensSystemVictimContributionDecrease / GensSystemKillerContributionIncreaseContribución que pierde la víctima / gana el asesino3 / 500
GensSystemVictimMin/MaxContributionDecrease, GensSystemKillerMin/MaxContributionIncreaseTopes de esos valores1, 15, 1, 15
GensSystemStartRewardDay / GensSystemFinalRewardDayDías del mes en que se pueden cobrar los premios1 / 7

Los mapas de batalla de Gens: columna GensBattle de MapManager.txt. El daño en batalla de Gens: GensDamageRate de Character.dat.

MU Helper

ClaveQué haceEn los archivos de IGK
HelperSwitch1 = el MU Helper (ayudante automático) está activo1
HelperActiveLevelNivel mínimo para usarlo1
HelperActiveDelayCada cuántos minutos cobra5
HelperActiveMoney1 a 5Zen que cobra cada vez, por etapa: (nivel + nivel master) × valor20, 50, 80, 100, 120

En qué mapas se puede usar: columna HelperEnable de MapManager.txt. El Helper offline (seguir jugando con el juego cerrado) se configura en Custom.dat (MuOffHelper...).

Cash Shop

ClaveQué haceEn los archivos de IGK
CashShopSwitch1 = tienda X (Cash Shop) activa1
CashShopScriptVersion1/2/3Versión de la lista de productos. Tiene que coincidir con la carpeta del cliente Data\InGameShopScript\512.2011.006512 / 2011 / 6
CashShopBannerVersion1/2/3Versión del banner. Coincide con Data\InGameShopBanner\583.2010.005 del cliente583 / 2010 / 5

Los productos y paquetes van en Data\CashShop (más abajo).

Pociones y anillos de transformación

  • ApplePotionRate, SmallLifePotionRate, MidleLifePotionRate, LargeLifePotionRate, ...ManaPotionRate, ...ShieldPotionRate, ...CompoundPotionRate1/2, EliteLifePotionRate, EliteManaPotionRate, EliteShieldPotionRate: % de vida, maná o SD que recupera cada poción.
  • TransformationRing1 a 6: monstruo en el que transforma cada anillo de transformación (número de Monster.txt).

Joyas

ClaveQué haceEn los archivos de IGK
BlessSoulRingPenAllow1 = se puede usar Bless y Soul en anillos y collares0
BlessSuccessRate_ALx% de éxito de Jewel of Bless100
SoulSuccessRate_ALx% de éxito de Jewel of Soul100
LifeSuccessRate_ALx% de éxito de Jewel of Life50
HarmonySuccessRate_ALx% de éxito de Jewel of Harmony50
SmeltStoneSuccessRate1_ALx / 2_ALx% de éxito de Lower / Higher Refining Stone50 / 70
AddLuckSuccessRate1_ALx% extra de éxito al usar joyas en un item con Luck25
AddLuckSuccessRate2_ALx% extra de éxito en el Chaos Machine con un item con Luck20

Las joyas custom se configuran en Data\Custom\CustomJewel.txt (ver 06_SISTEMAS_CUSTOM.md).

Monedas, premios por tiempo y vida extra

ClaveQué haceEn los archivos de IGK
MaxCoin1Value_ALx, MaxCoin2Value_ALx, MaxCoin3Value_ALxTope de WCoinC (Coin1), WCoinP (Coin2) y Goblin Points (Coin3) por nivel de cuenta (0 = sin tope)0
OnlineRewardCoin1Delay, OnlineRewardCoin2Delay, OnlineRewardCoin3DelayCada cuántos minutos conectado se da el premio de cada moneda60
OnlineRewardCoinXValue_ALxCantidad que se da (0 = nada)0
OnlineRewardOfflineSystems1 = los personajes en modo offline (ataque o tienda offline) también reciben el premio por tiempo1
HpBonus_ALxVida extra por cada master reset1
HpBonus_MAXTope de esa vida extra10000

Otras opciones del juego

ClaveQué haceEn los archivos de IGK
MonsterLifeRate% de vida de todos los monstruos (100 = la de Monster.txt)100
MonsterHealthBarSwitch / UserHealthBarSwitch1 = barra de vida sobre monstruos / jugadores1 / 1
DisableLightningEffect, DisableCycloneEffect, DisableTwistEffect, DisableLungEffect, DisableFallingEffect, DisableUpperCutEffect1 = esa skill ya no empuja al objetivo0
DisableWingMixDL, DisableWingMixSU, DisableWingMixRF1 = esa clase no puede crear sus alas en el Chaos Machine0, 0, 1
EnableCsSkillsAllMaps1 = las skills de Castle Siege se pueden usar en todos los mapas1
EnableComboToAllSwitch1 = todas las clases pueden hacer combo0
BatTatBloodVIP / MocKillQuaiBloodVIP / LevelBloodVIPBlood Castle VIP: encendido, monstruos a matar para que caiga una joya, nivel de Blood Castle (0 = todos)1 / 1 / 8
BatTatDevilVIP / MocKillQuaiDevilVIP / LevelDevilVIPLo mismo para Devil Square (0 = todos)1 / 1 / 7

Día y noche (DayNight)

Solo cambia la imagen del cliente; no cambia nada del juego (monstruos, drops, etc.).

ClaveQué haceEn los archivos de IGK
DayNightSwitch1 = ciclo de día y noche encendido (cada jugador puede apagarlo en Opciones, pestaña Imagen). 0 o sin la clave = siempre de día1
DayNightTimeZoneHoras respecto a UTC del reloj del juego (Perú: -5; admite decimales, p. ej. 5.5). Vacío = la zona horaria de la PC del servidor, la misma que usan los eventos-5
DayNightMinutesPerHourMinutos reales por cada hora del juego: 60 = la hora real; 10 = un día cada 4 horas; 5 = cada 2 horas10
DayNightSunrise / DayNightSunsetHora del amanecer y del atardecer (0-23). La luz cambia desde una hora antes hasta una después6 / 19
DayNightNightLightLuz de la noche, en % de la del día (100 = sin cambio)45

/reload common manda el ciclo nuevo a todos los jugadores conectados.

Clima: lluvia, tormenta y nieve (Weather)

Solo cambia la imagen y el sonido del cliente. Cada jugador elige en Opciones, pestaña Gráficos: Clima No / Clásico / Mejorado.

ClaveQué haceEn los archivos de IGK
WeatherSwitch1 = el servidor manda el clima a los mapas de las listas. 0 o sin la clave = no manda nada, y los mapas de nieve nievan siempre, como en el juego original1
WeatherCheckMinutesCada cuántos minutos se sortea, en cada mapa sin clima, si empieza a llover o a nevar10
WeatherRainMapsMapas con lluvia, separados por comas0,3,33,34,37,38,51,56,79,80,81
WeatherRainChance% de que empiece a llover en cada sorteo15
WeatherRainMinMinutes / WeatherRainMaxMinutesDuración de cada lluvia (y tormenta), en minutos5 / 15
WeatherRainMinIntensity / WeatherRainMaxIntensityIntensidad de la lluvia (1 a 9)1 / 5
WeatherStormChance% de que una lluvia sea tormenta (rayos y truenos)25
WeatherStormMinIntensity / WeatherStormMaxIntensityIntensidad de la tormenta6 / 9
WeatherSnowMapsMapas con nieve (en ellos no llueve)2,57,58,62
WeatherSnowChance, WeatherSnowMinMinutes, WeatherSnowMaxMinutes, WeatherSnowMinIntensity, WeatherSnowMaxIntensityLo mismo para la nieve20, 10, 30, 2, 6

Los mapas con clima propio (Devil Square, Chaos Castle, Icarus, Empire Guardian, la lluvia de Crywolf y la de Loren Market) lo siguen teniendo como siempre; el de estas listas se suma.


GameServerInfo - Character.dat

Ajusta el balance de daño entre clases y las fórmulas de cada clase. La mayoría son constantes de fórmulas del juego original: cámbialas solo si sabes lo que haces.

Daño por situación

ClaveQué haceEn los archivos de IGK
GeneralDamageRatePvP% del daño entre jugadores (100 = normal)100
GeneralDamageRatePvM% del daño de los jugadores a los monstruos9999
DuelDamageRate% del daño en duelo60
GensDamageRate% del daño en batalla de Gens60
CustomArenaDamageRate% del daño en la arena custom50
ChaosCastleDamageRate, IllusionTempleDamageRate% del daño en esos eventos50, 50
CastleSiegeDamageRate1% del daño entre jugadores de bandos distintos durante el asedio40
CastleSiegeDamageRate2% del daño entre jugadores del mismo bando durante el asedio (0 = no se dañan)0
CastleSiegeDamageRate3% del daño a la puerta del castillo y a las estatuas guardianas5
ReflectDamageRatePvP / ReflectDamageRatePvM% del daño reflejado100 / 100

Daño por clase

  • DWDamageRatePvP ... RFDamageRatePvP: % del daño de cada clase contra jugadores.
  • DWDamageRatePvM ... RFDamageRatePvM: % del daño de cada clase contra monstruos.
  • XXDamageRateToYY (por ejemplo DWDamageRateToDK = 140): % del daño de la clase XX contra la clase YY. Es la tabla principal para balancear el PvP.
  • DWDamageStuckRate ... RFDamageStuckRate: % de "aturdimiento" por clase (0 en los archivos de IGK).
  • TyLeRaComboDW ... TyLeRaComboRF: probabilidad de que salga el combo de una skill (necesita apagar antes el combo de una sola skill).

Límites de daño (cuidado)

GioiHanGiamSatThuong (reducción de daño), GioiHanSatThuongX2 (daño doble), GioiHanSatThuongX3 (daño triple), GioiHanSatThuongChiMang (crítico), GioiHanSatThuongHoanHao (excelente), GioiHanLoaiBoPhongThu (ignorar defensa). Es la escala con la que se comparan esas probabilidades. El valor normal es 100 y nunca debe ser 0.

Recuperación y fórmulas

  • XXHPRecoveryRate, XXMPRecoveryRate, XXBPRecoveryRate, XXSDRecoveryRate: recuperación automática de vida, maná, AG y SD por clase.
  • ...DamageMultiplier..., DarkSpirit..., ...IncDamageConstA, ...DecDamageConstA, Combo..., Earthquake..., ElectricSpark..., DLSkill..., Nova..., ...PlasmaStorm..., ...PhysiDamage..., ...MagicDamage..., ...AttackSuccessRate..., ...PhysiSpeed..., ...MagicSpeed..., ...DefenseSuccessRate..., ...DefenseConstA: constantes de las fórmulas de daño, velocidad, defensa, mascotas y skills.

/reload character aplica los cambios.


GameServerInfo - ChaosMix.dat

Porcentaje de éxito de cada mezcla del Chaos Machine, por nivel de cuenta.

  • -1 = usa la fórmula normal del juego (según el valor en zen de los items que pones).
  • Un número de 0 a 100 = porcentaje fijo.
  • El éxito final suma además la Luck y los talismanes, según el comentario del archivo.
ClavesMezclaEn los archivos de IGK
UseZenRateReal1 = el cliente muestra el % de éxito y el zen reales antes de mezclar1
ChaosItemMixRate_ALxArmas Chaos-1
DevilSquareMixRate1..7_ALxInvitaciones de Devil Square (por nivel)80 / 70
BloodCastleMixRate1..8_ALxCapas de Blood Castle80
IllusionTempleMixRate1..6_ALxPergaminos de Illusion Temple70
MaxLevelPlusItemNivel máximo al que se puede subir un item con el Chaos Machine15
PlusItemLevelMixRate1..6_ALxSubir item a +10, +11, +12, +13, +14, +15100
Wing1MixRate_ALxAlas de primer nivel-1
TatBatWing2 / Wing2MixRate_ALxAlas de segundo nivel (1 = mezcla activa)1 / 100
TatBatMonsterWing / MonsterWingMixRate_ALxAlas 2.51 / 100
TatBatWing3 / Wing3MixRate_ALxAlas de tercer nivel1 / 100
TatBatCondor / FeatherOfCondorMixRate_ALxFeather of Condor1 / 100
DinorantMixRate_ALxDinorant70
FruitMixRate_ALxFrutas90
PetMixRate_ALxDark Horse y Dark Raven60
PieceOfHornMixRate_ALx, BrokenHornMixRate_ALx, HornOfFenrirMixRate_ALxPasos de Fenrir70, 50, 30
HornOfFenrirUpgradeMixRate_ALxFenrir de ataque o defensa-1
TatBatSoiVIP / HornOfFenrirGoldMixRate_ALxFenrir dorado1 / 100
ShieldPotionMixRate1..3_ALxPociones de SD50, 30, 30
JewelOfHarmonyItemPurityMixRate_ALx, ...SmeltMixRate1/2_ALx, ...RestoreMixRate_ALxHarmony: purificar, refinar, restaurar100, 50/100, 100
Item380MixRate1/2_ALxItems 38050 / 70
SocketItemCreateSeedMixRate_ALx / SocketItemCreateSeedSphereMixRate_ALxSemillas y esferas de socket100 / -1
TiLeTraSocket_ALxÉxito al montar una Seed Sphere en un item de socket (-1 = fórmula normal)100
LuckyItemRefineMixRate1/2_ALxRefinar items Lucky60 / 10

El anuncio a todos cuando alguien sube un item (AnnounceChaosMix) y las mezclas custom van en Custom.dat y Data\Custom (ver 06_SISTEMAS_CUSTOM.md). /reload chaosmix aplica los cambios.


GameServerInfo - Command.dat

Opciones de los comandos de los jugadores. El detalle de cada comando está en 05_COMANDOS.md. Las más usadas:

ClavesQué haceEn los archivos de IGK
CommandPostType/post: 0 apagado, 1 encendido, 2 global2
CommandWareNumber_ALxCantidad de baúles por nivel de cuenta5, 2, 3, 4
CommandWareBuy...Comprar baúles extra con /bau buy (máximo, precio en monedas o items)ver archivo
CommandResetTypeTipo de reset: 0 conserva los puntos; 1 según la tabla de puntos de reset; 2 según la tabla de puntos que se conservan2
CommandResetLevel_ALx, CommandResetMoney_ALxNivel y zen para resetear400 / 20.000.000...
CommandResetLimit_ALx, ...LimitDay, ...LimitWek, ...LimitMonMáximo de resets total, por día, semana y mes10000
CommandResetRewardCoin1/2/3Value_ALxMonedas de premio por reset10 (GameServer) / 0 (GameServerCS)
CommandMasterReset...Lo mismo para el master resetver archivo
CommandMarry...Casamiento (nivel, costo, solo GM)ver archivo
CommandChangeClassToXXClases a las que se puede cambiar con el comando de cambio de clase1

GameServerInfo - Custom.dat

Interruptores y opciones de los sistemas custom. El detalle de cada sistema está en 06_SISTEMAS_CUSTOM.md. Resumen de lo que más se cambia:

ClavesSistemaEn los archivos de IGK
CheckOptionDrop, VKExcOption1..6, TrangBiExcOption1..6Probabilidad de cada opción excelente al caer un arma/collar (VK) o una armadura/escudo/anillo (TrangBi)1, ver archivo
GremoryCaseEnable, GremoryCaseExpireDaysGremory Case (almacén de premios); días hasta que vence cada item (0 = no vence)1 / 30
CustomDailyRewardSwitch y siguientesPremio diario1
SeasonPassSwitchSeason Pass (necesita Update28 - Season Pass.sql)1
DeathScreenSwitchPantalla de muerte (mundo gris, quién te mató, cuenta atrás)1
ReviveHereVipLevel, ReviveHereTalismanRevivir donde moriste: nivel de cuenta mínimo; o con Talisman of Resurrection. Lugares en Data\Move\MoveSummon.txt1 / 1
ResetWindowSwitch, MasterResetWindowSwitchBotones de Reset y Master Reset en el cliente1 / 1 (solo en el GameServer)
CustomItemBankSwitch y siguientesBanco de ítems (se abre desde el menú F4)1
TatCungGuildPK1 = los miembros de la misma guild no se pueden atacar1
PKCC1 = se puede atacar a otros jugadores en Chaos Castle1
MuOffHelperEnabled_ALx, MuOffHelperTime_ALx, MuOffHelperPickUpEnabled_ALxHelper offline: activo, minutos máximos, recoger items1 / 9999 / 1
CustomAttack...Ataque offline (OffAttack)ver archivo
CustomStore...Tienda offline y tiendas por monedasver archivo
AnnounceChaosMix, AnnounceChaosMixLevel, textosAnuncio de mezclas exitosas o fallidas1
DelayBuyShop, DelayBuyXShop, ThoiGianMuaHangMilisegundos mínimos entre dos compras5000 / 3000 / 0
SwitchBuyInventoryExt, PriceInventoryExt1..4Comprar ampliación de inventario1 / 100
EnableAntiSpam, TimeBlockedChat, LimitMaxMessage, LimitMaxTimeMessageCheckAnti-spam del chat1 / 1 / 3 / 60

/reload custom aplica los cambios.


GameServerInfo - Event.dat

Enciende y apaga cada evento (BloodCastleEvent, DevilSquareEvent, ChaosCastleEvent, CastleSiegeEvent, InvasionManagerSwitch, etc.) y sus límites de entrada por día. Todo se explica en 04_EVENTOS.md.

Importante: Castle Siege solo lo hace el GameServerCS (CastleSiegeEvent = 1 en GameServerCS, 0 en el GameServer normal). Ver "GameServerCS" más abajo.


GameServerInfo - Skill.dat

Fórmulas de las skills de buff y debuff. Las claves ...ConstA/B/C son constantes de la fórmula y ...TimeConstA/B de la duración.

ClaveQué haceEn los archivos de IGK
ElfNoBoltArrow1 = la Elfa no gasta flechas ni saetas1
SkillDocDWAjuste del daño del veneno del DW: cuanto más alto, menos daño. No lo pongas en 0.200
ManaShield...Mana Shield (incluye ManaShieldRateXX por clase y ManaShieldMaxRate)ver archivo
GreaterDefense..., GreaterDamage..., GreaterLife...Buffs de la Elfa y del DK (con % por clase y tope)ver archivo
SummonMonster1 a 8Monstruo que invoca cada nivel de la skill de invocación de la Elfa (número de Monster.txt)26, 32, 21, 20, 10, 150, 151, 353
InfinityArrowTimeConstA, MagicCircleTimeConstADuración de Infinity Arrow y Magic Circle, en segundos1800
Sleep..., LesserDefense..., LesserDamage..., Blind..., IronDefense..., BloodHowling...Resto de skillsver archivo

Los datos de cada skill (daño, maná, rango, clases) están en Data\Skill\Skill.txt. /reload skill aplica los cambios.


GHRS.txt y Reset.ini: límite global de resets

Cada GameServer tiene un límite global de resets que sube solo cada día.

  • GameServer\GHRS.txt, sección [GHRSSV], clave GioiHanRS: el límite actual. Nadie puede pasar de ese número de resets. El juego avisa al jugador cuando llegó ([Reset] You have reached the reset limit (x/y)!).
  • GameServer\Reset.ini, sección [CONFIG]:
    • ResetNgay: cuánto sube el límite cada día (5 en los archivos de IGK).
    • ResetGio, ResetPhut, ResetGiay: hora, minuto y segundo en que sube (23:59:00 en los archivos de IGK).

Cuando llega esa hora, el GameServer suma ResetNgay al límite, avisa a todos ([Server] The daily reset limit has been increased to: N!) y reescribe GHRS.txt con el número nuevo. Si quieres fijar otro límite, cierra el GameServer, cambia GioiHanRS y vuelve a abrirlo.

Cada GameServer lleva su propio GHRS.txt: si quieres el mismo límite en todos, ponlo igual en cada carpeta.


Archivos generales de MuServer\Data

Estos archivos los usan todos los GameServer. Formato general: columnas separadas por espacios o tabulaciones, * = "cualquiera" o "sin límite", // = comentario, y cada lista termina en end. Algunos archivos tienen varias secciones que empiezan con un número suelto (0, 1, ...).

MapManager.txt: opciones por mapa

MuServer\Data\MapManager.txt, una línea por mapa. * = usa el valor general.

ColumnaQué hace
IndexNúmero de mapa (0 Lorencia, 1 Dungeon, 2 Devias, 3 Noria...)
NonPK* = el NonPK de Common.dat; 0 = PK permitido; 1 = sin PK; 2 = se puede matar sin volverse asesino
ViewRangeDistancia de visión en el mapa (* = 15)
ExperienceRate% de experiencia en el mapa (100 = normal)
ItemDropRate% del drop normal en el mapa (100 = normal)
ExcItemDropRateProbabilidad de item excelente, sobre 1.000.000 (1000 = 0,1 %)
SetItemDropRateProbabilidad de item ancient, sobre 1.000.000
SocketItemDrop1 = pueden caer items de socket
HelperEnable1 = se puede usar el MU Helper
GensBattle1 = mapa de batalla de Gens
CustomAttack, CustomStore, CustomPick1 = se puede usar el ataque offline, la tienda offline y el auto-recoger
PkDropItem1 = el asesino puede perder items aquí (con PkItemDropSwitch = 1)
DeathGateNúmero de puerta (Gate.txt) donde revive quien muere en el mapa
AllowTrade1 = se puede comerciar en el mapa
AllowTradeSafe1 = se puede comerciar en cualquier lugar del mapa; 0 = solo en zona segura
PartyEnable1 = se puede hacer party
CommentNombre del mapa (solo de referencia)

Monster\Monster.txt: los monstruos

MuServer\Data\Monster\Monster.txt, una línea por monstruo o NPC.

ColumnaQué hace
IndexNúmero del monstruo (lo usan MonsterSetBase, eventos, bolsas...)
NameNombre
LevelNivel (decide experiencia y qué items suelta)
MaxLife, MaxManaVida y maná
DamageMin, DamageMax, Defense, MagicDefense, AttackRate, DefenseRateCombate
MoveRange, AttackType, AttackRange, ViewRange, MoveSpeed, AttackSpeedMovimiento y ataque
RegenTimeSegundos para reaparecer después de morir
AttributeAtributo
ItemRateDivisor del drop: cuanto más alto, menos items suelta (ver ItemDropRate de Common.dat)
MoneyRateDivisor del zen: suelta zen más o menos 10 de cada MoneyRate veces que no suelta item
MaxItemLevelNivel máximo (+) de los items que suelta
MonsterSkillSkill especial del monstruo
Resistance1..4Resistencias a los elementos

Para subir o bajar la vida de todos los monstruos a la vez usa MonsterLifeRate de Common.dat. Los monstruos con premios, experiencia o drop propios se configuran en Data\Custom\CustomMonster.txt (ver 06_SISTEMAS_CUSTOM.md). /reload monster aplica los cambios.

Los demás archivos de Monster\ (MonsterAI*.txt, MonsterSkill*.txt, KanturuMonsterSetBase.txt, MovePath) son la inteligencia de los jefes y eventos: no hace falta tocarlos.

MonsterSetBase: dónde aparecen monstruos y NPC

Carpeta MuServer\Data\MonsterSetBase, un archivo por mapa con el nombre NNN - Nombre.txt (por ejemplo 000 - Lorencia.txt). El número del nombre es el mapa: manda sobre la columna MapNumber. La subcarpeta Event\ tiene los monstruos de los eventos e Invasion\InvasionSetBase.txt los de las invasiones (ver 04_EVENTOS.md).

Cada GameServer solo carga los archivos de los mapas que atiende (según MapServerInfo.dat).

Cada archivo tiene secciones:

SecciónQué esColumnas
0NPC y monstruos en un lugar fijoMonster MapNumber Range PositionX PositionY Direction
1Grupos de monstruos en una zonaMonster MapNumber Range BeginPosX BeginPosY EndPosX EndPosY Direction Quantity
2Un monstruo cerca de un punto (aparece hasta 3 casillas alrededor)Monster MapNumber Range PositionX PositionY Direction
3Monstruos de invasiones (zona + grupo)... Quantity Value
4Monstruos de eventos en lugar fijocomo la sección 0
  • Monster: número de Monster.txt.
  • Direction: hacia dónde mira (0 a 7; -1 = al azar).
  • Quantity: cuántos aparecen en la zona.

Ejemplo (8 Bull Fighter en una zona de Lorencia):

1
//Monster   MapNumber   Range   BeginPosX   BeginPosY   EndPosX   EndPosY   Direction   Quantity
0           0           3       169         89          169       89        -1          8
end

Move: puertas, /move y revivir

ArchivoQué esColumnas importantes
Move\Gate.txtLas puertas y puntos de llegada de cada mapaIndex, Flag (0 punto de reaparición, 1 entrada, 2 salida), Map, X Y TX TY (zona), TargetGate, TargetDir, MinLevel, MaxLevel, MinReset, MaxReset, AccountLevel
Move\Move.txtLos destinos del comando /move y la ventana MIndex, Name, RequireMoney (zen), MinLevel, MaxLevel, MinReset, MaxReset, AccountLevel, Gate (número de Gate.txt)
Move\MoveSummon.txtMapas donde se puede usar el Talisman of Resurrection, invocar y revivir en el lugarMap, zona X Y TX TY, MinLevel, MaxLevel, MinReset, MaxReset, AccountLevel, PkMove
Move\RespawnLocation.txtDónde revive quien muere en cada mapaMap, MoveGate, Gate

Ejemplo de Move.txt: 2 "Lorencia" "Lorencia" 2000 10 * * * 0 17 = /move Lorencia cuesta 2000 zen, nivel 10 o más, cualquier cuenta, lleva a la puerta 17.

/reload move aplica los cambios.

Shop y ShopManager.txt: tiendas de los NPC

  • MuServer\Data\ShopManager.txt: qué tienda abre cada NPC. Columnas Index (número de tienda), Npc (número del NPC en Monster.txt), Map, X, Y (* = en cualquier lugar).
  • MuServer\Data\Shop\NNN - Nombre.txt: el contenido de la tienda número NNN (el número del nombre del archivo es el Index de ShopManager.txt).

Columnas de cada tienda:

ColumnaQué es
GroupGrupo del item (0 espadas, 1 hachas, ... 12 alas y joyas, 13 anillos y mascotas, 14 pociones y joyas, 15 pergaminos)
IndexNúmero del item dentro del grupo
LevelNivel (+)
DurDurabilidad (0 = la normal)
Skill, Luck1 = con skill / con luck
OptOpción adicional (Jewel of Life)
ExeOptOpciones excelentes
AccOpción ancient
JoH, OexOpción Harmony y opción extra
Sck[1..5]Sockets (255 = sin socket)

El precio sale de Item\ItemValue.txt (o del valor del item). /reload shop aplica los cambios.

EventItemBag: lo que sueltan cajas, jefes y eventos

  • MuServer\Data\EventItemBagManager.txt: qué bolsa abre cada caja, monstruo o evento.
  • MuServer\Data\EventItemBag\NNN - Nombre.txt: el contenido de la bolsa NNN.

Columnas de EventItemBagManager.txt (explicadas también en su encabezado):

ColumnaQué es
IndexNúmero de la bolsa (el NNN del archivo)
ItemIndex, ItemLevelItem que abre la bolsa al tirarlo al piso (* = ninguno / cualquier nivel)
MonsterClassMonstruo que suelta la bolsa al morir (* = ninguno)
SpecialValueNúmero que usan los eventos y sistemas
DropInventory1 = los items van directo al inventario en vez del piso
G_TypePremio al Gremory Case: 0 no, 1 el de la cuenta, 2 el del personaje
G_NumTexto de origen que muestra el Gremory Case
Coin1, Coin2, Coin3Premio en WCoinC, WCoinP y Goblin Points

Cada archivo de bolsa tiene:

  • Sección 0 (configuración): EventName, DropZen (zen si no sale item), ItemDropRate (% de que salga item en vez de zen), ItemDropCount (cuántos items), SetItemDropRate (probabilidad de ancient, sobre 10.000), ItemDropType, Fireworks (1 = fuegos artificiales).
  • Sección 1 (items): Section (grupo), Type (número del item), MinLevel, MaxLevel, Skill, Luck, Option, Excellent, ItemTime, Rate.

/reload eventitembag aplica los cambios.

Carpeta Item: lista y opciones de items

ArchivoQué es
Item\Item.txtLa lista de items (antes Item.xml): por grupo, tamaño, si cae y desde qué nivel, daño, defensa, durabilidad, requisitos y clases. Su encabezado explica cada columna.
Item\ItemDrop.txtDrops especiales: un item con su nivel y opciones que cae en un mapa, de un monstruo o de un rango de nivel de monstruos. DropRate sobre 1.000.000 (1000 = 0,1 %). Columnas: Index, Level, Grade, Option0..6, Duration, MapNumber, MonsterClass, MonsterLevelMin, MonsterLevelMax, DropRate.
Item\ItemValue.txtPrecio de items en zen o monedas (Zen Value, Coin1, Coin2, Coin3, SellValue)
Item\ItemValueTrade.txtValores para el comercio con monedas
Item\ItemMove.txtQué items se pueden tirar, vender, comerciar y guardar en el baúl (AllowDrop, AllowSell, AllowTrade, AllowVault)
Item\ItemStack.txtItems apilables (MaxStack). Tiene que coincidir con MainInfo\Local\CustomStack.txt del cliente.
Item\ItemOptionRate.txtProbabilidades de nivel y opciones de los items que caen (sobre 10.000)
Item\ItemOption.txt, ItemOptionBEx.txtOpciones de los items
Item\SetItemOption.txt, SetItemType.txtItems ancient
Item\SocketItemOption.txt, SocketItemType.txtItems de socket
Item\JewelOfHarmonyOption.txt, JewelOfHarmonyType.txtOpciones de Harmony
Item\380ItemOption.txt, 380ItemType.txtItems 380
Item\LuckyItem.txtItems Lucky
Item\PetItemOption.txt, FlagItemOption.txt, RuneItemOption.txt, EarringItemOption.txt, JewelOfStore.txtMascotas, banderas, runas, aretes y almacén de joyas

Si agregas o cambias items en Item.txt, el cliente también tiene que tener esos items (con el Encoder). Reinicia el GameServer después de cambiar esta carpeta.

Carpeta Skill

ArchivoQué es
Skill\Skill.txtLas skills: Damage, MP (maná), BP (AG), Range, Radio, Delay, Type, Effect, requisitos (ReqLevel, ReqEnergy, ReqLeadership, ReqKillCount, ReqGuildStatus) y clases (DW DK FE MG DL SU RF: 0 no, 1 clase base, 2 segunda clase, 3 tercera)
Skill\MasterSkillTree.txtÁrbol Master
Skill\SkillDamage.txtSubir o bajar el daño de una skill contra jugadores (DamageRateUser) y contra monstruos (DamageRateMonster). Vacío en los archivos de IGK.
Skill\SkillMapDisable.txtDesactivar una skill en un mapa, contra monstruos (UsePvM) y jugadores (UsePvP) por separado. * = todas las skills o todos los mapas. Ejemplo: 51 6 1 0 = Ice Arrow funciona contra monstruos en Arena (mapa 6) pero no contra jugadores.
Skill\SkillElect.hitDatos internos de alcance de skills: no tocar

Carpeta Terrain

MuServer\Data\Terrain\TerrainN.att: el terreno de cada mapa (zonas seguras, paredes, zonas donde no se puede caminar). Terrain1.att es el mapa 0 (Lorencia), Terrain2.att el mapa 1, etc. Los archivos _PEACE, _OCCUPIED, _WAR (Crywolf) y _CLOSE, _OPEN (Kanturu) son los estados de esos eventos.

Tienen que ser los mismos que los del cliente: si no coinciden, los jugadores ven que caminan por un lugar y el servidor los devuelve atrás, o los monstruos aparecen dentro de paredes. Se leen al arrancar: reinicia el GameServer.

Message.txt: mensajes del servidor

MuServer\Data\Message.txt: los mensajes que manda el servidor (eventos, comandos, errores). Formato: Número "Texto". Los %d y %s se reemplazan por números y nombres: no los borres ni cambies su orden. Se puede traducir libremente. /reload common lo vuelve a leer.

Los nombres de los niveles de cuenta salen de aquí: 32 Free, 33 Bronze, 34 Silver, 35 Gold.

Quest y QuestWorld

  • Quest\Quest.txt, QuestObjective.txt, QuestReward.txt: las quests de cambio de clase (segunda y tercera clase, Marlon) con su NPC, nivel requerido y clases.
  • QuestWorld\QuestWorld.txt, QuestWorldObjective.txt, QuestWorldReward.txt: las quests del sistema Quest World de Season 6 (quests de NPC por etapas): requisitos, objetivos (matar monstruos, conseguir items) y premios.

Las quests custom (/quest, panel de quests, quests de NPC) están en Data\Custom (ver 06_SISTEMAS_CUSTOM.md). /reload quest aplica los cambios.

Mining.txt: minería

MuServer\Data\Mining.txt. Columnas:

ColumnaQué es
IndexNúmero del objeto que se mina (605, 606, 607 en los archivos de IGK)
StageEtapa (1 a 5)
ValueDurabilidad del pico que se gasta
ItemRateProbabilidad de éxito, sobre 10.000 (4750 = 47,5 %)
ItemIndex, ItemCountItem y cantidad que se gana
BonusItemRate, BonusItemIndex, BonusItemCountPremio extra en la última etapa (probabilidad sobre 10.000)

Carpeta Hack

ArchivoQué es
Hack\HackSkillCheck.txtLímites de velocidad por skill (SkillIndex, MinSpeed, MaxSpeed, MaxDelay, MaxCount). Se usa con SpeedHackSkillEnable = 1 en Common.dat.
Hack\HackPacketCheck.txtControl de paquetes del cliente. No lo cambies.
Hack\Enc2.dat, Hack\Dec1.dat, Hack\MHPServer.iniClaves de comunicación con el cliente. No los cambies: el cliente deja de conectar.

Carpeta Util

ArchivoQué es
Util\GameMaster.txtLos GM: "cuenta" "personaje" nivel. Tienen que coincidir la cuenta y el personaje. Nivel 1 = GM, 2 = administrador (los comandos piden un nivel mínimo en la columna GameMaster de Command.txt).
Util\ExperienceTable.txt% de experiencia según nivel, master nivel, resets y master resets (MinLevel MaxLevel MinMasterLevel MaxMasterLevel MinReset MaxReset MinMasterReset MaxMasterReset ExperienceRate). Vacío = 100 %.
Util\ResetTable.txtRequisitos de cada rango de resets (sección 0: nivel y zen por nivel de cuenta, joyas) y puntos que se reciben (sección 1). Lo usa CommandResetType 1 o 2.
Util\MasterResetTable.txtLo mismo para el master reset.
Util\Notice.txtAvisos automáticos: texto, tipo, color (Red Green Blue), velocidad y RepeatTime (cada cuántos segundos). Vacío en los archivos de IGK.
Util\Filter.txtPalabras que se tapan en el chat. Vacío en los archivos de IGK.
Util\FilterRename.txtNombres o partes de nombre prohibidos al usar el cambio de nombre (máx. 10 caracteres).

/reload util aplica los cambios.

Carpeta CashShop

ArchivoQué es
CashShop\CashShopProduct.txtProductos: ID, Number, Value (precio), Item (número del item), Level, opciones, Qtd (cantidad), Duration (segundos; 0 = permanente)
CashShop\CashShopPackage.txtPaquetes que se ven en la tienda: Cat (categoría), ID, Coin (moneda), Price, PBase1..10 y PMain1..10 (productos que incluye)

Los productos de la tienda también tienen que estar en los archivos del cliente (Data\InGameShopScript). /reload cashshop aplica los cambios.

Otros archivos

ArchivoQué es
Character\DefaultClassInfo.txtStats iniciales de cada clase (Strength, Dexterity, Vitality, Energy, Leadership, MaxLife, MaxMana) y cuánta vida y maná dan el nivel, la vitalidad y la energía. Clase 0 DW, 1 DK, 2 Elfa, 3 MG, 4 DL, 5 SU, 6 RF.
Effect.txtBuffs y efectos (sellos, pergaminos, Halloween...): grupo, item que lo da, si se guarda al salir, duración (Count, en segundos) y valores.
ConnectMember.txtCuentas que entran en modo mantenimiento (ServerCheckConnectMember = 1).
Command.txtLos comandos: ver 05_COMANDOS.md.

GameServerCS (Castle Siege)

MuServer\GameServerCS es un GameServer preparado para Castle Siege. Usa los mismos archivos de MuServer\Data que el GameServer normal, y tiene sus propios GameServerInfo - *.dat.

Diferencias en los archivos que vienen con IGK:

OpciónGameServerGameServerCS
ServerName / ServerCode / ServerPortSV-01 / 0 / 55901SV-CS / 19 / 55919
En ServerList.dat"SHOW""HIDE" (no sale en la lista)
Mapas (MapServerInfo.dat)Todos menos 30, 31, 34, 41, 42, 79Solo 30 (Castle Siege), 31 (Land of Trials), 34 (Crywolf), 41 (Barracks), 42 (Refuge), 79 (Loren Market)
CastleSiegeEvent (Event.dat)01
CastleDeepEvent (Event.dat)01
Blood Castle, Chaos Castle, Devil Square, Double Goer, Imperial Guardian, invasionesEncendidosApagados
  • Los jugadores llegan al GameServerCS solos, al entrar a uno de sus mapas, y vuelven al GameServer normal al salir.
  • Solo un GameServer debe tener CastleSiegeEvent = 1: el GameServerCS.
  • El calendario del asedio, los NPC del castillo y las mejoras salen de MuServer\Data\Event\MuCastleData.xml (si no está, de MuCastleData.dat). Las demás opciones (CastleSiegeCycleStart..., CastleSiegeSpecificState, CastleSiegeSeniorMixLimitType...) se explican en 04_EVENTOS.md.
  • Crywolf (mapa 34) también se atiende en el GameServerCS.

Si cambias de máquina o de IP, recuerda poner la IP pública del GameServerCS en MapServerInfo.dat (con la letra S delante) y abrir su puerto en el firewall.


Preguntas frecuentes

P: ¿Dónde cambio la experiencia del servidor? R: En GameServer\Data\GameServerInfo - Common.dat, AddExperienceRate_AL0 a _AL3 (uno por nivel de cuenta). La experiencia Master es AddMasterExperienceRate_ALx. Después usa /reload common. Hazlo en cada GameServer.

P: ¿Dónde cambio el drop? R: ItemDropRate_ALx en Common.dat (drop normal), las columnas ItemDropRate, ExcItemDropRate y SetItemDropRate de Data\MapManager.txt (por mapa), Data\Item\ItemDrop.txt (joyas y drops especiales) y Data\EventItemBag (cajas y jefes).

P: ¿Cómo cambio los puntos que se ganan por nivel? R: En Common.dat: DWLevelUpPoint, DKLevelUpPoint, FELevelUpPoint, MGLevelUpPoint, DLLevelUpPoint, SULevelUpPoint, RFLevelUpPoint. Luego /reload common.

P: El Rage Fighter no recibe puntos al subir de nivel. R: En los archivos que vienen con IGK, RFLevelUpPoint = 0. Ponle el valor que quieras (por ejemplo 7) en Common.dat de cada GameServer y usa /reload common.

P: ¿Cómo pongo el servidor en mantenimiento para que solo entren los GM? R: Pon las cuentas permitidas en Data\ConnectMember.txt (una por línea, entre comillas) y ServerCheckConnectMember = 1 en Common.dat. Luego /reload common.

P: ¿Cómo hago un servidor solo para VIP? R: Con ServerLock (nivel de cuenta mínimo) o poniendo AccountLevelLock_AL0 = 0 en el Common.dat de ese GameServer.

P: Cambié un archivo y no pasa nada en el juego. R: Usa /reload <tipo> (o /reload all). Los items, terrenos, puertos, códigos de servidor y GHRS.txt necesitan reiniciar el GameServer. Y recuerda que cada GameServer tiene su propia copia de los GameServerInfo - *.dat.

P: ¿Cómo quito el PK? R: NonPK = 1 en Common.dat para todo el servidor, o la columna NonPK de MapManager.txt para mapas concretos (1 = sin PK; 2 = se puede matar sin volverse asesino).

P: ¿Cómo cambio la hora del día y la noche, o lo apago? R: DayNightSwitch (0 = siempre de día), DayNightTimeZone, DayNightMinutesPerHour, DayNightSunrise, DayNightSunset y DayNightNightLight en Common.dat. /reload common lo manda a todos al instante.

P: ¿Cómo hago que llueva menos o que no nieve? R: Baja WeatherRainChance o WeatherSnowChance, o quita mapas de WeatherRainMaps / WeatherSnowMaps en Common.dat. WeatherSwitch = 0 apaga el clima del servidor.

P: ¿Cómo agrego un GM? R: En Data\Util\GameMaster.txt: "cuenta" "personaje" 2 (2 = administrador, 1 = GM). Tienen que coincidir la cuenta y el personaje. Luego /reload util o reinicia.

P: ¿Cómo cambio lo que vende un NPC? R: Busca el número de tienda del NPC en Data\ShopManager.txt y edita Data\Shop\NNN - Nombre.txt con ese número. Luego /reload shop.

P: ¿Cómo agrego monstruos a un mapa? R: En Data\MonsterSetBase\NNN - Mapa.txt, sección 1, agrega una línea con el número del monstruo, la zona y la cantidad. Luego /reload monster.

P: Los jugadores ya no pueden hacer reset y dice "You have reached the reset limit". R: Llegaron al límite global de GameServer\GHRS.txt (GioiHanRS), que sube cada día según Reset.ini. Para cambiarlo, cierra el GameServer, edita GioiHanRS y ábrelo otra vez.

P: ¿Por qué los jugadores no pueden comerciar fuera de la ciudad? R: Por la columna AllowTradeSafe de MapManager.txt: 0 = solo en zona segura. Ponla en 1 para permitir el comercio en todo el mapa.

P: El GameServerCS tiene Castle Siege y el GameServer normal también. ¿Está bien? R: No. Solo el GameServerCS debe tener CastleSiegeEvent = 1 en su GameServerInfo - Event.dat; en los demás GameServer, 0.

¿No encontraste lo que buscabas? Si eres cliente, pregúntale a tu asistente de soporte: responde con esta misma documentación. Si todavía no lo eres, escríbenos: