Tutorial Configurar Servidor BDO Online

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
Hola a todos,

Aquí encontrareis la guía de como poner el servidor en Línea

1- Database
Extrae tus archivos.


Este tutorial se basa en los archivos de la versión Open Desert Online Remastered, algunos archivos pueden ser diferentes, pero al final todo es la misma forma de configurar.
NeLh6P3.png



Comencemos con la carpeta llamada base de datos, la abrirás y dentro de ella tendrás este conjunto de otras carpetas y archivos:
No cabía en todos los archivos de la foto, pero es un ejemplo.

51YwXKZ.png



Elimina la carpeta "data" si existe y crea otra carpeta "data".

Si no existe, simplemente crea una.
Y aquí terminamos la configuración de la base de datos.

2- Loginserver
Primero que nada, abramos los puertos 8888 y 8889 en el firewall.

Abra su firewall y cree una nueva regla de entrada, seleccione la opción "puerto", luego seleccione "TCP" y luego ingrese el puerto. Puede ponerlo así: 8888-8889 Eso ya creará una regla de entrada para ambos puertos.

Ahora abra la carpeta "loginserver".
NeLh6P3.png




Dentro de la carpeta loginserver verá dos carpetas.

"BIN" y "LIB"

Abre la carpeta "BIN"
xBoc4Tz.png



Dentro de la carpeta "BIN" verá estos archivos.

Ahora, abra la carpeta "Configs"

abQTOjo.png


Abra la carpeta "configs" y dentro de ella verá un montón de archivos con la terminación ".properties". Tenga la calma, puede abrir estos archivos con cualquier editor de texto, desde el bloc de notas estándar hasta sublimetext y notepad ++.

1xwjThB.png



Pero solo te enfocarás en estos tres (ahora que estás comenzando, por supuesto)
qLz6S7L.png


Comencemos con el archivo llamado base de datos.

WYtHeju.png



Le recomiendo que cambie la contraseña de conexión de la base de datos y el inicio de sesión. Será un servidor en línea y todos los servidores tendrán un patrón de inicio de sesión como "admin" y una contraseña como "12345". Así que resulta que es fácil para alguien entrar en su base de datos y estropear su servidor.

Puede editar el archivo database.properties y buscará las líneas:

# La cuenta de la base de datos.
database.account = EJEMPLO

# La contraseña de la base de datos.
database.password = EXAMPLE321

# La dirección de host de la base de datos.
database.host = localhost
Ahora, vayamos al archivo "login.properties".

cuxF8Az.png


Coloque esta configuración en login.properties. Esta configuración es para que usted registre su cuenta automáticamente, básicamente ponga un nombre de usuario o correo electrónico en el lanzador, una contraseña y cuando haga clic en "reproducir" se registrará automáticamente en la base de datos.


# Registro automático de cuentas.
# Predeterminado: false ( Unicamente si tienes una pagina web CMS, dejándolo en True cada vez que alguien entre con una account y password, le creara la cuenta )
login.autoregistration.accounts = true

# Habilitar la autenticación por token desde la web.
# Predeterminado: true
login.server.token.auth.enabled = true

# Activar autenticación por campo de base de datos de correo electrónico.
# Predeterminado: false
login.server.auth.by.email = true
Ahora, vayamos al archivo "network.properties".

f3DTyqW.png


Seguirá la siguiente configuración a continuación.


# Host de conexión Rmi.
network.rmi.host = (Aquí pondrás el ipv4 de tu máquina virtual o de tu propia computadora.)

# Puerto de conexión Rmi.
network.rmi.port = 9000

# Host para el enlace del servidor.
# Valor predeterminado: 0.0.0.0
network.host = 0.0.0.0

# Puerto para el enlace del servidor. CADA SERVICIO TIENE SU PROPIO PUERTO
# Predeterminado: 8888
network.port = 8888
" network.rmi.host " Te lo explicaré, básicamente necesitas poner tu ipv4 aquí, ya que los reproductores se conectarán a él.

En cuanto al puerto 9000 no necesitas abrirlo. Pero como dije al principio, necesita abrir los puertos 8888 y 8889. Nunca abra el puerto 27017, es la ubicación de su base de datos, si tiene la intención de abrir un servidor en línea para que todos entren, nunca abra el puerto 27017, porque si lo abre, algunas personas como yo, se conectará a su puerto 27017 y colocaré mi cuenta como cuenta de administrador.

