Jump to content

[Guide] Updating for Windows


Recommended Posts

  • 39 years later...
  • Replies 78
  • Created
  • Last Reply

Top Posters In This Topic

This is just a guide, and hopefully it will cover what you need!

However, it will vary from person to person.

I'm using:

-Windows (Vista, x64 and x32 (different pc's before comments on that))

-GIT GUI (not bash) : http://msysgit.googlecode.com/

-SQLyog (For playing with DB's) : http://www.webyog.com/en/downloads.php

-Visual C++ 2008 'Express Edition (x32 os) : http://www.microsoft.com/express/download/default.aspx

-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]

example:

required_6970_01_mangos_playercreateinfo

If:

required_[year]_[month]_[day]_[#]_mangos_[fix]

example:

[required_2008_12_22_17_mangos_item_template

then you have a "few" updates....

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.

*Appologies for Grammar/Spelling.

I'll correct what I notice, feel free to prompt me to notice something you have noticed.

Link to comment
Share on other sites

I'm getting this error when I do the Merge > Local Merge...

---------------------------
error
---------------------------
You are in the middle of a change.

File mangosd.vcproj is modified.

You should complete the current commit before starting a merge.  Doing so will help you abort a failed merge, should the need arise.

---------------------------
OK   
---------------------------

I haven't made any changes to this file. I even tried to delete the file and I get the same error.

Any ideas?

Link to comment
Share on other sites

As just mentioned, It might be nothing...

and you might carry on like nothings wrong...

But occassionally...

every now and then, there will be a problem because u couldnt be bothered to wait that little longer... even though you personally dont have to do anything except go make yourself a cuppa...

I said Rebuild to cover my ass...

Build if you like.

Link to comment
Share on other sites

As just mentioned, It might be nothing...

and you might carry on like nothings wrong...

But occassionally...

every now and then, there will be a problem because u couldnt be bothered to wait that little longer... even though you personally dont have to do anything except go make yourself a cuppa...

I said Rebuild to cover my ass...

Build if you like.

But if the "build" fails, it 'should' trow you a compile error..

And if thats the case THEN you can rebuild..

Link to comment
Share on other sites

Build to rebuild, doesnt take that much longer...

and sometimes the error produced, people wouldn't know that it was because of a build rather than rebuild...

so again, for purposes of this guide... which is for people that didn't know how to update and need the idiot way to do it...

id rather have the way that will be likerly to produce the least errors...

Link to comment
Share on other sites

the dates are for somewhat older revisions...

i think they started with revisions, then changed to dates...

and now were back to using revisions... =)

If your new to mangos, then theres a pretty good chance your never need to touch teh date versions

Thanks, this somewhat explains things... in an unsure kind of way. Unfortunately I am not new to mangos, trying to update from release 6354 and so at some point there is a sudden change:

06751_realmd_account.sql
06760_mangos_creature_template.sql
2008_10_18_01_characters_characters.sql
2008_10_18_02_mangos_spell_proc_event.sql
...
2008_12_15_01_mangos_arenas.sql
6939_01_mangos_quest_template.sql
...

So if I understood how to apply the old/new system I can't really say the same about the things in between.

Link to comment
Share on other sites

Is there any reason why you shouldnt use VS Express on x64?

I'm pretty sure the Express Edition doesnt compile the 64bit.

Thanks, this somewhat explains things... in an unsure kind of way. Unfortunately I am not new to mangos, trying to update from release 6354 and so at some point there is a sudden change:

06751_realmd_account.sql
06760_mangos_creature_template.sql
2008_10_18_01_characters_characters.sql
2008_10_18_02_mangos_spell_proc_event.sql
...
2008_12_15_01_mangos_arenas.sql
6939_01_mangos_quest_template.sql
...

So if I understood how to apply the old/new system I can't really say the same about the things in between.

Find out what database versions you have

character database: character_db_version

mangos database: db_version

find what the column header says, and then look for that sql file in the sql\\updates folder

then update all of the files after that... could take awhile...

if u havnt got many custom sections to ur mangos DB, then id drop it and start again...

as for characters, im guessing people wouldnt like u removing all their characters, so your need to apply all the updates for that

Link to comment
Share on other sites

  • 2 weeks later...

hi ... i have compiled the fles for windows as said in the other thread but now i have no idea how do i update ... i mean i understod from your explanation but ... when i go to my db_version it says "mangos default database" now should i go in the compiled folder and look for updates and put all the files that i find in the folders with 05, 06 etc and then all the other files ?

Link to comment
Share on other sites

hi ... i have compiled the fles for windows as said in the other thread but now i have no idea how do i update ... i mean i understod from your explanation but ... when i go to my db_version it says "mangos default database" now should i go in the compiled folder and look for updates and put all the files that i find in the folders with 05, 06 etc and then all the other files ?

when you look at the "db_version" table,

look at the column header, not the content.

says something like require_#_#....

(its the column header u need to look at not the content.

Link to comment
Share on other sites

when you look at the "db_version" table,

look at the column header, not the content.

says something like require_#_#....

(its the column header u need to look at not the content.

Ok when i open the db_version i get this message

"db_version doen't have a primary key.

updates to this table will be done using the folowing pseudo-statement"

and the i just have to press ok ....

but there is no header or something that would telll me the version or whatever other numbers.

Link to comment
Share on other sites

Hi.. have a problem. When I try to merge (with git) i always get this error:

You are in the middle of a change.

File libbz2.def is modified.

You should complete the current commit before starting a marge. Doing so will help you abort a failed merge, should the need arise.

I tried resetting branch and created an additional branch. And none of them helped me :/ What can you suggest to me?

**EDIT**

Never mind. I downloaded mangos from git://github.com/mangos/mangos.git . And now everything is OK.

Link to comment
Share on other sites

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