Creating 2 Realmd using WoW Mangos Private Server

Some people have requested a guide on how to create or link their WoW Private server realmd so their users can choose whatever realmd they want to login to (for example, the first realmd is the PVP World, while the second realmd is to those who prefer normal world) :) … and that’s why i decided to create this guide, and hopefully it’ll be not confusing (i tried my best to make it easy to understand but you judge it by yourself) :)

So here goes the guide :

Requirements:
1. Have lots of free memory / RAM left for best result (i’m using 3GB DDR2 Dual Channel RAM)
2. Mangos already worked and you can use it before trying to attempt this ;)

Note : Depending on which mangos revision you’re using the realmd column might be different (if you’re using my 4602 version then you can just use the same sql query as shown in this example)

Note 2: You just need to have 1 account to login to each realmd, but it’ll use different data inside each database used

Here are the steps :

1. First make a copy of your mangos (or your mangos directory), so in the end you’ll get two mangos directory, in this example i was using my own compiled version 4617 (my latest version which is available for download for everyone is 4602)

Mangos directory

2. Now you need to open the command prompt and then type

mysql -u root -p -D realmd

# UPDATED 29 November 2011
INSERT INTO realmlist ( name, address, port, realmflags ) VALUES ( 'MY SECOND REALMD NAME', 'IP ADDRESS OR HOSTNAME', 'PORT NUMBER', 2 );

# After finished with the above. Type below code so you can see the new realm ID which is going to be used later
SELECT id, name, port FROM realmlist;

Where:

  1. Realmd Name should be change to whatever you like and
  2. IP Address Should be changed to 127.0.0.1 if you run and going to access the second Mangos process on the same computer or change it to LAN IP Address / Public IP Address if the second mangos process running and going to be accessed on different computer
  3. Port should be changed to anything other than 8085 (default port used by mangos which is going to be used by the first instance) if you’re going to run it on the same computer
  4. and optionally change the server type

3. After finished with the above process, now of course you’ll need to create new Mangos Database for your second realmd, and to do this we need to create a new database and then import the Mangos-UDB.sql file (if you’re using my 4602 release) or adjust it as necessary if you’re using another release, see below image for the example:

3.1 Creating New Mangos Database

Create new mangos db

Type:

mysqladmin -u root -p create second-database-name

If you can’t see the command used on above image

3.2 Importing Mangos DB

Import mangos db

After finished creating new database for your second database, now you’ll need to import the fully working database from before into your newly created mangos database (if you’re using my 4602 release, the database name was called mangos-udb.sql and can be found in reaper-eazy-mangos folder)

Note: If you followed my guide on creating wow private server using mangos. In this step you need to import the UDB sql file into the second database (the database which is created at step 3.1) like what you did at the Installing UDB part on that guide, followed with applying all the updates :D … but of course it’ll be troublesome to redo everything, so to make things easier and faster, all you have to do is execute the command below

mysqldump -uroot -p --opt mangos > mangos.sql
mysql -uroot -p -D second-database-name < mangos.sql

4. Now you just need to go inside your second mangos directory which is created at step #1 and then open mangosd.conf inside that directory and search for this line :

RealmID = 1
and replace it with:
RealmID = X (where X is the ID you retrieved earlier on step 2)

and then search for :
GameType = 1
replace it with :
GameType = 0

and now search for :
WorldDatabaseInfo = "127.0.0.1;3306;mangos;mangos;mangos"
and replace it with :
WorldDatabaseInfo = "127.0.0.1;3306;root;your_mysql_root_password;second_mangos_database_name"

finally search for :
WorldServerPort = 8085
and replace it with :
WorldServerPort = 8086

The above step was done because the previous mangos user doesn’t have the privilege to touch that new database name so we need to use root that has global privilege (this is the most quickest and dirtiest way) :P

As a side note, it’d be better for you to create new username for your second database and grant privilege to it for better security (it’s not good to use root account) :)

5. Run the realmd.exe from any of your mangos directory (the first directory which was there before, or the new mangos directory which is created for this purpose), and then run mangosd.exe from the first directory and the second directory
So that result in three new process created … 1 realmd.exe, and 2 mangosd.exe from different directory

