Novedades

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
  • Hola Invitado, 💸¡Gana dinero con GamerzHacking!💸 Estamos buscando creadores de contenido en Game Hacking y Piratería de Juegos. Haz clic AQUI para más información

[TUTORIAL] Crea tu servidor privado de MapleStory en español

c0de

Administrador
Desde
19 Abr 2020
Mensajes
309
share_fb.jpeg

Acerca del Juego​

MapleStory es un juego en línea de rol multijugador masivo (MMORPG, por sus siglas en inglés) desarrollado por la compañía surcoreana Nexon. El juego se lanzó originalmente en Corea del Sur en 2003, y desde entonces ha sido lanzado en varios países de todo el mundo. En MapleStory, los jugadores crean y personalizan sus propios personajes para explorar un mundo de fantasía lleno de monstruos, jefes y otros jugadores. El juego tiene un estilo de gráficos en 2D de desplazamiento lateral similar a los juegos de plataformas clásicos, y presenta una variedad de habilidades y magias que los jugadores pueden aprender y mejorar a medida que avanzan en el juego. Además de las misiones y la exploración, MapleStory también cuenta con sistemas de artesanía, comercio y socialización. Los jugadores pueden comerciar con otros jugadores, crear y mejorar equipos, unirse a gremios y hacer amigos en línea. En MapleStory, los jugadores también pueden crear y administrar sus propios servidores privados, lo que les permite personalizar el juego según sus propios deseos y permitir que otros jugadores se unan a ellos. Espero que esta información sea útil para ti. Si tienes alguna pregunta más específica sobre MapleStory, no dudes en hacerla.

Introducción​

Cosmic se lanzó como sucesor de HeavenMS el 21 de marzo de 2021. HeavenMS está archivado, es decir, no recibe más actualizaciones. El objetivo de este proyecto es continuar su desarrollo; principalmente mejorando la calidad del código y facilitando al máximo el acceso al desarrollo de PS. Este es un proyecto de código abierto. Cualquiera puede contribuir abriendo un pull request. Sólo se mantiene la parte del servidor. El cliente está directamente copiado de HeavenMS. Cuidado - Este emulador de servidor no está listo para producción. Puede ser útil para probar cosas localmente o para probar ideas, pero lanzar un nuevo servidor privado basado en esto y abrirlo al público sin saber lo que estás haciendo no es recomendable.

Github de los archivos -
Por favor, Acceder o Regístrate ¡Para ver el contenido de URLs!

Herramientas / descargas​

  • Java 17 SDK- Necesario para compilar y ejecutar código Java. Instalar manualmente o a través de IntelliJ dependiendo de cómo prefiera lanzar el servidor. No es necesario para el lanzamiento con Docker.
  • IntelliJ IDEA- Java IDE y su principal herramienta para trabajar con el código fuente. La edición comunitaria es suficiente.
  • MySQL Community Server 8- Base de datos de juegos.
  • MySQL Workbench 8- Cliente para interactuar con la base de datos. Existen otros clientes.
  • Docker Desktop(opcional) - Para lanzar el juego localmente con menos complicaciones.
  • Archivos de clientes y herramientas generales
    • Link:
      Por favor, Acceder o Regístrate ¡Para ver el contenido de URLs!
    • Se trata del propio Google Drive de Ponk, similar a cómo Ronan proporciona archivos para HeavenMS.

MapleStory cliente​

Nota importante sobre los clientes localhost: estos ejecutables son marcados por las herramientas antivirus como software potencialmente malicioso, debido a los métodos de ingeniería inversa aplicados a estos artefactos de software. Los que se muestran aquí se han utilizado durante años y no han causado ningún daño hasta ahora, por lo que se supone que son seguros.

Empezando​

El cliente localhost MapleStory debe estar instalado, así como el servidor que albergará el juego.

Instalando el cliente​

  1. Instale MapleStory con "MapleGlobal-v83-setup.exe" en la carpeta que elija (por ejemplo, "C:\Nexon\MapleStory") y siga sus instrucciones.
  2. Una vez hecho esto, borre estos archivos: "HShield" (carpeta), "ASPLnchr.exe", "MapleStory.exe" y "Patcher.exe".
  3. Extraiga en la carpeta del cliente el "HeavenMS-localhost-WINDOW.exe" (a partir de ahora denominado "localhost.exe") desde el enlace proporcionado.
  4. Sobrescriba los archivos WZ originales con los proporcionados en Google Drive: "CosmicWZ-v1-2021.05.10.zip"
    • Actualmente es idéntico a los últimos archivos HeavenMS WZ (excepto por el nombre del archivo): "commit397_wz-20210321T173600Z-001.zip"

