Jump to content
  • We are looking for staff for the Wiki area!
    If interested please
    click here and select "Documentation Team"

  • Installing Mangos on Windows (using EasyBuild)


    antz

    Installing Mangos on Windows

    There are multiple ways of installing MaNGOS, this method will be using EasyBuild (a MaNGOS written tool) to simplify the process.

    1) Although there are several pieces of third party software that are required to be installed, only two need to be installed prior to running Easybuild.

    Git (See HERE for the Install Guide) and
    Visual Studio (See HERE got the Install Guide)

    Both need to be installed before continuing. If you don't have them installed... go do that now !!

    The rest of the third party software required for MaNGOS are:

    Cmake (See HERE for the Install Guide). Only 32 or 64 Bit can be installed, not both.
    OpenSSL (See HERE for the Install guide). Both 32Bit and 64Bit can be installed together. You need the full rather than the lightweight version.
    MySQL (See HERE for the Install guide). Only 32 or 64 Bit can be installed, not both.

    2) create a folder to hold all the source files i.e. Mangos_Files

    3) Select the folder created above in explorer and right click on it, then select 'Git Bash here'

    4) Clone the MaNGOS server and database GitHub repositories into folders in this folder (See HERE for a guide for cloning the repos)

    5) Using explorer navigate to the server folder created above.

    6) Navigate into the Win folder and double-click EasyBuild(If building MaNGOS three, run 'Patch_Easybuild_Mangos3' as the administrator before running EasyBuild).

    7) Click CHECK NOW and let EasyBuild check for the MaNGOS dependencies. If your missing one, download and install it.

    😎 Once MaNGOS finds everything it needs to build, click BUILD OPTIONS. If you want to change anything such as whether to build the extractions tools or not. The defaults are fine so we click on BUILD PROJECT. This will take a while so be patient.

    16) Extract the client data using extractresources.sh (See HERE to a guide to extracting the client data)

    17) Now it's time to set up the database.

    18) Select the folder created above in step 2 and then select dbzero(for MangosZero).

    19) Double-click on InstallDatabases.bat

    20) The initial settings as defaulted for the typical settings required for a new server setup but you might not want to create a new user right now so you press O then press N to continue.

    21) The next few prompts are ask you to supply some key information to connect to your MySQL server, the text in square brackets [] are the default values if nothing is typed.

          Some of the settings are:
          Server Name / Address
          Username
          Password
          Port
          Character Database Name
          World Database Name
          Realm Database Name

    22) The script will then proceed to populate all the databases and finish up looking like the following

    dbload.png

    23) At this point the database is now fully loaded.

    24) On the server where you copied the files earlier, rename the 4 .conf.dist files as .conf

    25) Now it's time to start configuring the server, first stop is adjusting the settings in the .conf files as described HERE

    26) Now we need to configure the Realm Database to use the correct IP addresses as described HERE

    27) Now the moment of truth...

    28) Double click realmd.exe from the server folder, you should see a screen like:

    realmd.png

    29) Double click mangosd.exe from the server folder, you should see lots of messages like:

    mangosd.png

    30) You now need to create an account to allow you to login to your server from the client:

    Type:

    ACCOUNT CREATE username password expansion

    (Where expansion is one of the following: 0 = Classic, 1 = TBC, 2 = WOTLK, 3 = Cataclysm, 4 = MOP, 5 = WOD, 6 = Legion)
    - This is also the max allowed expansion this account can use!

    31) and now for the the final step.....

    32) One of the client files (realmlist.wtf) will need to be adjusted to point to your server, a description of how to do this is HERE

    33) Start the your client(wow.exe),do NOT use the launcher, enter the account information created above and enjoy.

     

    Edited by onixiya
    Easybuild supports building with itself and also a grammer cleanup.



    User Feedback

    Recommended Comments

    I had huge trouble getting started at first. The EasyBuild and even the CMake of Visual Studio 2017 weren't able to build my solution, i got always the error that my C and CXX Compiler are not found. 

    Exact messages:
     

    The C compiler identification is unknown 
    The CXX compiler identification is unknown 
    CMake Error at CMakeLists.txt:35 (project): No CMAKE_C_COMPILER could be found. 
    CMake Error at CMakeLists.txt:35 (project): No CMAKE_CXX_COMPILER could be found. 

    If you're running into the same problems and you aren't a highly expierenced C++/.NET developer here is the solution.

    When you're installing Visual Studio 2017 Community on a new system you need to install the desktopdevelopment kit c++ with it. Especially the Windows SDK needs to be installed right (you can do that within the install-wizard of visual studio).
    After doing that the error disappears and you can build your solution!

    I was missing that all the time and i spent 6 hours to figure that out.. Might be basic stuff for the most of you guys, but i just wanted to share my exp so far :-)


    So hopefully that little tip is helpful for future developer

     

    Share this comment


    Link to comment
    Share on other sites

    For ServerTwo there is currently a problem with creating databases (step 22). The dbTwo\Tools directory appeared to contain outdated mysql.exe and mysqldump.exe. To proceed I had to replace these with actual files from my \MySQL\MySQL Server 8.0\bin

    Share this comment


    Link to comment
    Share on other sites

    anybody know how to fix this problem?

    ERROR 1251 (08004): Client does not support authentication protocol requested by server; consider upgrading MySQL client


    Share this comment


    Link to comment
    Share on other sites

    I already ran into this problem myself, Xx. It turns out that during the install process, there is an option for legacy authentication. You have to enable that option or this is the end result.

    Share this comment


    Link to comment
    Share on other sites

    When I try to do step 21/22 I get the error 1045 (2800): access denied for user (using password: YES) how do I fix this?

    Edited by Warlord_Sdocy
    Added question mark

    Share this comment


    Link to comment
    Share on other sites

    I'm having a problem with the very end of the EasyBuild portion. Everything has been installed, and EasyBuild actually seems to build properly in that there are no error messages in the log when it builds. However, the resulting folder (serverZero_install in this case) is totally empty, and the next step with configuring the database then fails as it doesn't find the things it needs to, I think. I get the errors "unknown database mangos0"

    Edited by brothir

    Share this comment


    Link to comment
    Share on other sites

    Search for mangosd.exe Whatever folder that's in, it should be where everything else is. Also, for the database error, it seems like mangos0 isn't there. Try looking for it in something like heidisql

    Share this comment


    Link to comment
    Share on other sites
    9 hours ago, Natrist said:

    Have you checked your configuration to make sure you are looking in the direct directory?

     

    9 hours ago, onixiya said:

    Search for mangosd.exe Whatever folder that's in, it should be where everything else is. Also, for the database error, it seems like mangos0 isn't there. Try looking for it in something like heidisql

     

    Like I said, the output folder is empty so the project never actually gets built. Anyway, I found the error message that happens in EasyBuild:

     

     1408340444_mangoserror.png.9ff1560df99dea467d624d47af385119.png

    Share this comment


    Link to comment
    Share on other sites
    48 minutes ago, onixiya said:

    You might need to manually compile it. You know how to do that?

    Not necessary. After staring at the error message and thinking how it doesn't make sense, I suddenly realized that there was a space in the top level folder. the name was "Mangos Base", and the error message for the Switch is "Base/(...)". Removing the space fixed that.

    Share this comment


    Link to comment
    Share on other sites

    The error message you’re getting means you have no schema named mangos0.

    Are you sure you created your database schemas properly?

    Share this comment


    Link to comment
    Share on other sites
    19 minutes ago, Natrist said:

    The error message you’re getting means you have no schema named mangos0.

    Are you sure you created your database schemas properly?

    Which step does this correspond to?

    Share this comment


    Link to comment
    Share on other sites
    5 minutes ago, Natrist said:

    Run InstallDatabases.bat and follow the instructions on the screen.

    But that is what I am doing. That is what gets me the error message that mangos0 does not exist.

    Share this comment


    Link to comment
    Share on other sites

    So eventually I got it working. What you need to do if you're following this install guide is to find any of the xxxCreateDB.sql inside the Character, Realm or World folder and run them. It didn't seem to matter which one, I tried all three but the remaining two ones seemed to refuse to run because a DB had already been created.

     

    It seems like this guide and the one on Github have diverged seriously. I would recommend updating this page to simply refer to that one or replace what is here with what is there, because updates seem to have broken this guide.

    Share this comment


    Link to comment
    Share on other sites

    Cmangos is nothing to do with mangos. They are a fork of mangos from about 6 years ago.

    We have made extensive changes since then. The hides in the wiki are the definitive source.

    Share this comment


    Link to comment
    Share on other sites

    It seems a good note by another was to select the desktop development with c++ noting MFC and such.

    After my Visual Studio comments and previous issues, I was stuck again, or found no worth to having the IDE yet, and eventually solved it by only building the project files through easy build.  IF you do go outside that program, we found CMake GUI to better generate project files than Visual Studio's own CMake integration, otherwise we get precompiled header pch missing errors.

    With 2017 installed easy build utilizes that better.

    Then I fixed my OpenSSL really specific version issue where I commented on that page too.

    Share this comment


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

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