6. Now login with your previous username or create a new username and if you’ve done all of the above steps correctly you’ll see two realmd that you can use as shown on below image :

6.1 Realmd Selection Screen

Realmd selection screen

6.2 The first Database With all the characters from before (i think you’ve already seen all the characters used for the screenshot lol)

First wow realmd

6.3 The Second Realmd which is used for this guide

Second wow realmd

That’s it i hope you can understand the above explanation … and just like before, if i missed anything just let me know about it :)

Comment?

Note: Comment may not appear right away.

103 comments on “Creating 2 Realmd using WoW Mangos Private Server

  1. Hi there I have my server up and running all perfect but dont have any people ,animals or items also when I type something and click enter nothing appears can anyone please help?
    Many thanks..
    Dor.x

  2. You’re not making 2 realmds, you’re making 2 world servers or 2 instances of mangosd actually…might wanna get your wording right before publishing.

  3. I edit my items using SQLYog, go to your database (dbc), then under mangos, go to item_template and you can edit every item in the game there. You can also do much more than edit items, but also NPC’s, scripts, loot, and so on. After editing it you just save it in the window log, and save it into your data file from the SQLYlog program. Hope that made sense.

  4. what do u mean by setby username 1?
    do i need a differnt database if i where to get bc?
    will i need better mangos?
    can i link me the site to create mangos?

  5. # Malevo

    Ah .. try running the server instance config from the mysql shortcut in start menu if you want to set mysql to be included in your Env. path automatically :)

    # beaver

    Unfortunately it’s not possible for me to run internet based server because i’m still using slow connection (my upload speed 5 – 8 Kilobytes / second).. and that’s why i only open it for LAN connection only :(

    # njbs

    you mean Burning Crusade ? actually you can set TBC default into 1 by editing the account table in realmd (TBC Column)

    but if you’re using the mangosd command line to create new account (create username password), you’ll need to also type setbc username 1 :)

  6. hey reaper-x
    Once i make the sever, how do i make it have bc? Do i need to have another sever then the one you have provided?

  7. # Slacker6

    lol .. glad you found the solution by yourself :D

    # cman

    actually that nether drake is dependant on which database you’re using

    if you’re using my 4629 release and choose use the Unified Database, then you can use Nether Drake ;)

  8. How do i add the .reload3 and the .reload 147 id commands to my server?? because i got the 2.1.3 server and the new nether drake mounts dont work it makes my character fly but there is no drake?? what do i do to fix please help and email me at [email protected]

  9. Never mind man, I fix my problems before you do hehe. Thanks for the support though. When I have someone to tell this stuff to I fix it right away. ;).

    Slacker

  10. Hey reaper,

    If you check comments here I wanted to say my server is up and running beautifully and I love you for your time spent to work on this. But I have hit a problem when it comes to the second database. How does the long file stretch work when you replace the “mangos, mangos,manogs” deal?

  11. unfortunately i dont use navicat so i dont know where to execute it in navicat

    but if you’re interested on executing / importing that sql file via the command prompt, here are the step :

    Note : i assume you’ve set the mysql bin path into your environment variable path

    1. open command prompt
    2. change directory to where you put that sql file
    3. type :

    mysql -umangos -pmangos -D mangos

  12. Sorry for posting this here since its off topic, but this seems to be the only place peeps are helping me with this. So yeah, I created an SQL file for my item and I opened mysql through navicat. I just need to know where to execute the batch file or something.

  13. # Kek

    I’m really sorry but i haven’t got a chance to try ascent :( … i don’t know why but it seems that ascent only allow specific people to access their svn repositories (or at least that’s what i’m thinking)

    # Malevo

    It’s a sql file, but i haven’t actually tried using / importing the sql file from them directly :)

    # Question

    Actually as long as you run it on different ports, it should be fine :)

  14. Hi, I have two computer’s that can run wow servers(i am already have one up and running). my question is can i use both of those computers to run two wow server at once on the same router? And still be able to get a connection from outside the router. How different are these steps and can you explain how to do this. thank you