Importante, no bajar el codigo con el boton Download as a ZIP de github por que lo descarga mal, muchos archivos por el encoding quedan corruptos.
Tenes que bajar el codigo con un cliente de git, con el cliente original de la linea de comandos seria:
git clone https://www.github.com/ao-libre/ao-server
Manual para entender el codigo de Argentum Online.
AO es un juego open-source y por ello abrimos nuestros logs del server al publico para que puedan ver que errores hay en el servidor y poder ayudar a repararlos
Guia para montar mi propio servidor:.
Hacer que el server.exe se ejecute al iniciar Windows poniendo un acceso directo en la carpeta:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
Desactivar Algoritmo de Nagle https://www.mantenimientobios.com/como-activar-y-desactivar-el-algoritmo-de-nagle-en-windows-10/
Utilizar la API ao-api-server
para hacer uso de envio de emails, backup de charfiles, accounts, logs en base de datos mysql, utilizar diferentes endpoints para consumir desde su sitio web:
https://github.com/ao-libre/ao-api-server
Instalar Autologon, es un programa que hace que Windows Server inicie sin necesidad de poner nuestros datos en el logon, basicamente inicia sesion por nosotros, util ya que a veces el server puede reiniciarse o apagarse sin motivo alguno (O si lo hay pero esa es otra historia) y con esto todo vuelve a estar disponible automaticamente https://docs.microsoft.com/en-us/sysinternals/downloads/autologon
Guía de Comandos para la administración del servidor (en Reddit)
ArmadurasFaccionarias.dat: En este archivo se especifican a que índice de objeto corresponden las diferentes armaduras faccionarias.
ArmadurasHerrero.dat: En este archivo se especifica el índice de las armaduras a la venta por el herrero.
ArmasHerrero.dat: En este archivo se especifica el índice de las armaduras a la venta por el herrero.
Balance.dat: En este archivo se encuentra la configuración del balance de las clases y los grupos.
BanIps.dat: En este archivo se registran las IP's bloqueadas por el servidor o un Game-Master.
Ciudades.dat: En este archivo se especifican las coordenadas de las ciudades del juego.
Head.dat: En este archivo se especifican la cantidad de cabezas que posee disponible cada raza en el juego.
Hechizos.dat: En este archivo se especifica toda la información de los hechizos disponibles en el juego.
Help.dat: En este archivo se especifican los mensajes de ayuda en el juego.
Invokar.dat: Este comando solo está disponible para los Game-Masters. En este archivo se especifican los NPC's disponibles para invocar.
Map.dat: En este archivo se especifica la ubicación de la carpeta Maps y la cantidad de mapas que se cargarán en el servidor.
Motd.ini: En este archivo se pueden escribir textos que apareceran a los usuarios al conectarse al servidor.
NPCs.dat: En este archivo se especifica toda la información de los NPC's o Non-Playing-Characters del juego.
NombresInvalidos.dat: En este archivo se especifican los nombres de personajes que no se pueden usar en el juego al crear uno.
ObjCarpintero.dat: En este archivo se especifican los objetos que pueden crearse con la habilidad de carpinteria.
Pretorianos.dat: En este archivo se especifica el índice de los NPC's que pertenecen al Clan Pretoriano.
apuestas.dat: En este archivo se registra la informacion de las jugadas del sistema de apuestas.
bkNPCs.dat: En este archivo se especifica la información de los NPC's cuando el servidor se inicia desde el BackUp. (Confirmar que esta informacion sea 100% correcta)
obj.dat: En este archivo se especifica toda la información de los objetos disponibles en el juego.
AreasStats.dat y Consultas.dat (que no estoy seguro de lo que es)
En la carpeta Librerias
estan todas las librerias necesarias para iniciar el server sin errores, copiar el contenido de la carpeta en c:/Windows
Este es un error comun que les suele pasar a varias personas, esto es debido que el EOL del archivo esta corrupto. Visual Basic 6 lee el .vbp en CLRF, hay varias formas de solucionarlo:
Opcion a: Con Notepad++ cambiar el EOL del archivo a CLRF
Opcion b:
Abrir un editor de texto y reemplazar todos los '\n'
por '\r\n'
Sumario explicando cada una de los valores utilizados en el archivo de configuracion Server.ini.
Summary explaining how to use each value in the configuration file Server.ini.
El programa al iniciar comparara la actual version del programa que se encuentra en server.ini
en el parámetro VersionTagRelease
con la ultima version que se encuentra en el Endpoint Github Releases. En caso de ser diferente, se ejecuta nuestro programa ao-autoupdate
para poder hacer el update.
Para mas información sobre este proceso:
Funcion para comparar versiones
Codigo fuente utilizado como base: http://www.gs-zone.org/temas/cliente-y-servidor-13-3-dx8-v1.95611/
En caso que se quiera probar un PULL REQUEST hay que estar en el branch master
y luego hacer un pull del Pull Request de la siguiente manera: git pull origin pull/135/head
donde 135 es el numero de Pull Request
Aqui se deja explicado como hacer un release para cualquiera de las aplicaciones de Argentum Online Libre https://github.com/ao-libre/ao-cliente/wiki/How-to-create-and-publish-Releases%3F
While the Visual Basic 6.0 IDE is no longer supported, Microsoft's goal is that Visual Basic 6.0 applications continue to run on supported Windows versions. The resources available from this page should help you as you maintain existing applications, and as you migrate your functionality to .NET.