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. Hello again! Plain and simple this time, it errors on me due to syntax on the line INSERT INTO `realmlist` VALUES ( NULL, ‘YOUR SECOND REALMD NAME’, ‘127.0.0.1’,’PORT’, 0, 2, 0, 0, 0 );

    In my case, that would be: INSERT INTO ‘realmlist’ VALUES (NULL, ‘SomeRealmName’, ‘MyHamachiIP’, ‘8086’, 0, 2, 0, 0, 0);

    I used my hamachi ip since I cannot port foward yet with this computer. Tried and tested on my first realm, and it works. Port 8086 since you said it doesn’t matter as long as it isn’t 8085. In addition I’ve tried every possible combination with adding or deleting ”s.

    1. Ah sorry about that one, actually i just updated this post several weeks ago to remove the images used on step 1 and 2 with a ready to copy paste command line although i didn’t test it first because i thought the column name were still same like before lol. And so this time i try to make it future proof (hopefully) :D

      Anyway, to fix it use the updated code instead (post already updated to reflect the change) :)

      Note: you might need to adjust few things at the database part because this guide was written back when i’m still releasing my own mangos repack :D

    2. More syntax errors. :/ Here’s what I typed:

      INSERT INTO realmlist (name, address, port, realmflags) VALUES (RealWoW TestRealm2, 127.0.0.1, 8086, 2);

      I’m using 127.0.0.1 now instead of hamachi, shouldn’t make any difference. I’ve also tried replacing the first name, addres, port etc, switching them, any combination with brackets and ”s and changing the last 2 in other values, assuming it stands for realmflag (in that case, changing it to 0 would mean it’d become a normal realm). None of them worked.

    3. If you typed it like that then you’re going to get syntax error because you need to enclose strings in quotes (as shown in the example code, although the port number is Integer not string but as long as people that is copy pasting the code change it to number at the port number part it’ll be parsed correctly as integer)

      (the previous error in your case was caused by difference in column number which is totally different that this)

      Btw actually you can simply copy paste the code (and replace the value that needs to be changed into the correct value), i replaced the images with code for that reason :)

    4. Seems like I did every possible combinaton with brackets and quotes, except for one. Nya, it errors on me again shortly after, when trying to import the database. He can’t find it.

      Also, out of curiosity, what do the -p, -p and -D mean in the commandline, and what is the difference between -u root and -uroot?

    5. Please note that when you typed:

      INSERT INTO realmlist (name, address, port, realmflags) VALUES (RealWoW TestRealm2, 127.0.0.1, 8086, 2);

      It is wrong. You need to use quotes like this:

      INSERT INTO realmlist (name, address, port, realmflags) VALUES ( 'RealWoW TestRealm2', '127.0.0.1', 8086, 2);

      Note: The reason i enclose the port number in quotes in the example code in this guide is because in case someone copy paste the example code directly and replace only the value (without changing / deleting the quotes) it’ll still work. Read my previous explanation about the integer part

      Also:

      Seems like I did every possible combinaton with brackets and quotes, except for one. Nya, it errors on me again shortly after, when trying to import the database. He can’t find it.

      That new error you received about file not found is completely different error than your previous error (the above error). The first error is due to column number different (which is only 1 column difference only after i checked it out, obviously there would be changes since i wrote this post back in 2007 lol), and the second error is because you didn’t use quotes to wrap strings (the above error)

      To sum it up:

      1st error you received: Column count doesn’t match because there is change to the realmlist table
      2nd error: You didn’t use single quotes (based from code you posted)
      3rd error: You didn’t import the correct file because there’s no such filename

      The file can’t be found message is because you need to adjust it with your mangos sql filename (i did say that on my previous comments, and also in the guide) … AND … if it’s not located in the same directory you either have to change directory first or give full path to the sql file

      To make things easier, basically you just need to import your mangos database (the world database) sql file

      As for the command line, p = prompt for password, D = database, and there’s no different between the u usage … for the rest please check mysql documentation :)

      Also i’ve updated Step 3.2 in case someone reading my last mangos setup guide also read this guide and didn’t understand on what should be adjusted :)

  2. yo i have seen servers with like level cap of like lets say warstyle.org’s of 1000 i wanna know how i can change mine to let my toons get to 1000 or like 255 or whatever plz reply =P

  3. were must i go to crea i server for me i want to make dat go to lvl 200 and you get unlimite gold and you can get set gear you want but you must lvl i lone plz the one who tels me will be i GM

  4. I got this thing. Did everything like the guide said. I see my 4 realms (2 out and 2 local realms). But when I start the second server…it “crashes” in a minute and the other keeps running.

    Got no error log or conflict with the ports…so what can it be?

  5. Hy..it’s my first server, but I have a little problem,…..It’s stock at connected,…can someone help me with this…..???
    Tks….

  6. wen i make my ps will i be abll to go on wow with out internet and can i limit the amant off pips that go on ther ??

  7. hello, one little problem about 3.2 i have done everything in 3.1 and when i try to do 3.2 when i write: mysql -u root -p… and press enter then system shows me the system canot find file specified! plz help me.

  8. @kradnam

    if you copied the mangos database into mangos2 and 3, then the character info would stay the same.

    Since these are seperate databases, you can delete characters from 1 of them , and it won’t affect the others.

  9. and when i try to login to realmd 2 this text comes loggin in to relm 2 and then i come back to there i choose realm but the other realm works great

  10. i’ve done a new character database named characters2 and writed it in mangosd but when i start mangosd it didn’t find characters2 database. what to do?

  11. I have an interesting problem. I have the second realm up and running, and when I log into wow, I can choose either realm.. The problem is that when I log out of one realm, and it takes me back to the character list, and I click change realm, it just says retrieving realm list. It will not bring the list of realms back up until I completely exit wow, and log in again.

    Any ideas?

  12. @kradnam
    @reaper
    your welcome
    yea in the guide i didnt really see anything about that
    when i looked at it i would think for sure reaper would have that in there
    its like the most important part
    u might want to add that in reaper

  13. @Firane

    Woot thanks much, i have read 3 of 4 diff guides how to and not one mentions a 2nd characters database.. how the hell can that be left out … well thanks so much again now if i can find a guide on how to get a web account page goin i will be good

  14. @kradnam
    u need to make a new characters database
    so make a new DB called characters2
    then import the DB from the reaper folder and assign ur second realm in mangosd.conf to point to that second characters
    that way u can have 2 different character things to save too
    and do the same for ur 3rd db