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)


    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.

    9) If you look in the _install folder, all the require files you need on the server are there.

    10) The contents of the tools folder need to be copied to where the wow client is located ready for the extraction process (see below).

    11) Copy the remaining folder and files from this folder to your server folder

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

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

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

    15) Double-click on InstallDatabases.bat

    16) 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 P then press N to continue.

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

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

    dbload.png

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

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

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

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

    23) Now the moment of truth...

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

    image.png

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

    image.png

    26) 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!

    NOTE: for mangos Zero, omit the expansion parameter.

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

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

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

     


    User Feedback

    Recommended Comments

    Is it possible to have a full installation video, some informations seem to be a bit hard to understand for a total beginner like me ( for example, where to put the files at the right place when there's a lot  with the same name, or even how to know if we messed up at some step, etc ).

     

    Thanks a lot

    Link to comment
    Share on other sites

    There seems to be a new bug where spells and such cannot fire. Even auto-attacking is impossible. The cast bar goes to full and then the spell refuses to fire. When auto-attacking, you simply get endless messages that you aren't close enough. Doesn't seem like enemies can attack you either.

    Just did a clean install.

    Link to comment
    Share on other sites
    1 minute ago, brothir said:

    There seems to be a new bug where spells and such cannot fire. Even auto-attacking is impossible. The cast bar goes to full and then the spell refuses to fire. When auto-attacking, you simply get endless messages that you aren't close enough. Doesn't seem like enemies can attack you either.

    Just did a clean install.

    What core are you refering to?

    Link to comment
    Share on other sites

    I thought this would be the best place to chronicle some of the building woes I had and how to solve them, instead of on the "Installing Cmake" and "Installing Visual Studio 2015 (Community)" pages.  "Installing Mangos on Windows (Manually for Zero, One and Two)" was another idea, but this page seemed to be more visited, but also similar in process with simpler user flow, common tools, etc., so I'll just leave it here for now.

    It all started when I had a working process, but then decided to use latest CMake 3.20.  When I did this, at least through Easy Build, I had the following error:

    Quote

    CMake Error: Unknown argument --build
    CMake Error: Run `cmake --help` for all supported options.

    After that, I would continue the successive attempts by running the "cmake.cmd" file in the root of a server core's source code, I think generated by EasyBuild.  I then tried CMake 3.4 like I thought I had on my system from a while ago, but I must not have actually used it recently because it failed with:
     

    Quote

    CMake 3.8 or higher is required. You are running version 3.4.0

    Which is detailed in the "CMakeLists.txt" file as the minimum required.

    With that version I received the errors

    Quote

    -- The C compiler identification is unknown
    -- The CXX compiler identification is unknown

    I was trying to compile for the latest Visual studio VS2019, which could be a bit contradictory as I can explain later, but I thought to use a newer version of CMake.  Maybe I had actually used 3.18 before as I looked in another core's build directory that I had on my drive, but can't remember how I chose that version exactly.

    Now with that version I received this error:

    Quote

    CMake Error: The source directory ".../Mangos/Source/Two/server/--build" does not exist.
    Specify --help for usage, or press the help button on the CMake GUI.

    Very strange, as the parameters all looked correct to me.  It did work in the CMake GUI, but I wanted to see how it formed that CLI string.  It seemed that log pane included all the usual log messages except for the very first and last, the former which I was more curious about.

    The first error I found when actually generating file results was that it placed them in the same source directory, which is not typical.  I wanted to check why Easy Build seemed to generate the cmd file this way, but it started failing for whatever reason with this error:
     

    Quote

    ************** Exception Text ************** System.FormatException: Input string was not in a correct format.
    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)

    at System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
    at System.Convert.ToDecimal(String value)
    at MaNGOS_EasyBuild.FrmMain.BtnScanClick(Object sender, EventArgs e)

    My guess is how my PATH may have changed, but every time I installed a new CMake version, I made sure that options was disabled.  Going into Windows I confirmed I only had one entry there, for the default installation which was the 3.20 version currently.  This was with EasyBuild version 2.2.6.

    Without that to help compare, I continued.  Now from this point I modified the build path with a suffix of "_build".  Seemed straight forward, but then I ran into either of these errors:

    Quote

    CMake Error: The source directory ".../Mangos/Source/Two/server/--build" does not exist.
    Specify --help for usage, or press the help button on the CMake GUI.

    Quote

    CMake Error: The source directory ".../Mangos/Source/Two/server_build" does not exist.
    Specify --help for usage, or press the help button on the CMake GUI.

    I think I got the first error immediately, then I tried specifying the source directory with "-S" instead of it simply being positional, in order to get the second.

    After some frustrations and random attempts, possibly from looking at the "--help" doc and seeing the main/common argument descriptors, I found that if I substituted "--build" for "-B", it finally worked!  After seeing this, it may help the problem I found with CMake 3.20 as well, and if so, would require an update to the EB program too.

    I encountered these troubles once revisiting the project after several months, trying to help a user figure out why they were not getting any "_install" folder results.  I suspected some recent refactorings and user error concerning "USE_STORMLIB:BOOL=1" were being used incorrectly and were necessary, but that was less likely because in addition to trying CMake, maybe both automated and manual attempts with the GUI and not I am guessing, the user was also using EasyBuild where they said it similarly failed, although it is important to remember for later troubleshooting as it may be incorrectly mentioned in all or some details.

    I am still waiting for confirmation, but what I believe was the problem seems to be the user choosing the "ALL_BUILD.vcxproj" file to build, when really I think it should be the "MaNGOS.sln" file.  I actually tried to replicate their issue similarly, but when I started my VS2019 program, it found the entire solution anyway, built, and packaged all of the files correctly!

    So with all of that I thought I could also attach some sample log files to show how each large part of the process proceeded that I don't think you will already find enough detail here for, in case people want to link to and search through it for keywords, path and environment comparisons, etc.

    MaNGOS CMake Example.txt MaNGOS Build Example.txt

    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

×
×
  • 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