Edición de destino de IP localhost​

Si no está utilizando "localhost" como la IP de destino en el archivo de configuración del servidor, necesitará HEX-EDIT localhost.exe para obtener su IP. Rastree todas las ubicaciones de IP buscando "Tipo: Cadena" "127.0.0.1" y aplicando los cambios donde corresponda.

Para editar hexadecimal, instale Neo Hex Editor desde "free-hex-editor-neo.exe" y siga sus instrucciones. Una vez hecho esto, abra localhost.exe para editar y sobrescribir los valores de IP en las 3 direcciones. Guarde los cambios y salga del editor.

(TODO: encontrar una alternativa adecuada a Neo Hex Editor)

Probando el servidor local​


Abra el cliente "localhost.exe". Si de alguna manera el programa no se abrió, y al verificar el registro del servidor, el servidor escuchó su ping y está usando Windows 8, 10 u 11, probablemente se trate de un problema de compatibilidad.

En algunos casos, ayuda hacer clic en el archivo exe varias veces (2 o 3 veces suele funcionar para mí en W10).

En ese caso, extraiga "lolwut.exe" de "lolwut-v0.01.rar" y colóquelo en la carpeta del cliente de MapleStory ("C:\Nexon\MapleStory"). La configuración de la propiedad "localhost.exe" debe ser la siguiente:

Nota: "lolwut.exe" actualmente no está disponible en Google Drive.
  • Ejecutar en modo de compatibilidad: Windows 7;
  • Modo de color reducido sin marcar;
  • resolución de 640 x 480;
  • Pantalla de desactivación sin marcar en configuraciones altas de DPI;
  • Ejecutar como administrador;
  • Abriendo "lolwut.exe", use el método de Fraysa.
Importante: si se le niega al cliente una conexión con el servidor del juego, puede deberse a problemas con el cortafuegos. Dirígete al final de este archivo para permitir esta conexión a través del firewall de la computadora. Alternativamente, se puede desactivar el firewall e intentar abrir el cliente nuevamente. También puede buscar en los registros del servidor (/logs/cosmic-log.log) si se han realizado intentos de conexión para facilitar la depuración.

Instalando el servidor​

  1. Configurar el proyecto
  2. Configurar la base de datos
  3. Lanzar el servidor
Si está utilizando Docker (inicio rápido):
  1. Configurar el proyecto
  2. Lanzar el servidor

Configurando el proyecto​

La forma más sencilla de configurar su proyecto es clonar el repositorio directamente en un nuevo proyecto de IntelliJ.
  1. Instalar IntelliJ
  2. Cree un nuevo "Proyecto desde Control de versiones..."
  3. Ingrese la URL de este repositorio de GitHub: "
    Por favor, Acceder o Regístrate ¡Para ver el contenido de URLs!
    "
  4. Haga clic en "Clonar". Ahora se creará un nuevo proyecto con todos los archivos del repositorio.

Configuración de la base de datos​

  1. Instale MySQL Server 8 y MySQL Workbench 8.
  2. Con Workbench, cree un nuevo usuario con el nombre de usuario "cosmic_server" y la contraseña "snailshell". Esta es la configuración predeterminada en Cosmic.
    • (Opcional) Restrinja los privilegios de esquema para este nuevo usuario para mejorar la seguridad. Agregue una nueva entrada con "Patrón de coincidencia de esquemas: cósmico" y solo seleccione "SELECCIONAR", "INSERTAR", "ACTUALIZAR", "ELIMINAR" en "Derechos de objeto"
  3. Ejecute los scripts sql en el directorio "database/sql" del proyecto en el orden indicado por sus nombres.
    • Asegúrese de estar conectado a la base de datos con el usuario "raíz" para poder ejecutar los scripts.
    • Ejecute los scripts uno por uno a través del menú: "Archivo" -> "Ejecutar script SQL" -> seleccione el archivo de script para ejecutar -> "Ejecutar"
    • El tercer script "3-db_shopupdate" es opcional. Agrega artículos de tienda personalizados para ciertos NPC.
    • El cuarto script "4-db_admin" también es opcional, pero se recomienda si es nuevo. Agrega una cuenta de administrador para simplificar la configuración.
