I'm using:
-Windows (Vista, x64 and x32 (different pc's before comments on that))
-GIT GUI (not bash) : [Only registered and activated users can see links. ]
-SQLyog (For playing with DB's) : [Only registered and activated users can see links. ]
-Visual C++ 2008 'Express Edition (x32 os) : [Only registered and activated users can see links. ]
-Visual Studio 2008 (NOT EXPRESS FOR x64 os)
First Stage "GIT":
Updating your GIT files using the GUI.
Navigate to your GIT folder, (where you downloaded the files to.)* [GIT]
Right click, "GIT GUI here"
Should open a window with a menu across the top and a few empty boxes.
Click (on the menu at the top):
Remote > Fetch From > origin
Wait for this to hopefully say "Success"
Then click the close box (not closing GIT, just the Fetch.)
Click (on the menu at the top):
Merge > Local Merge > master
Hopefully a success again. (close the Merge window)
*If you get any errors on the above, try "Reset" 'ing the branch.
Or creating an additional branch.
If your interested in what changes happened then go to:
Repository > Visualise Master's History.
This should give you an up to date version of the mangos files.
Close the GIT application windows =)
Second Stage "Re-Compiling":
Compiling your files.
Navigate to your download [GIT]win/mangosdVC90.sln
Open this with the appropriate compilier.
If you have already compiled once you shouldn't have to change debug to release.
However check to make sure it is set to Release rather than debug.
Top Menu: Build > Rebuild Solution
This can take a few minutes.
When this has hopefully finished, and that all where successful, your ready to continue.
The compiled files:
Navigate to : [GIT]bin/[Win32/64 folder]/
Copy all files that are:
.exe .dll .pdb
Leave:
.map .exp .lib
Paste these into your server folder.
(Copy and Replace hopefully.)
If you havn't updated for awhile from game version to a newer game version, re copy the [GIT] src/mangosd/mangosd.conf.dist.in [GIT] src/realmd/realmd.conf.dist.in
(2.4.3 to 3.0.3 maybe.)
Third Stage "Databases":
Updating your existing Databases.
Open SQLyog
Connect to the database server.
Starting with the Mangos Database:
Expand it, and expand the "Tables"
Look for: db_version
Right click, View Data.
The table on the right, should now have a column heading with something like:
required_[revision]_[#]_mangos_[last.fix]
To update:
Right click the Database, (Mangos database, not db_version table)
"Restore from SQL Dump"
The file to execute:
You need to navigate to your [GIT]sql/updates/ folder.
From this list, (sorted alphabetically)
Look for your current version: (hopefully you wont have to navigate through the sub folders.)
Starting with dates, (unless your existing database, is already managed by "Revision")
You need to execute each sql dump.
1 by 1. In Order.
If:
if one of the executes provides an error
close the SQL dump window, go back to the db_version table.
Refresh the data, and check the version you have.
Then return back to the dumps, and pick the next file.
Its possible you missed one, or repeated one to give the error.
Make sure that the SQL dumps are only [revision]_[#]_mangos_[fix]
(Notice "mangos", not characters or realmd).
I don't think they will apply anyway, but its just something to learn/pay attention to.
Now repeat this process for your Characters database
(Table: character_db_version)
Applying: [date, revision]_characters_[fix]
And repeat again for the Realmd database
(Tables: realm_db_version)
Applying: [date, revision]_realmd_[fix]
Once you have succcessfully executed all the .sql files after your revision, until there isn't anymore, then you have the latest version of mangos for maybe a couple of hours. =)
You can repeat these steps, from daily (or more) to weekly, to once in a lifetime.
The more you do it, hopefully the less bugs your have in the server.
#1 this is not a flame.
I find many tutorial like the compile scriptdev2 post on other thread say things like
Now open scriptdev2.conf and you will see line like this ScriptDev2DatabaseInfo = "127.0.0.1;3306;mangos;mangos;scriptdev2"
Now you need to change that line to ScriptDev2DatabaseInfo = "127.0.0.1;3306;root;mangos;scriptdev2"
Which is what drives so many noobish replies. It suggests that nobody is capable of having a brain moment of their own and understanding that string is five values as such.
IP address;
Port;
MySQL Loginname;
MySQL password;
MySQL databasename
When we persist in trying to service users below this basic knowledge level and bypass explaining these things then we do not help those capable of grasping these things to do so and we also do a disservice to the people incapable of grasping these technical terms (again not a flame and NO offense to anyone intended) by trying to "repack" things in the ridiculously oversimplified terms so they can lay bare their systems to hackers.
I constantly see supposedly helpful stuff like.. Oh your MySQL connection gives an error try turning off your firewall. NO try understanding what a firewall is and why you would NEVER turn it off.
To prove I am just try to be more helpful than scorn, most common error I've seen today on Mangos message forum readings WAS - several MySQL errors reported by users are caused by the CONF files having port 3308 instead of 3306 - change to 3306 and voila working again.
Thank you all for good project and brain moment sharing!
Bookmarks