Jump to content

MaNGOS Universal Installer


Corsol

Recommended Posts

Along last project guide line to have a more synched cores i had an idea to simplify installation process.

Now there are several wiki guide and scripts for windows installations (and some for unix but obsolete i think). My idea is to build a Java (OS indipendet) user interface with all options to download core from repos, build it and install database.

I've draw a schema of how it will appear:

img-150831144421-001.jpg

(Antz already told me that SD2 no longer has database installation because it has merged onto world database since last release).

The main goal is to have a .conf file in wich store information to be displayed onto GUI and easily managed.

I've to start that project from scratch, so if someone of you have ideas to add or improve or something other tell me!

Thanks.

UPDATES

I'm proud to announce the final release!

Instruction usages are simple:

- For fresh install simply do things inside tabs from first to last.

- For custom install or update use the desired tab.

Main usages are:

- Download with git command all repository (server, database, and LUA scripts) for every four MaNGOS cores.

- Install all three databases from scratch or just update one of its.

- Build and install source code (with CMAKE commands).

- Extract data from WoW client (Map, VMap and MMap).

All this features are available for both Windows and Linux systems!

Some screenshot to look on how it appear:

[ATTACH=CONFIG]264[/ATTACH][ATTACH=CONFIG]261[/ATTACH][ATTACH=CONFIG]262[/ATTACH][ATTACH=CONFIG]263[/ATTACH]

To use it, download the ready-to-use files from GitHub: GitHub - Corsol/MaNGOSUI: Mangos Universal Installler into a new folder and run .bat or .sh executable (you may need to edit thoose batch script to use proper java version if you have more than one installed).

Remember that need Java JRE 1.7 update 79 or greater (32 or 64 bit).

You can customize some configuration stored in config.property file.

If you would like to see or modify source code, you can find it in another reposity on GitHub: https://github.com/Corsol/MaNGOSUI-Dev - NetBeans project source code

Enjoy!

img-150831144421-001.jpg.560ab5d0c5028b6

Link to comment
Share on other sites

Neat, should add an option for Eluna too ;)

Yeah! You are right! I'll add too. :)

Something I would love to see at least is a feature to update your database and core automatically and have this as a seamless feature. Other than that I greatly welcome a unified way to install mangos regardless of the operating system it is installed on.

For core update is not a problem, i've an idea on how to do (with git revision number can be doable).

For database updates i think it's little more harder to do. I'll explain my problems idea: if you need to update only world database there isn't problem. Wipe and install it to have the update. But if you want to update character or realm first you have to backup data and then wipe, install new structure and finally restore it. In last two step can be something unwanted like deprecated table or table column no more used that will fail the restore process. So if database structure change from a version to a new one, save data and restore is quite impossible with a generic script.

To do this you need a SQL script dedicated for every database update who can manage structural changes. Is not doable into a generic installation procedure that didn't know every specific changes. (hope to be clear in my doubt explaination).

So if you plan to have a dedicated SQL script for every update that change the database structure, the installation procedure che be created. :)

Do you have a different idea on that problem? (probalby i don't know deeply the develpment strategy and my idea can be wrong).

In any case i'll think on a easy way to wipe and reinstall everything. :)

Regards

Corsol

Link to comment
Share on other sites

With the new database revision system, every single SQL update will increment the version in the database. You can then check the current database version, and apply any updates > the current version. The file name will also reflect the correct version the update contains :) The same DB structure version is also pushed to revision.h in the source

Also, keep in mind that SD2 is fully merged into the core. There is no longer any specific compile steps for SD2, it is built with the core :)

Link to comment
Share on other sites

Yes!

Atm i'm checking for Git, Mysql and CMake in this sequence.

My idea is to start from download from repository, install the databases and then build the server.

On linux system it's easy to check this three program. On windows is little harder. I've found a solution for git looking on "Git for Windows" application. For mysql i'll check inside the database folder into Tools for mysql.exe, and for Cmake i've not still tryed, but i think that will be similar to Git. :)

I think no more i needed...

The basic step for installation are: download, install database and compile the source. I've not thinked on maps extractor because is more complicated to manage, so it will be apart like now.

Suggestion? Different ideas?

Thanks.

Corsol

Link to comment
Share on other sites

Yes!

Atm i'm checking for Git, Mysql and CMake in this sequence.

My idea is to start from download from repository, install the databases and then build the server.

On linux system it's easy to check this three program. On windows is little harder. I've found a solution for git looking on "Git for Windows" application. For mysql i'll check inside the database folder into Tools for mysql.exe, and for Cmake i've not still tryed, but i think that will be similar to Git. :)

I think no more i needed...

The basic step for installation are: download, install database and compile the source. I've not thinked on maps extractor because is more complicated to manage, so it will be apart like now.

Suggestion? Different ideas?

Thanks.

Corsol

Depending on how you're making the application for windows, you can check against the registry to see if they already have whatever installed.

I actually started something similar but abandoned the project. If you need any help with it let me know, windows or linux.

Link to comment
Share on other sites

Finally a the alpha release is done.

Here you can find my project:https://github.com/Corsol/MaNGOSUI

Atm works only in console mode and i'm testing it on Windows and Linux. When all things will work i'll draw the GUI. :)

Git downloads and Database installations works fine. Cmake is giving me some noise on Install option... I'm fighting with it!

Stay tuned! ;)

Corsol

Link to comment
Share on other sites

  • 3 weeks later...

Finally i can say: The Alpha release can be used!

Now is there some volounteers that want to try my tool?

It's not 100% complete. I need to work on software install (git, cmake, mysql, etc..), credits and some other small things that will simplify usages, but for now you can use for:

- Download with git command all repository (serve, database, and LUA scripts) for every four MaNGOS cores.

- Install all tre databases from scratch or just update one of its.

- Build and install source code (with CMAKE commands).

- Extract data from WoW client (Map, VMap and MMap).

All this features are available for both Windows and Linux systems!

Some screenshot to look on how it appear:

MUI-download.JPG

MUI-maps.JPG

MUI-setup.JPG

To test it, just use "dist" folder of my main project from GitHub: https://github.com/Corsol/MaNGOSUI.

Run it with preconfigured script or change it to use the right Java version (1.7.79 or newer, 32 or 64 bit are the same.)

Let me know if something will not work as expected.

Thanks.

MUI-database.JPG

MUI-download.JPG.a2880cd78e7b22bd78ea212

MUI-maps.JPG.217b1405c6d387424700166ed61

MUI-setup.JPG.5fbb57f7af462240fbc46835dc

MUI-database.JPG.641d1b37e8ce160c51846c4

Link to comment
Share on other sites

An installer and/or setup and compile tool will not have an impact at all as long as no copyright content is released with the installer :)

In my code (that is public for everyone) i do not use anything blizzard related. It's all MaNGOS related, for download, setup database, compile etc... the only one border line part is Map, VMap and MMap extractions, but i use MaNGOS tools and i ask to user to specify where the WoW client is installed, but i don't touch it!

btw a Beta release will coming soon! ;)

Link to comment
Share on other sites

  • 2 weeks later...

I'm proud to announce the Beta release!

I't very very close to final release, just need tests!

The "dist" folder of my git repository https://github.com/Corsol/MaNGOSUI can be downloaded and used for test!

Remember that need Java JRE 1.7 update 79 or greater (32 or 64 bit).

Please tell me about errors or unexpected behaviour!

Instruction usages are simple:

- For fresh install simply do things inside tabs from first to last.

- For custom install or update use the desired tab.

Enjoy!

Link to comment
Share on other sites

  • 3 months later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use