Configurar servidor MuOnline remotamente

Hoy veremos la forma de editar nuestro servidor muonline de forma remota, de esta forma podremos personalizar el juego sin necesidad de ingresar a la pc servidora (Dependiendo la versión y los customs, luego lo veremos)
Los requisitos para hacer correr este script son un servidor web corriendo en la misma pc que tenemos nuestro servidor MuOnline.
En esta demostración estaremos usando xampp versión 1.7

1)Lo primero que haremos será copiar el siguiente código (Este script sería el editor de archivos para MuOnline) y lo guardamos en la carpeta "Htdocs" bajo nombre y extensión muonline.php

<?
$filedit['misc']['files'] = 'commonserver.cfg,EventManagement.dat,Monster.txt,MonsterSetBase.txt,Shop0.txt,Shop1.txt,Shop2.txt,Shop3.txt,Shop4.txt,Shop5.txt,Shop6.txt,Shop7.txt,Shop8.txt,Shop9.txt,Shop10.txt,Shop11.txt,Shop12.txt,Shop13.txt,Shop14.txt,Shop15.txt,Shop16.txt,eventitembag.txt,eventitembag1.txt,eventitembag2.txt,eventitembag3.txt,eventitembag4.txt,eventitembag5.txt,eventitembag6.txt,eventitembag7.txt,eventitembag8.txt,eventitembag9.txt,eventitembag10.txt,eventitembag11.txt,eventitembag12.txt,eventitembag13.txt,eventitembag14.txt,eventitembag15.txt,eventitembag16.txt,eventitembag17.txt,eventitembag18.txt,eventitembag19.txt,eventitembag20.txt,eventitembag21.txt,eventitembag22.txt,eventitembag23.txt,eventitembag24.txt,eventitembag25.txt,eventitembag26.txt,eventitembag27.txt,eventitembag28.txt,eventitembag29.txt,eventitembag30.txt,eventitembag31.txt,eventitembag32.txt,eventitembag33.txt,eventitembag34.txt,eventitembag35.txt';

$file = explode(",",$filedit['misc']['files']);
$i = 0;
$menu = "<form method='post' action=''><center><select name='files'>";
while (@$file[$i]) {
$menu .= "<option value=".$file[$i].">".$file[$i]."</option>";
$i++;
}
$menu .= "</select><input type='submit' id='doit' name='doit' value='Select'></form></center><br />";
echo "$menu";
//Show Selected File
if(isset($_POST['doit'])) {
$files = $_POST['files'];
$filesizes = filesize("C://muserver//data//$files");
$file = fopen("C://muserver//data//$files" , "r");
$fread = fread($file, $filesizes);
fclose($file);
echo "<form method='post' action=''>
<table align='center'>
<tr><td><textarea name='text' id='text' rows='30' cols='70'> $fread</textarea></td></tr>
<tr><td align='center'><input type='hidden' id='file' name='file' value='$files'><input type='submit' id='submit' name='submit' value='Update!'></td></tr></table></form>";
}
//Upgrade the selected file
if(isset($_POST['submit'])) {
$text = $_POST['text'];
$files = $_POST['file'];
$file = fopen("C://muserver//data//$files" , "w+") or die();
$fread = fwrite($file,$text);
fclose($file);
echo "<center>Archivo editado correctamente!</center>";
}
?>
Código php para instalar el editor muonline

2)Ahora lo que haremos, será configurar el script o código de acuerdo a la ruta de nuestro servidor.
Por ejemplo: supongamos que nuestro servidor muonline se aloja en la siguiente ruta:
"D:\Muserver"
Lo que debemos hacer es buscas estas lineas (Cuidado, no están las tres juntas, sino que la última se encuentra un poco más abajo del código)
$filesizes = filesize("C://muserver//data//$files");
$file = fopen("C://muserver//data//$files" , "r");
$file = fopen("C://muserver//data//$files" , "w+") or die();
Y reemplazarlas por estas:
$filesizes = filesize("D://muserver//data//$files");
$file = fopen("D://muserver//data//$files" , "r");
$file = fopen("D://muserver//data//$files" , "w+") or die();
Como podrán observar, lo único que hicimos es cambiar la ruta (Unidad), tanto de búsqueda como de guardado.

Modificando rutas de lecturas y guardado de datos

3)Ahora, lo que haremos será ingresar al script de la siguiente forma: [ip+muonline.php], en mi caso 127.0.0.1/muonline.php

Interfaz del editor

