Jump to content
Corsol

MaNGOS Universal Installer

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

Edited by Corsol
Release update

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
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

Share this post


Link to post
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 :)

Edited by Foereaper

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Ok great thanks!

When i'm at good point i'll publish on my github repos the source so you (or other interested) can look at my work and do correction if needed :)

Share this post


Link to post
Share on other sites

A technical question for you Foereaper:

the lua_script (for zero server as example) where need to be placed to be used from server? On wiki installation i've not founded infos and, atm, i've never installed a mangos before Three...

Thanks

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

I didn't get any notification about that last message, I'm sorry. The Lua script folder is defined at the bottom of the world configuration file. This is a relative path to the world server binary

Share this post


Link to post
Share on other sites

If it helps to your cmake cause, you can do a lot with the app through a cmd output. This way you don't have to load any GUI to cmake the project, could even compile through cmd

Share this post


Link to post
Share on other sites

I forgot a thing...

did you looked at my project?

wath do you think about Swing or FX GUI?

I'm oriented to FX but i never developed it... have you any experience?

Thanks

Share this post


Link to post
Share on other sites

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

Edited by Corsol

Share this post


Link to post
Share on other sites

That's a very nice idea. I love it :-)

Pay only attention that Blizzard may be against too much "easiness" of doing things across Mangos. :)

Share this post


Link to post
Share on other sites
Pay only attention that Blizzard may be against too much "easiness" of doing things across Mangos. :)

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 :)

Share this post


Link to post
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! ;)

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Contact Us

To contact us click here
You can also email us at [email protected]

Privacy Policy | Terms & Conditions

Repositories

The Link to the master list
of MaNGOS repositories:
Copyright © getMaNGOS. All rights Reserved.

This website is in no way associated with or endorsed by Blizzard Entertainment®
×
×
  • Create New...