Si bien el documento publicado a continuación es más bien dirigido a propietarios de servidores privados de MuOnline, considera factores pertenecientes a la ejecución de archivos en general, y puede ser útil a nivel conceptual, para el estudio del funcionamiento de otros ejecutables. Con la ayuda del tutorial, seremos capaces de aprender cómo crear una librería dinámica, que nos permitirá modificar algunos datos, y cargarlos al inicio del GameServer.
En este caso, a modo ejemplo, lo que modificaremos será la recompensa de los diferentes niveles de Blood Castle.

Herramientas necesarias:
1. OllyDbg
2. Visual Studio 2005
Contenido de este documento:
1. Identificar los offsets
2. Crear los archivos .h y .cpp
3. Desarrollo de Archivo .h
4. Desarrollo de Archivo .cpp
5. Compilar la DLL
6. Enganchar la DLL (Hook)
7. Cambiar el EP (Punto de entrada)
8. Crear el archivo de configuración
9. Probar la DLL
Créditos:
• Trabajo base desarrollado por chris05 y rodrigobmd.
• Adaptación, traducción, explicaciones agregadas y gráficos por Mr-K.
Link directo: Tutorial: ¿Cómo crear una DLL para MuOnline?
Contraseña: www.Mr-K.com.ar
Si encuentran errores en el trabajo, repórtenlos mediante un comentario. Acepto sugerencias e ideas para futuras publicaciones, siempre y cuando sean referidas a aprendizaje y no a pedidos de archivos específicos.
Saludos.