En relación también con la ip "0.0.0.0" no necesitas cambiar, ya que es una ip que redirige, por lo que automáticamente redirigirá la ip a tu ip.


Y aquí terminamos la configuración del servidor de inicio de sesión.

3- Gameserver
Regresemos a la raíz y abramos la carpeta del servidor de juegos.

NeLh6P3.png



Cuando abras la carpeta del servidor de juegos, verás de nuevo las carpetas "bin" y "lib".

xBoc4Tz.png



Al abrir la carpeta "bin", verá este grupo de archivos y carpetas. Pero, centrémonos en la carpeta "configs" nuevamente. Luego, abra la carpeta configs.
RoDU2ka.png


Al abrir la carpeta de configuración, verá muchos archivos ".properties", creo que verá unos 27 o 28. Nos centraremos en sólo cinco de ellos.
¿Cuáles son estos a continuación?

l1S15ZS.png



Volveremos a estar en el orden de la imagen. Abramos el archivo rate.properties. Puedes abrirlos con cualquier editor de texto.

7LySnFD.png



El archivo rate.properties es responsable de establecer la tasa de caída del artículo, la tasa de encantamiento y otros.

Daré una breve explicación, no muy detallada. Puedes editar las tasas de caída (las tasas de encantamiento son diferentes) a través de la configuración.
Ejemplo:

1% = 1000

10% = 10000

100% = 100000
Lamento no explicar mucho sobre la tasa de caída de artículos y otros. Lo explicaré mejor en otro tutorial.

Pasemos al siguiente archivo: network.properties.

f3DTyqW.png


Aquí, como ya abrió los puertos 8888 y 8889 como puertos TCP en el firewall, ahora podemos configurar y colocar IPV4, como hicimos en el servidor de inicio de sesión.

Siga el tutorial a continuación.


# Host de conexión Rmi.
network.rmi.host = (El IPV4 de su máquina virtual o su computadora personal.)

# Puerto de conexión Rmi.
network.rmi.port = 9000

# Host para el enlace del servidor.
# Valor predeterminado: 0.0.0.0
network.host = 0.0.0.0

# Puerto para el enlace del servidor. CADA SERVICIO TIENE SU PROPIO PUERTO
# Predeterminado: 8889
network.port = 8889
" network.rmi.host " Te lo explicaré, básicamente necesitas poner tu ipv4 aquí, ya que los reproductores se conectarán a él.

En cuanto al puerto 9000 no necesitas abrirlo. Pero como dije al principio, necesita abrir los puertos 8888 y 8889. Nunca abra el puerto 27017, es la ubicación de su base de datos, si tiene la intención de abrir un servidor en línea para que todos entren, nunca abra el puerto 27017, porque si lo abre, algunas personas como yo, se conectará a su puerto 27017 y colocaré mi cuenta como cuenta de administrador.

En relación también con la ip "0.0.0.0" no necesitas cambiar, ya que es una ip que redirige, por lo que automáticamente redirigirá la ip a tu ip.


Ahora vayamos al siguiente archivo.
poaM5mq.png


Aquí de nuevo colocarás tu IPV4


# IP de servidor externo para conexiones de clientes.
# Si localhost usa 127.0.0.1
# Si docker y localhost usan host.docker.internal
# Si es externo - use real ip
server.ip = (El IPV4 de su máquina virtual o su computadora personal).
Ahora configuremos el archivo debug.properties

4XhatKf.png


Aquí configuraremos para deshabilitar los logs del servidor, y evitar el uso de memoria alta y cpu alta, solo sigue las configuraciones a continuación y la explicación de lo que es cada una.


# Deshabilitar la generación de colecciones
# Predeterminado: false
debug.collections.spawn.disable = false

# Deshabilitar la carga de imágenes de regiones enormes (para ahorrar memoria durante las pruebas)
# Predeterminado: false
debug.region.dataload.disable = false

# Habilitar acciones de depuración
# Predeterminado: false
debug.actions.enable = false

