Important: Do not download the code using the "Download as ZIP" button on GitHub, as this can cause issues with file encoding and may corrupt some files.
To download the code correctly, use a Git client. The command to clone the repository from the command line is:
git clone https://www.github.com/ao-org/argentum-online-server
Create a new folder named C:\AO20
and navigate to it. Follow these steps:
Clone the repository git clone https://github.com/ao-org/argentum-online-server.git
Rename the file Example.Server.ini
to Server.ini
Rename the file Example.feature_toggle.ini
to feature_toggle.ini
Rename the file Empty_db.db
to Database.db
Clone Recursos
(https://github.com/ao-org/Recursos)
Open Visual Basic 6 as an administrator
Open the file Server.VBP
When introducing new functionality to the server, it should include the capability to be disabled. To achieve this, we implement the feature flags design pattern, which is configured within the file Example.feature_toggle.ini
.
In the following folders, you will find configuration files for events. When programming a new type of event, it must have its own configuration file. https://github.com/ao-org/Recursos/tree/master/Dat/Scenarios
To modify the schema of the database or make alterations to existing tables, it is essential to create a new SQL migration file within the ScriptsDB
directory. The project is configured to automatically detect and execute the required migration scripts. This process ensures that the database is systematically updated to reflect the latest schema changes without manual intervention. This approach not only maintains database integrity but also streamlines the update process, enabling seamless transitions between different database schema versions.
We have a pre-commit hook for the project, Visual Basic 6 IDE changes the names of the variables and it makes the Pull Requests very difficult to understand.
Please run the following commands with git bash
or the client you are using.
chmod +x .githooks/pre-commit
git config core.hooksPath .githooks
Basically the pre-commit hook runs when you make a git commit
and it will run the file git_ignore_case.sh
to avoid false changes in the Pull Request. Is not perfect but it helps a lot. Please send the Pull Requests with only the neccesary code to be reviewed.
In case you have problems setting locally your pre-commit hook you can run the file git_ignore_case.sh
by just doing double click.
There is a limitation when running and debugging the game within Visual Basic 6. Due to VB6's constraints, it cannot load more than 512 maps during debugging. As a result, maps such as Dungeon Dinosaurios (Map 577) will not function properly and it will throw overflow error
To integrate SQLite with ODBC on a 32-bit system, please download the appropriate driver from the following link:
To enhance the performance of your SQLite database, consider changing the journal mode to Write-Ahead Logging (WAL) by executing the following SQL command:
PRAGMA journal_mode=WAL;
Write-Ahead Logging can significantly improve the write performance and concurrency of your database. For more information on how WAL mode benefits your database operations, please visit the SQLite WAL documentation:
This mode enables most read operations to proceed without locking and allows updates to occur without interfering with reads, thus increasing the performance and scalability of your application when using SQLite.
Registrar manualmente libreria Aurora.Network.dll
Abrir CMD como Administrador regsvr32 Aurora.Network.dll
CryptoSys is used in Argentum Online to cipher sensitive data.
Please note this is not free software and you will have to buy your own license to use CryptoSys
Los logs están en la carpeta de Logs, Errores y en Windows Events.
A big thank you ❤️ to these amazing people for contributing to this project!