Muy buena guia, muy buen trabajo.
Es de mucha ayuda, gracias por compartir con nosotros estas guias.
Mati: Me alegro mucho que te haya gustado el trabajo… Gracias por tu comentario, y la visita.
Saludos.
Hola , te qria pedir si podrias poner un tutorial para aprender a poner camara 3D al st anticheat como la que tiene el jamaika y agregarle algunos mapas tambien,
bueno si podes responder te lo agradeceria
saludos!
sacha: La cámara 3D es una función que se añade a través de un enganche de DLL al núcleo del Cliente (Main.exe) para lo que cuentas con un tutorial en este sitio.
Para agregar mapas, necesitas modificaciones tanto del lado del servidor, como del cliente, por lo que es un proceso más complejo que podrás realizar a través de el tutorial de esta publicación precisamente.
Saludos.
Bueno muchas gracias ahora voy a ver el tutorial q decis..
gracias!
Me acorde otra pregunta tengo para hacer los mapas vips , eso hay un tutorial o podrias hacer uno, y tambien qria saber como escojo los items q cae de cada bicho y de las cajas kundum
sacha: Los mapas vips son bastante complejos como para empezar, ya que tienes que realizar bastantes modificaciones y el chequeo de la condición en la base de datos, de si el personaje pertenece o no a una cuenta VIP. Te sería más sencillo comenzar con un Servidor VIP, filtrando las cuentas mediante el ConnectMember.txt en el servidor.
Lo que cae de cada monstruo pueden ajustarse desde el nivel de los monstruos (en el Monster.txt) y corresponderse con el de los items (en el Item(kor).txt)
Para la confección del Monster.txt ya cuentas con un tutorial en este sitio; y para explicar Item(kor).txt y los Event Item Bags (Cajas Kundun) haré un tutorial. Gracias por la sugerencia.
Saludos.
Gracias Mr-K
Sigan adelante con el JamaikaMu!
sacha: Gracias a vos por la visita, y tus palabras.
Saludos.
Hola devuelta .. tenia otra pregunta como agrego mas npc de los q vienen , por yo que se pueden mover , pero como hago para agregar mas.??
sacha: Dependiendo de la versión que utlices, las ID correspondientes a NPC van del 220 al 255. Puedes utilizar esas ID en el Monster.txt para identificarlos como NPC, y agregar soporte del lado del cliente con los respectivos BMD y OZJ u OZT, para darles la apariencia que desees..
Saludos.
me podes ayudar a dejar mi configurar mi server bien?.. o sabes alguinen q me pueda ayudar? porque yo leo tutoriales de todo pero algunas cosas ya no puedo hacer .
sacha: Lamentablemente la respuesta a tu planteo es no; mi tiempo dedicado a MuOnline es exclusivamente para Jamaika Mu. (y algún rato para este sitio ^^)
Eres bienvenido a realizar consultas; gracias por tu visita.
Saludos.
Buenoo despues de mucho tiempo volvi xD,
Te queria consultar algo que por lo que vi se puede, pero nose la conplejidad:
Si yo quiero poner como en el JMK que cada BC tenga un premio distinto como tendria que hacer?
Otra cosa,
Tengo un amigo que tiene codigos de comandos como :
/fuerza
/agilidad
Sirven si yo los agrego a tu DLL y la compilo?
Desde ya muchas Gracias
MeGa: Uy se me había pasado este comentario! Mil disculpas MeGa, contesté otros, y este lo dejé colgado…
Para identificar cada BC, tendrías que tomar alguno de los parámetros que los diferencian entre si, por ejemplo el número de mapa en el que se llevan a cabo; y armar un procedimiento similar a este para cada uno (pudiendo por supuesto hacer configurable cada recompensa desde el INI)
Con respecto a lo de los comandos, es probable que puedas agregar el código sin problemas, y de esta forma aprovechar el mismo hook.
Aunque tarde, espero que te sirva la respuesta.
Saludos.
una pregunta mrk como hago para que la maquina del chaos nomas se puedan subir los items a 10 y +11 y tambien le cambie el porciento pero no falla. y otra cosa como hago para cambiar el zen q te da cuando vendes algun item o joya.
si podes responder te lo agradeceria
Es perfecto…. igual es Visual Oficio 2005 pesa una banda lo intente descargar y me dice tiempo de descarga: 1dias y horas.. me voy a fijar por megaupload si encuentro uno que desde premiun lo pueda bajar mas rapido.
Mil gracias chris05, rodrigobmd y Mr-K terrible guia mil veces mejor explciada que muchas otras.
Me intereso mucho el trabajo de creacion de librerias dinamicas. Mi pregunta hacia vos seria: Es posible modificar una dll ya creada y hook a un main? de ser si , que programas tendria que utilizar para ver los bloques de codigo de casa dll?
Mi intencion es actualizar dll que se dedican al anticheat que ya se encuentran hook a los main.
Desde ya mil gracias y lo que mas rescato para mi caso es que esta bien explicado como agregar un dll cuando ya existia una.
MAQUIAVELO: Entiendo tu intención, y es totalmente válida; el problema es que es un tanto complicado modificar una DLL ya compilada (generalmente también empaquetadas). De igual manera, para estas cuestiones hay gente que ha publicado los fuentes (sources) de librerías DLL con códigos anti-hacks, que podrían ser en tu caso, un muy buen punto de partida.
Por ejemplo: DLL Anti-Hack Codes (Ragezone – ToMMeG)
Espero haber sido de utilidad con la respuesta.
Saludos.
mr- k una pregunta yo tengo en mi server el stanticheat900 a mi me deja entrar péro se lo paso a un amigo y no lo deja
me podrias soluciorat el problema
sahca: No, lamentablemente solo con esos datos no podría ayudarte. Si necesitas algún tipo de ayuda, deberás dejar más detalles sobre el problema, y ser más específico.
Saludos.
MR-K TENGO UNA PREGUNTA PARA HACERTE.
YO QUIERO AGREGAR EL ATAQUE KUNDUM EN MI SERVER 97D COMO LO HAGO?
Y TAMBIEN QIERO AGREGAR EL RENA O LOS ARMONYS NO SE SI ES LO MISMO
SI PODES AYUDARME ESTARIA AGRADECIDO
hola Mr-K esta muy bonita la pagina, como siempre
solo queria ver si podias responderme algo…
yo tengo un main.exe que lee los 512 lost del item.bmd, y tiene armas nuevas agregadas en el item.bmd, pero eso vino por defecto, yo no tengo idea de como lo agregaron…. queria preguntarte si para agregar un item, tengo que modificar si o si el main.exe…
desde ya muchisimas gracias y esta muy linda la web papu =)
sacha: La invasión o ataque de Kundun, es más que nada un nuevo procedimiento agregado.
Puede diagramarse justamente con lo establecido en este tutorial, copiando eventos existentes, y modificandolos a gusto. Tienes que tener en cuenta varios parámetros, como los intervalos de tiempo, la aparición del monstruo, y el drop al matarlo, que puede tomarse de un nuevo TXT.
Todos estos parámetros ya existen dentro del GameServer, por lo que el trabajo complejo está en identificarlos, para poder copiarlos y reciclarlos.
maxi: Supongo que por 512 lost, quisiste referirte a slots, espacios, o líneas.
En realidad, depende del Main.exe con el que estés trabajando. Ahora la mayoría de los que hay en circulación, leen todas las líneas del Item.bmd, por lo que para agregar un item, solo deberías agregar los archivos correspondientes, y sus atributos del lado del servidor, y del cliente.
Mil disculpas por la demora en estas contestaciones, evidentemente dado el spam sufrido en otras secciones, se me pasaron por alto involuntariamente.
Muchas gracias por sus visitas, y consultas.
Saludos.
Muchas Grasias Mr-K Grasias Por ayudarnos tanto
Mr-K: Como hago para agregar comandos a mi server 97x porque no puedo, entro en mi server y no me puedo mover a ningun mapa (exepto x los portales). Ayuda Mr-K!
MigueL: Seguramente eres poseedor de archivos 97d (+99) o 97r. Hay varias DLL ya publicadas, que agregan comandos a estas versiones, solo deberás buscar la que se ajuste a tus espectativas, y engancharlas al GameServer con el método que figura en este tutorial.
El hecho de que puedas moverte a través de los portales, y no a través del comando move, puede significar que hay errores en los puntos de move, en tus archivos gates.txt y gate.bmd. Por otro lado, deberías revisar también el archivo WTF donde figuran los comandos, ya que tal vez están mal escritos, o en las lineas incorrectas.
Si necesitas un editor de archivos WTF, puedes descargarlo del foro: [ Editor WTF ]
Si te interesa la temática, estás invitado a formar parte del foro, aportar archivos y/o sugerencias.
Saludos.
Muy buen trabajo, he leido otra guia de estas pero estaba muy mal traducida.
Encontre un error nose si es mio o que onda, cuando quiero seleccionar el codigo para poner del pdf, se le van los espacios y renglones, nose que pasa, y el visual lo toma como mal.
Grasias Mr-K por tu ayuda,ya solucione mi problema,lo que quiero saber ahora es como agregar nuevos items a esos files 97x son los files como los que tenia JamaikaMu en el año 2008, y quiero saber como agregar por ejemplo las alas Season 3 o como poner el Skin del mismo y remplazarlo por otro item, ademas de nuevos sets y cosas asi. Espero tu respuesta =D
MigueL: Repito, seguramente eres poseedor de archivos 97d o 97r, ya que nuestros archivos nunca fueron publicados. Ni los anteriores, ni los actuales. Seguramente alguien tomó nuestro cliente y lo compatibilizó parcialmente con archivos de servidor descargados de algún foro; eso no significa que sean nuestros archivos, o que vayan a funcionar bien. La versión 97x es exclusiva de Jamaika Mu, y requiere muchas modificaciones del lado del servidor para funcionar completa y correctamente.
Con respecto a tu consulta, casi todos los Main.exe que se consiguen actualmente soportan más de los items que realmente hay en el juego. Solo deberás agregar la línea correspondiente al archivo item(kor).txt (según el idioma y la versión de servidor que estés usando), y del lado del cliente agregar el BMD (OZJ-OZT) del nuevo item.
Recuerda que el archivo item(kor).txt (servidor) y el archivo item.bmd (cliente) deben ser exactamente iguales, para evitar inconcordancias en los valores, y que todos los items caigan normalmente.
Saludos.
Muchas Gracias Mr-K, y si esos files no son los originales de Jamaikamu, solo el cliente es de JMK, como tu dices son adaptaciones que le han echo a esos files, nunca dige que fueron los files ORIGINALES de JMK en el año 2008
Respecto a tu respuesta la vercion a la que estoy tratando de agregar nuevos items es la vercion 97d o 97r, Se podra? No lo se, ademas quisiera saber como hacer para no tener que usar el Main.exe del cliente, osea lo que quiero hacer es sacar el main del cliente como el JMK para haci hacerlo mas seguro, tendria que cambiarle el formato al Main.exe a Main.data? Bueno Espero tu respuesta… como siempre continuen asi !! Aguante JMK MU!!!
Se agregar items a servidores mu online, pero lo que pasa es que he leido en muchos foros y dicen que no se pueden agregar items a verciones viejas ya que el Main.exe no los soporta o no tiene mas espacio para nuevos items. Quisiera algun dia llegar a ser como tu
. Saludos!
MigueL: Te hablaba en general, porque pensé que estabas utilizando nuestro cliente (Main.exe), que ya cuenta con la posibilidad de agregar items.
Sobre el cambio de formato del Main.exe (a .dat) y encriptación, eso lo realiza nuestro sistema de protección (Anti-Cheat) y como dices, sirve en cierta forma para proteger el juego de algunos intentos de utilización de programas nocivos. Hacer el cambio de formato manualmente no servirá de mucho, ya que con el simple hecho de renombrar el archivo tendrían acceso a todo lo que te interesa ocultar.
Sería apropiado que busques algún sistema de anti-hack o anti-cheat integral para proteger tu cliente. Si lees algunos comentarios más arriba, verás por qué enganchar una DLL a tu cliente no es una medida apropiada/suficiente para prevenir el cheating.
Gracias por tus palabras, espero que puedas salir adelante y tengas éxito con tu proyecto.
Saludos.
Tienes mucha razon con lo que dices, pero que programa deberia usar para cambiarle el formato o que tipo de anti-cheat o anti-hack deberia usar? buscare por google aver si logro encontrar algo que me pueda ayudar, a una recomendacion si es que la puedes tomar, podrias hacer una guia de como hacer un archivo .dll con los sources de una camara 3D full y como ponerla en el Main.exe. Espero tu respuesta
Saludos!!
Logre encontrar algo, el GameDefender 2.0,AH.dll antihack, y un GameGuard, me serviria algunos de esos? que tipo de seguridad tienen? y que otros anti-hack o anti-cheat hay? cual me lo recomiendas?
Saludos!!
Muy útil, como todos los aportes!. Además muy completo el tutorial.
Saludos.
Hola Mrk Me podrias ayudar con un problema de cheats…… el mu online de mi amigo no tiene anti cheat keria saver si me podrias dar o dar elink de alguno asi se lo paso a el gracias
la vercion es 97x PORCIERTO .d
DarkTemple: Muchas gracias por tus palabras, y tu visita al sitio.
Th3-BaDBoY: La versión 97x es exclusiva de Jamaika Mu, y los archivos correspondientes nunca fueron publicados.
Algunos anti-cheats disponibles:
UCP Anti-Cheat Freeware: [ Enlace directo ] Leer atentamente las instrucciones.
Simply MuOnline Launcher + AntiCheat: [ Enlace directo ]
ST Anticheat 900 + Full Guide: [ Enlace directo ]
NOTA: Alanzaba con abrir Google no?
Saludos!
Mrk Muchas gracias por la rapida respuesta tengo otra..qe ahi q hacer para q el lord kundun tire items exe??
Mi pregunta es la siguiente Señor Mr-K, como puedo crear o volver totalmente un Gm Invisible es decir, que ni los user puedan verlo, es 97x+99+1.01+s2+s3 ! Gracias y mis respectos Hacia Jamaika Mu
AlezMontoya: Los archivos de la versión 97x nunca fueron publicados, y son exclusivos de Jamaika Mu. El hecho de que usen nuestro cliente, no significa que usen nuestra versión de archivos; ya que no todas las características estarán disponibles.
Los archivos de versiones 0.97 ya cuentan con la características que tu solicitas. Deberás investigar al respecto, según el GameServer y la base de datos que estés usando.
Gracias por tu visita, y tus palabras.
Saludos.
Hola Mr-K, queria preguntarte si hay alguna manera de programar para que cuando determinado pj mate a determinado moob salga un anuncio “tipo mensaje de admin” avisando el nombre del pj que lo mato? Ejm: “Mr-K a eliminado al fenix”
Obvio siempre hablando de la version 97d. Si existe alguna manera por favor decime por donde empezar.
gracias de ante mano.
=)
Hola Mr-K yo tengo un problema, en JMK me banearon por subir anillos, pero lo que pasa es lo siguiente.
), y esa es la que le llega a ustedes, resulta ser que unos pibes de aca se mandaron una cagada o ellos subieron los ring y nos banearon a todos lo que tenemos la misma red que el chabon que izo la cagada entendes?.
Yo vivo en un pueblo llamado Paso de la Patria donde hay 2 redes que ofrecen internet.
Las 2 salen con una sola ip (es una antena que le da wifi a todo el pueblo pero obiamente ahy que pagarle
por eso yo ya le pedi a los adm en JMK pero no me creen o no entienden.
si me podes borrar esos ring o nose, espero tu respuesta. la cuenta era Bk-Maxed pero hace rato que no entro a ver si se elimino.
Saludos
Saludos espero tu respuesta
Th3-TiGeR: Tu consulta esta fuera de lugar, y de tema. Si los administradores de Jamaika no te creyeron o entendieron, no entiendo por qué volvés a plantear el mismo problema.
Si lees atentamente tus palabras, fuiste bloqueado por intentar subir un anillo, y les atribuís responsabilidad a los demás usuarios de tu red… Pero pedís que se te borren los anillos a vos? No tiene mucho sentido.
Para este tipo de problemática: http://www.JamaikaMu.com/chat
Saludos.
Muy buenas tardes Sr. Mr-K, quisiera hacerle una consulta muy corta pero breve, necesito hacer mapas para servidores de MuOnline Version: 1.07H Season5, lo que quiero saber es que Software debo usar y si existe alguna guia sobre como hacerlo ya que he buscado en el AMADO GOOGLE y no me encuentra nada. Muchas gracias por prestar un poco de tu tiempo a nosotros. Hasta Luego!!
Saludos!! – DarkKinG
DarkKinG les desea un buen cumpleaños JamaikaMu!! El servidor que levanta pasiones, emosiones, y sonrisas en las caras de los vicios! Muchas gracias por estar a nuestro lado.! Por siempre y para Siempre! JamaikaMu Online!!
Saludos!! – DarkKinG
Siempre que necesiten ayuda cuenten conmigo! Ayudando a formar un nuevo mundo. Hasta luego!!
Saludos!! – DarkKinG – FlaGGerOne en JMK!
Mr-K Junto a su grupo de Staff son los mejores que he conocido. Algún dia espero llegar a ser como ellos!! Gracias por TODO CHEE! TE QUEREMOS Mr-K!!
Saludos!! – DarkKinG
MigueL: Muchas gracias por tus palabras, y tus ofrecimientos de colaboración.
Saludos.
Mr tanto tiempo. felicitaciones por tantos años de jamaika. jeje me ayudarias con un problema que surgio en el server de un amigo? los pks son como admines y encima no atacan. noseque pasa pero hace poco lo hackearon y lo levantamos y paso esto porque todo venia correcto. si puedes dar una explicacion de como poner al kumdum o a los mapas vips porfavor? gracias saludos desde formosa. siempre con el jamaika!!
Mr-K No lo ayudes al pt de Sacha, es el admin de argosmu no lo ayudes al gil ese.
mr-k me podes recomendar un anti dup piola para la verción 99b porque se editar por el baul apretando dtd seguidas esas 2 teclas, te agradeceria si me ayudas.
Mr-K, tengo problemas con unas feliz me descarge unas files 99b y todo anda bien, el anti hack anti dup, todo perfecto, el unico problema es que, no se puede borrar el guild, no ves que guild tiene el enemigo, osea enves de decir [Guild] JJlopez, dice JJlopez, cuando declaras war, sigue con ese problema, y no lo podes pegar, porque no se lo ve en rojo, si me podes ayudar, o recomendar algunas files 97d o 99b que anden bien porfavor. En lo posible 97d
Desde ya muchas gracias. Saludos.
MR-K SOS RE FEO
Bueno, una vez más necesito de tu ayuda, quiero aprender a programar y nose por donde empezar jaja.
La invasión o ataque de Kundun, es más que nada un nuevo procedimiento agregado.
Puede diagramarse justamente con lo establecido en este tutorial, copiando eventos existentes, y modificandolos a gusto. Tienes que tener en cuenta varios parámetros, como los intervalos de tiempo, la aparición del monstruo, y el drop al matarlo, que puede tomarse de un nuevo TXT.
Todos estos parámetros ya existen dentro del GameServer, por lo que el trabajo complejo está en identificarlos, para poder copiarlos y reciclarlos.
Con respecto a esto que dijistes, quieres decir que podes agarrar el evento del Blood Castle, Copiarlo, Crear un nuevo txt pergarlo modificar los mob por el kundum ??????
Hola Mr-K
Hola Mr-K , Me podrias decir como se modifica el launcher de st anticheat esta en ingles y es un tanto fastidioso nose si podrias dejar algun tuto o una ayuda Gracias
JJ Lopez: Ese problema puede ser una incompatibilidad entre el GameServer y el GuildServer que estás usando. Podrías probar cambiando de GuildServer, ya que todo lo demás esta en orden.
Kunta: No seas mentiroso! (?)
Rodrigo: No el TXT propiamente, sino el procedimiento dentro del GameServer, y modificarlo para que llame a otro TXT (como lo muestra este tutorial). En el caso de querer copiar una invasión, lo práctico sería buscar el código correspondiente a un PUSH de una Box of Kundun, e investigar.
Yamer: Hola!
rtx: La manera más sencilla es descargar el código fuente disponible, y modificar todos los dialogs desde ahí; aunque podrías probar con Resource Hacker, que es una herramienta para modificar los textos y recursos de ejecutables ya compilados.
Saludos.
Disculpa Mr-K , e usado el Resource Hacker pero no obtube los dialogos,sobre el codigo de fuente e buscado y no los e encontrado no los tendrias vs y si no es molestia pasarlos para poder traducir el launcher de st anticheat muchas gracias desde antemano.
rtx: El código fuente del ST-Anticheat fue publicado hace bastante tiempo, y fue sobre lo que trabajamos para mejorarlo y/o modificarlo en varios aspectos. Te recomiendo buscar en comunidades como RageZone donde encontrarás infinidad de recursos para tu servidor. Como menciono en principio, el código fuente de nuestro sistema ya tiene mucho trabajo propio, por lo que por el momento no tenemos intenciones de publicarlo.
Gracias por tu visita y participación.
Saludos.
Disculpa Nuevamente Mr-K , estube buscando desde hace 1 dia y medio el source code “codigo fuente” de St Anticheat , Pero no lo e encontrado , y veo que se hace muy dificil encontrarlo , Porfavor No podrias pasar el source code antiguo de st anticheat , Nuevamente Disculpa , y Muchas Gracias.
Hola Mr-K,Quisiera saber como modificar el golden archer para que pida renas y no stones , podrias pasarme alguna guia y tambien el limite de renas a almacenar y por tal numero de rena almacenada el golden archer te tire un item. De antemanos Gracias ! Por tus grandes consejos y ayudas