# Habilita la depuración de AIScriptloader
# Predeterminado: false
debug.aiscriptloader.enable = false
" debug.collections.spawn.disable " si establece "true" en esta configuración, deshabilitará las colecciones de su servidor, esta es una forma de optimizar aún más el juego. Y se desactivará cualquier forma de recolección, por minería, recolección de árboles, etc.

" debug.region.dataload.disable " Esta configuración si pones "True" deshabilitará los paisajes de fondo al caminar por el mapa, cuando caminas, puedes ver paisajes muy profundos, consume un poco de RAM y CPU de tu servidor, pero, si pones "verdadero" estos paisajes pueden desaparecer.

" debug.actions.enable"Esta configuración, si la configuras en" true ", mostrará cada paso de cada jugador, cada acción que hace, con cada NPC que habla, y todo eso se mostrará en gameserver.bat, por lo que consumirá mucho, pero un mucho cpu y ram.

" debug.aiscriptloader.enable " Este se aplica igual que el anterior, la diferencia es que se aplica a monstruos y npcs.


Ahora vayamos al último archivo y no menos importante.

Eventos.propiedades
8Tn1fbm.png


Bueno, básicamente este archivo es un archivo de evento, aquí puedes configurar las recompensas diarias (solo activar y desactivar) y también las recompensas por el tiempo en línea (Sí, puedes poner perlas por el tiempo en línea y cualquier otro elemento) Seré muy breve , porque no es tan importante, pero tampoco es inútil.

Siga la configuración a continuación si desea obtener recompensas por el tiempo de inicio de sesión.


# Habilite el evento de recompensa automática.
# Valor predeterminado: true
events.auto.reward.enable = true

# Recompensa automática cada 30 min.
# Predeterminado: 30
events.auto.reward.time = 30

# Nombre del correo de recompensa automática.
events.auto.reward.mail.name = ¡Recompensa!

# Asunto del correo de recompensa automática.
events.auto.reward.mail.subject = Staff, u otro texto

# Mensaje de correo de recompensa automática.
events.auto.reward.mail.message = ¡Gracias por jugar!

# ItemId de recompensa automática; EnchantLevel; Count
events.auto.reward.items = 6; 0; 1000


Vayamos a las explicaciones.

" events.auto.reward.enable " Es básicamente si quieres activar esta recompensa por el tiempo registrado o no, "verdadero" en caso de que quieras dejarlo activado y "falso" en caso de que no quieras.

" events.auto.reward.time " Básicamente, aquí estableces la hora a la que llegará cada recompensa. 30 minutos es el valor predeterminado, por lo que cada 30 minutos en línea el jugador ganará esta recompensa.

" events.auto.reward.mail.name " Este es básicamente el nombre del correo electrónico que vendrá en la pestaña "B". Puedes cambiar el nombre del mensaje a lo que quieras.

" events.auto.reward.mail.subject " Aquí está el nombre del sujeto que envió el correo electrónico. Por ejemplo: Personal o administrador.

"events.auto.reward.mail.message "Aquí está el mensaje que va a enviar a través de este correo electrónico, gracias por juego o cualquier otra cosa.

" events.auto.reward.items "Aquí, básicamente, serán los objetos que se van a enviar.
El ejemplo de 6; 0; 1000 Funciona así:
6 es la perla (ID de la perla = 6)
0 es el nivel de encantamiento, no puedes enviar una perla en el PEN, cierto.
1000 es la cantidad de perlas que se enviarán.

4- Client

Ahora como ya lo saben, esto es el ultimo paso,
Entraran dentro de la carpeta de su cliente, antes de colocarlo en un sitio para que los demas jugadores puedan descargarlo,

Entraremos en el fichero service.ini, en las dos partes el primero ubicado en la raiz del cliente el segundo dentro de la carpeta bin64

Editaremos las lineas y pondremos la IPv4 del host/computadora , para que los jugadores puedan conectarse a su servidor.
Remplazaremos los 127.0.0.1

AUTHENTIC_DOMAIN=127.0.0.1
AUTHENTIC_PORT=8888
PATCH_URL= http://127.0.0.1/
isLoadBinaryStaticStatus=1
viewTradeMarketUrl=http://127.0.0.1:8885/
gameTradeMarketUrl=http://127.0.0.1:8885/
 
Arriba