4)La intefaz es bastante sencilla y simple.
Seleccionamos el archivo de nuestro servidor MuOnline a editar, hacemos un clic en el boton "Select" y en pantalla podremos configurar el archivo a gusto.
Cuando finalizamos la edición hacemos un clic en el boton que dice "Update!"

Editando archivo shop

5)Si al hacer clic en el boton "Update!" nos aparece algun error, eso se debe a que la ruta para guardar el archivo no existe.
En ese caso deben revisar atentamente el punto número 2)

Como abrán podido observar, este script sólo edita los archivos del nuestro servidor muonline de la carpeta "Data"
¿Y si queremos editar otros archivos del servidor MuOnline?
En ese caso deberán "meter mano" en el código; ¿Cómo?
De la siguiente forma:
Supongamo que queremos editar el archivo "SCF_Warehouse.ini" el cual se encuentra en SCFDATA contenido en la carpeta Muserver dentro del disco C
Dicho de otra forma, la ruta sería la siguiente: C:\Muserver\SCFdata\SCF_Warehouse.ini" entonces las lineas a modificar son las siguientes:

a)Agregamos SCF_Warehouse.ini al final de nuestro array:
$filedit['misc']['files'] = 'commonserver.cfg,EventManagement.dat,Monster.txt,MonsterSetBase.txt,Shop0.txt,Shop1.txt,Shop2.txt,Shop3.txt,Shop4.txt,Shop5.txt,Shop6.txt,Shop7.txt,Shop8.txt,Shop9.txt,Shop10.txt,Shop11.txt,Shop12.txt,Shop13.txt,Shop14.txt,Shop15.txt,Shop16.txt,eventitembag.txt,eventitembag1.txt,eventitembag2.txt,eventitembag3.txt,eventitembag4.txt,eventitembag5.txt,eventitembag6.txt,eventitembag7.txt,eventitembag8.txt,eventitembag9.txt,eventitembag10.txt,eventitembag11.txt,eventitembag12.txt,eventitembag13.txt,eventitembag14.txt,eventitembag15.txt,eventitembag16.txt,eventitembag17.txt,eventitembag18.txt,eventitembag19.txt,eventitembag20.txt,eventitembag21.txt,eventitembag22.txt,eventitembag23.txt,eventitembag24.txt,eventitembag25.txt,eventitembag26.txt,eventitembag27.txt,eventitembag28.txt,eventitembag29.txt,eventitembag30.txt,eventitembag31.txt,eventitembag32.txt,eventitembag33.txt,eventitembag34.txt,eventitembag35.txt,SCF_Warehouse.ini';
b)Cambiamos las rutas de lectura aca:
$filesizes = filesize("C://muserver//scfdata//$files");
$file = fopen("C://muserver//scfdata//$files" , "r");
c)Cambiamos la ruta de guardado aca:
$file = fopen("C://muserver//scfdata//$files" , "w+") or die();
Editando archivos warehouse

No estaría de más nombrar que al hacer esto, ya no podríamos editar los archivos del servidor muonline de la carpeta data.
Lo mostrado anteriormente es tan sólo un ejemplo, lo ideal sería programar el script de modo tal que podamos editar todos los archivos de nuestro servidor MuOnline.

Tambien, a principio de este tutorial muonline describimos a este código como "Un editor de servidores MuOnline de forma remota"
Pero ¿Qué sucede?, como muchos de ustedes sabrán no basta sólo con editar los archivos sino que para que esto sufra efecto sobre nuestro servidor muonline debemos reiniciarlo.
Algunos files, poseen la opción de reiniciar o recargar las opciones ejecutando un comando con un personaje Admin es por eso que depende los customs de nuestro files.

Para finalizar algunas notas finales:
*Asi como ustedes pueden acceder desde otro sistema, desde otra pc o red, tambien lo podrá hacer cualquier tercero, tengan cuidado.
*Los créditos de este código para configurar nuestro servidor muonline de forma remota le corresponde a su autor
*Las modificaciones que nosotros hemos realizado fueron de traducción.
MuOlnine_Remoto.txt [2 KB]

¿Necesitas ayuda? Visita www.iceventas.com y nosotros lo hacemos por ti.

Se han publicado un total de 2 comentarios en Mu Online Tutoriales :

19 de mayo de 2015, 1:39

muy buen tuto solo tengo 1 problema nada grave, cuando le doy actualizar le agrega 1 espacio al documento al principio no importa si lo borro al darle update se agrega y si no lo borro se va acumulando y va rodando el texto espero me digan como acomodar este pequeño error.

19 de mayo de 2015, 16:33

julia maestre : No logre entenderte. ¿En que afecta el archivo la nueva linea?
Saludos

Publicar un comentario en la entrada