Codigo Fuente Servidor Argentum Online.
Diagrama Arquitectura Aplicaciones AO-LIBRE
Wiki Desarrollo Argentum Online
Manual para entender el codigo de Argentum Online.
Logs publicos de nuestro Server
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
- http://argentumonline.org/logs-desarrollo.html
- http://argentumonline.org/logs-gms.html
- http://argentumonline.org/logs-errores.html
- http://argentumonline.org/logs-statistics.html
Montar Servidor:
Guia para montar mi propio servidor:.
Tips Montar para montar un server:
- 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
-
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
Comandos para la administración del servidor:
Guía de Comandos para la administración del servidor (en Reddit)
Archivos Definicion:
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)
FAQs:
Error - Librerias faltantes (missing .dll)
En la carpeta Librerias
estan todas las librerias necesarias para iniciar el server sin errores, copiar el contenido de la carpeta en c:/Windows
Error - Al abrir el proyecto en Visual Basic 6 no puede cargar todas las dependencias:
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'
Server.ini - Summary:
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.
Autoupdates:
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/
Revisar/Probar Pull Requests:
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
Como hacer un release?
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
Documentacion oficial Visual Basic 6
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.