Utilice esta información cuando se conecte a MySQL Server por primera vez:
  • Host del servidor: host local
  • Puerto: 3306
  • Nombre de usuario: raíz
  • Contraseña:
Al final de la ejecución de estos scripts sql, debería haber instalado un esquema de base de datos llamado "cósmico". REGISTRE SU PRIMERA CUENTA para usar en el juego creando manualmente una entrada en la tabla "cuentas" en la base de datos con un nombre de usuario y contraseña.

Ejecutando el servidor​

Configure la IP que desea usar para su servidor MapleStory en el archivo "config.yaml", o configúrelo como "localhost" si desea ejecutarlo solo en su máquina. Alternativamente, puede usar la IP proporcionada por Hamachi para usar en una red de Hamachi, o puede usar un método de reenvío de puertos que no sea de Hamachi. Ninguno de los dos será abordado aquí.

Para iniciar el servidor, puede:
  • Lanzar dentro de IntelliJ
  • Lanzar un archivo jar construido
  • Lanzar con Docker

Ejecutar dentro de IntelliJ​

  1. Abra el archivo src/main/java/net/server/Server.java.
  2. Haga clic en la flecha verde a la izquierda de la definición de clase "servidor de clase pública" y luego en "Ejecutar Cosmic".
    • Alternativamente (recomendado), cree una nueva Configuración que apunte a "net.server.Server".
  3. El servidor se inicia en una ventana de terminal dentro de IntelliJ.

Ejecutar desde un archivo jar​

  1. Crear el archivo jar
    • El archivo jar lo crea el complemento de ensamblado de Maven en el ciclo de vida del paquete.
    • Si ya tiene instalado Maven, simplemente ejecute el comando "mvn clean install" para crear el archivo jar.
    • IntelliJ también viene con soporte Maven incorporado. Abra una nueva ventana de terminal dentro de IntelliJ, escriba "mvn clean install" (su comando ahora debe estar marcado en verde), luego presione Ctrl+Enter para crear el archivo jar.
  2. Inicie el archivo jar
    • Haga doble clic en "launch.bat" (es necesario tener instalado Java 17)

Ejecutar como contenedores con Docker​

  1. Iniciar ventana acoplable
  2. Ejecute el comando "docker compose up" en la raíz del proyecto.
    • Si realiza algún cambio en el código, asegúrese de agregar la opción "--build" al final del comando para forzar la reconstrucción de la imagen del servidor.

Entrar en el juego​

Si ejecutó el script sql de administrador, ya existe una cuenta en la base de datos con un carácter de administrador (nivel 6 de GM).

Inicie sesión con estas credenciales:
  • Nombre de usuario: "administrador"
  • Contraseña: "administrador"
  • Pin: "0000"
  • Imagen: "000000"
Los personajes de administración tienen el modo "ocultar" habilitado de forma predeterminada. Esto significa que tu personaje será translúcido en tu pantalla y completamente invisible para los demás. También evitará que controles mobs (haciéndolos quedarse quietos). Para activar y desactivar este modo, escribe "@hide" en el chat del juego.

De forma predeterminada, la fuente del servidor está configurada para permitir el REGISTRO AUTOMÁTICO. Esto significa que, simplemente escribiendo un "ID de inicio de sesión" y una "Contraseña", puede crear una nueva cuenta.

Después de crear un personaje, experimente escribiendo "@commands" en todos los chats. Esto mostrará todos los comandos disponibles para el nivel actual de GM que tiene tu personaje.

Para cambiar el nivel de GM de un personaje, asegúrate de que ese personaje no haya iniciado sesión, luego:
  1. Abra el banco de trabajo de MySQL;
  2. Ampliar esquema "cósmico";
  3. Expanda "Tablas";
  4. Haga clic derecho en "caracteres" y haga clic en "Seleccionar filas"
  5. Encuentra tu personaje en Result Grid. Desplácese hacia la derecha y busque la columna "gm".
  6. Edite el valor de GM de su personaje y haga clic en "Aplicar", y luego en "Aplicar" nuevamente en la ventana que apareció, luego en "Finalizar".
    • 0 es con lo que comienzan los jugadores ordinarios y 6 es el valor de gm más alto. Los gms de mayor nivel tienen acceso a más comandos en el juego.
Creditos
P0nk
 
Atrás
Arriba