MUServerStartUP [Funcionamiento]

En este tutorial aprenderemos a entender como funciona esta aplicacion llamada
MuStartUp o MUServerStartUP
Para entrar en tema, si deberiamos clasificar a este programa, yo diría que es "lanzador" es decir tiene el funcionamiento similar al de luncher , que ejecuta un main.exe dandole parámetros de inicio.



El MUServerStartUP no es el único lanzador de .exes con configuraciones de parámetros que existe. Hay otros programas pero hoy vamos a trabajar con este programa.
Como bien expliqué recien, el MUServerStartUP no es más que un lanzador que generalmente nosotros lo usamos para iniciar nuestro server de forma automática o semi-automática (La automaticidad dependerá de nuestra versión de MuOnline)
1)Veamos una imagen de como está compuesto este programa:

Archivos correspondientes al programa muserverstartup

2)Veamos ahora que función cumple cada archivo
  • Start up.exe => es la aplicación de ejecución, es el archivo que dará inicio a este programa

  • MuServerStartup.txt => es un registro de acontecimiento que se modifica por cada inicio

  • StartUp.ini => es el archivo más importante, porque en este archivo se establece la configuración , puertos , rutas y parámetros que nosotros querramos darle, por lo tanto vamos a revisar cuidadosamente este archivo y veamos como funciona y de esta forma aprenderemos a configurarlo>/li>
    La siguiente imagen es un screenshot del archivo StartUp.ini veamos que significa cada linea:

    Explicación del archivo startup ini

    3)Parece complicado entender este archivo, pero sólo lo parece; realmente es simple, mucho de lo que tenemos ahí no debemos modificar (salvo que sus files no contengan este sistema de inicio, en ese caso pueden copiar alguno y modificarlo o si se sienten capaces escribir todo el código a mano)
    Veamos que es cada linea
    La primera parte llamada
    [Captions]
    es simplemente el nombre que aparece cuando iniciamos el MUServerStartUP.exe , cambiar esto no influye en nada , podemos ponerle el nombre que nosotros querramos, simplemente que por estética (Prolijidad de código) se pone el nombre al archivo que se esta iniciando. Veamos un ejemplo rápido y simple:

    Modificando el parámetro captions

    4)Como verán, simplemente cambie el nombre y no influye en nada , pero como dije anteriormente lo bueno es conservar el nombre real del archivo que se está ejecutando, en este caso el nombre sería: "connect".
    Si observamos en alguna imagen veremos que delante de cada linea se puede visualizar algo asi:
    v0v=
    que irá aumentando el numero de acuerdo a la linea, por ejemplo así:
    v0v=Connect
    v1v=Exdb
    v2v=DataServer
    v3v=DataServer2
    v4v=Event
    v5v=Ranking
    v6v=JoinServer
    v7v=Chat
    En este caso el v0v= identifica al Connect.

    5)Veamos ahora el próximo bloque, el llamado
    [paths]
    aca parece que se vuelve a repetir el código anterior pero en realidad esta configuracion llamada [paths] se encarga de buscar la carpeta en donde se encuentra el archivo (presten atención , dije que busca la carpeta en donde se encuentra el archivo .exe)
    Por eso si al iniciar el MUServerStartUP.exe en algun momento determinado se queda trabado un posible indicador del problema sea que la ruta de búsqueda no es correcta.
    Veamos la siguiente imagen para comprender mejor:

    Carpeta patch

    6) El siguiente bloque corresponde a
    [exenames]
    Sin duda se está refiriendo a la búsqueda de los archivos .exe , es decir , en el bloque anterior ubicabamos las CARPERTAS en donde se encontraban los archivos a ejecutar. Ahora debemos encontrar los archivos .exe que se van ejecutar. Algo muy importante, si tomamos como ejemplo nuevamente el connect, este no siempre tiene el mismo nombre , a veces se llama CS, a veces puede llamarse connectserver, por lo tanto el nombre de ser el mismo.
    Solo mostaré en la siguiente imagen un ejemplo de la linea
    v0v=Connect.exe


    7)El bloque
    [parametrs]
    Se utiliza para asignar los parámetros de inicio
    v0v=
    v1v=127.0.0.1
    v2v=55960
    v3v=55962
    v4v=
    v5v=
    v6v=/p55970 /ca127.0.0.1 /cp55557
    v7v=127.0.0.1
    Como veran aca no aparece el nombre que identifica a cada archivo , pero como dije anteroirmente los identificamos por el "v0v, v1v, v2v, etc" que representa a cada archivo que se irá configurando.
    Por ejemplo v0v= es el connect, v1v es Exdb, si quieren saber cual pertenece a cada archivo revisen el punto 4) de esta guía.

    8)El bloque llamado
    [waitintervals]
    hace referencia a los intervalos de inicio medidos en milisegundo entre que inicia una aplicación y su consecutiva.

    9)El bloque
    [needrestart]
    se configura sólo con "Yes" o "No" y hace referencia a si es o no necesario que el archivo que se ejecuto necesite un restart (reinicio), algunos servidores suelen tener está configuración activada en los dataserver.exe para evitar un chash.

    10)Y por último el bloque [main] hace referencia a lo siguiente:
    enableautorestart=1 (Habilita el restart o reinicio)
    restartinterval=20 (Intervalos de reinicio)
    ipadd=127.0.0.1 (Es la ip con el que inicia la aplicación MUServerStartUP puede ser numérica [127.0.0.1] o puede ser alfanúmerica [tuservermu.sytes.net] )
    Espero que este tutorial les sirva para comprender un poco más acerca del MUServerStartUP.exe , y que sepan que cuando están iniciando el server y vemos que una aplicación queda en "Runing" es que seguramente esta mal algunas de las rutas de el MUServerStartUP.ini, es decir revisen tanto la carpeta en donde la busca , como el nombre del .exe que intenta ejecutar.

    Si hay un error en algunas de esas dos rutas [carpeta o nombre del .exe], el MUServerStartUP.exe quedará tildado en el estado de "Runing"
    Recuerden que las lineas pertenecientes a [paths] indican en que carpeta se encuentra el archivo a ejecutar y las lineas pertenecientes a [exenames] corresponden al nombre de los archivo .exe que se va a ejecutar.
    Tanto las rutas como los nombres deben ser los mismos que tenemos en nuestro servidor MuOnline caso contrario no funcionará.

    Si ven que el nombre del .exe y la carpeta es correcta y el MuStartUp en una aplicación determinada se queda en "Running" sin pasar a "Ready", hagan lo siguiente, reinicen la PC, y luego restauren el .exe que no inicia por el .exe original de los files que hemos descargado.
  • Editar niveles de ingreso a los mapas

    Muchos de ustedes me preguntan: ¿Cómo hago para editar el nivel de ingreso a los mapas?
    Por ejemplo: ¿Cómo modifico que a arena en vez de entrar con un nivel 50 sea nivel 200?
    El archivo encargado de esto se llama MoveReq(Kor) y lo podemos encontrar la siguiente ruta:
    D:\Muserver\Data\Lang\Kor\MoveReq(Kor).txt



    Como lo indica su extención es un archivo de texto, el cual podemos abrir y editar sin ayuda de ningún programa extra.(También recuerden que yo estoy utilizando como unidad destino la D:\, tal vez ustedes tengan su servidor alojado en otra unidad, por ejemplo en la C:\)

    Archivo movereq kor

    2)Una vez que ya localizamos el archivo lo abrimos , mi archivo está bien detallado que es cada cosa y para sirve, pero talvez ustedes no tengan la misma suerte por eso veamos que es cada linea:
  • Primera columna [Nº] es una asignación consecutiva a cada mapa , pero no hace referencia al N° del mapa , sino es un secuenciador de enumeración.

  • Segunda columna [Nombre(Server)]: aca se pone el nombre que utiliza el server para reconocer el map que debe ser al mismo que vallamos a poner en el cliente, además evitamos confusiones.

  • Tercera columna: [Nombre(Cliente)]: es el nombre que debemos editar en el cliente y debe ser igual al que tenemos en el server , esta parte luego la veremos con más detalles en el cliente , por ahora trabajaremos sobre el server.

  • Cuarta columna [Zen] Es la cantidad de zen que quitará el server por cada move (movimiento) a los distintos mapas.

  • Quinta columna [Nivel] Llegamos a la que nos intereza en esta guia, es el nivel mínimo para realizar el move, digo nivel mínimo para que sepan que apartir del nivel indicado cualquier personaje puede ingresar a ese mapa.
    (También cabe destacar otro detalle: "La ecuación" es >= (en matemática significa y se lee mayor e igual) tal vez a ustedes mucho no les intereze estos pequeños detalles o ya lo saben, pero bueno como siempre digo es bueno aprender y como la matemática es mi especialidad aprovecho para explicarla,
    Esta explicación nos puede servir para configurar el reset de nuestro server, si lo hacemos autorecet mediante "Sql jobs" y ponemos como condición que el nivel del reset sea mayor a 400 (reset>400) su personaje jamás resetiará , porque su juego llega al nivel 400 , entonces ningun personaje podrá tener un nivel mayor a 400, tenemos dos soluciones (reset>399) o (reset=400)
    La matemática es una ciencia exacta la cual tiene 0% de margen de error, el error se produce cuando uno no la sabe usar)

  • Sexta columna [Gate] el significado de esto lo veremos en otro tutorial ya que si bien se relaciona no influye con los niveles de ingreso a los mapas.
    Retomando el objetivo de la guia, veamos la siguiente foto que determina el nivel mínimo de ingreso a cada mapa [Quinta columna (Nivel)]


  • Modificando nivel de ingreso

    3)Ya tenemos localizada la columna que debemos modificar, simplemente voy a editar el nivel mínimo de arena. Originalmente está como nivel mínimo 50 yo lo voy a editar para que el nivel mínimo sea 180.
    La edición es tan simple como borrar el número 50 y poner el número 180

    Modificando nivel de arena

    4)Parece algo simple ¿verdad?, aprovecho para aclarar otras cosas: En ese mismo archivo podemos modificar el zen requerido para realizar dicho movimiento y también el nombre del mapa, en caso que querramos modificar el zen , lo hacemos de igual forma que como modificamos el nivel y si quiren cambiar el nombre al mapa también. Pero atención: Recuerden los cambios que hicieron en ese archivo ya que esos mismos cambios los tendremos que hacer en el cliente.

    Si sólo modificamos los niveles en el server, cuando ingresemos al juego no se visualizarán, es decir si nos movemos con la M cuando apretemos dicha letra no veremos el cambio aunque va a funcionar, es decir, si ponemos en el server que para ir a arena el level minimo debe ser 180 y el cliente lo tenemos 50 solo nos vamos poder mover cuando seamos nivel 180.

    Lo malo de esto es que la gente de nuestro servidor se va a sentir confundida y no entenderá porque no puede ir a arena si en el cliente dice mínimo 50.
    Por eso les presento a una herramienta , se llama PentiumTools la cual utilizaremos para configurar los niveles de movimiento a los mapas en el cliente.
    Una vez que descomprimimos la carpeta que contiene el archivo , ejecutamos el PentiumTools.1.06.exe (Si al iniciar el programa nos arroja algun error es porque no tiene instalados los NetFramewoks en su sistema.
    Los NetFramewoks lo puedes descarga en esta web)
    Al abrir el programa verán una ventana como la siguiente:

    Ejecutando el pentiumtools

    5)Nuestro siguiente paso será hacer un clic en donde dice :
    Text Files (archivos de textos)
    y luego un click en donde dice
    MoveReq.bmd Editor (Editor bmd del archivo requirimientos de movimientos)
    Seleccionando la opción movereq bmd del programa

    6)En nuestra nueva ventana hacemos un click en
    File => Open bmd file (control+o)
    El archivo que necesitamos encontrar se llama movereq.bmd y esta es nuestro cliente, su ruta es la siguiente
    D:\ClienteMUOnline\Data\Local\movereq.bmd
    Aclaro que la ruta puede variar , ya sea por la unidad (C:\, D:\, E:\, F:\, etc) o por el nombre del cliente que ustedes tengan.
    Una vez que lo localizamos abrimos el archivo "movereq.bmd".
    Si hacen memoria veran que el archivo del cliente se llama igual al que tenemos en nuestro server eso nos indica la relación Server-Cliente, Cliente-Server [Solo cambia la extención .txt o .bmd]

    Abriendo el archivo movereq del cliente

    7)Al abrir el archivo movereq.bmd veremos una pantalla como la siguiente. Antes de ver la imagen quiero que presten mucha atencián a lo que voy hacer: La siguiente imagen, la voy a dividir en dos, una foto será el movereq.txt [Server] y la otra imagen será el movereq.bmd [Cliente], cuando miren esta foto van a entender TODO y van a decir " ahh ya entendí" y si no sucede eso, vuelvan a leer toda la guia desde el principio.

    Haciendo una comparación entre el move del server y del cliente

    8)En la foto anterior muestra por un lado el movereq.txt del server y por el otro lado el movereq.bmd del cliente, si observan bien la foto, verán que los datos son iguales es decir, el mismo nivel, el mismo zen, el mismo nombre del mapa, etc. Entonces si modificamos algo en el server, debemos hacer lo mismo en el cliente.
    Como recuerdan yo había puesto como nivel mínimo para ingresar a arena 180 , entonces debo hacer lo mismo en el cliente, para eso hacemos un clic sobre el nivel que querramos cambiar, en este caso , cambio el 50 por el 180 y guardamos los cambios.
    Para guardar los cambios vamos a
    FILE => Save as BMD File (Control+s)
    y en la nueva ventana debemos seleccionar el mismo archivo que abrimos , es decir , reemplazamos el original de nuestro cliente por el modificado recientemente.
    [Importante: sino estamos seguros de lo que hacemos antes de guardarlo hacemos un backup del original, sino quieren hacer un backup guarden el archivo con otro nombre en el escritorio, y luego lo renombramos en el cliente, eso queda a su criterio]

    Guardando los cambios en el archivo bmd

    Eso es todo , tal vez el tutorial parece algo largo , pero creo que lo vale , y esto les va a servir no sólo para editar el nivel de su server , sino tambien para personalizar aun más su juego.
    Si su server ya hace rato que esta en funcionamiento, no vuelvan a subir todo completo el cliente, sino compriman en .rar el archivo del cliente y lo suben como un parche.
    Más adelante veremos como hacer para obligar a todos sus jugadores a utilizar otro cliente que nosotros querramos.