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>";
}
?>
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");Y reemplazarlas por estas:
$file = fopen("C://muserver//data//$files" , "r");
$file = fopen("C://muserver//data//$files" , "w+") or die();
$filesizes = filesize("D://muserver//data//$files");Como podrĆ”n observar, lo Ćŗnico que hicimos es cambiar la ruta (Unidad), tanto de bĆŗsqueda como de guardado.
$file = fopen("D://muserver//data//$files" , "r");
$file = fopen("D://muserver//data//$files" , "w+") or die();
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
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!"
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");c)Cambiamos la ruta de guardado aca:
$file = fopen("C://muserver//scfdata//$files" , "r");
$file = fopen("C://muserver//scfdata//$files" , "w+") or die();
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.