Jump to content
  • 0

[Three]Broken Database/sever


GatekeeperCruelman

Question

Currently I'm working on wow server for LAN purposes only, but I'm having some problems with the amount of errors that it's showing and I want to know what I'm doing wrong or what I didn't do. The logs are attached if you want to see the errors. I've setup a working wrath of the lich king mangos server several months ago, besides a few bugs and errors it's no problem. With the cataclysm server it's to much stuff that's appears to be missing, see the log files. I'll describe what I did in what order:

[li]Compiling Mangos server[/li]

[li]Compiling Devscript2[/li]

[li]Setting up MySQL database[/li]

[li]Inserting the full database[/li]

[li]Inserted devscript database and updates[/li]

[li]Inserted database update for mangos[/li]

[li]Extracting dbc and maps[/li]

[li]Move all the files too the correct location (maps, dbc, compiled files)[/li]

[li]Changing settings in the config files nothing mayor, mostly the things from the guide[/li]

At the end of the server log the server couldn't start because it couldn't bind to the correct port/socket, but that's not were I need help for. After reading some info on the forums here, I've noticed that the recommended client is an uncompressed version. This can maybe cause some of these problems, but I have no idea. I would like to know where I can download an uncompressed version of the client.

[attachment deleted by admin]

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

The problem I'm still having with thousand lines of this:

2013-09-09 14:29:33 ERROR:Item RandomSuffix id #61 used in `item_template` but it doesn't have records in `item_enchantment_template` table.
2013-09-09 14:29:33 ERROR:Item (Entry: 24595) has wrong RandomSuffix (61)
2013-09-09 14:29:55 ERROR:Creature (Entry: 44733) has spell 46598 defined in `auras` field in `creature_template_addon, but vehicle control spells are not suitable for _addon.auras handling`.
2013-09-09 14:31:14 ERROR:BattleGroundEvent: gameobject with guid 150304 is registered, for a nonexistent event: map:30, event1:14, event2:1
2013-09-09 14:31:14 ERROR:BattleGroundEvent: creature with guid 150427 is registered, for a nonexistent event: map:30, event1:14, event2:3

I've downloaded the files and placed it in the wow client folder, then extracted it with the tool. The tool said there are errors but there is no log file which it's referring too. The only error I could remember was that it couldn't access a certain file and there for couldn't extract what it needed. After placing the files in the data folder I removed the database and started over with the database. The full database isn't up to date if you start it, but when update the database half of the updates are already done. Is this an inconstancy or still some stuff that needs to be correct after the recovery from the site hack? I still don't know what is causing these large amount of errors when the server is starting, is it because it couldn't extract all the data from the files or is it because the database isn't correct. I would like to hear your thoughts about this.

Link to comment
Share on other sites

1. Software downloads

Please download all of the following software before we begin.

* World of Warcraft client (with Wrath of the Lich King) updated to version 3.3.3a

* MySQL server

* SQL client

GIT client

* Microsoft Visual C++.net Express 2010

* SVN client

2. Installing software

* Run the installation for your GIT client (msysgit)

* When prompted, click the option that says "Use Git Bash only"

* When prompted, click the option that says "Checkout Windows-style, commit Unix-style line endings"

* Click next and wait for the install to finish

* Install MySQL (choose "Typical" installation when prompted)

* Install SQLyog, Tortoise SVN, and Visual C++.net, all three installations are very straight-forward

3. Getting the MaNGOS source files

* Create a folder

* Right-click your folder and select "Git Gui"

* When the Git window comes up, click the "Clone Existing Repository" link

* In the "Source Location" box, put in

git://github.com/mangos/mangos.git

* In the "Target Directory" box, C:\Mangos

* Click the "Clone" button and wait for the program to finish; it will take a while, but just wait

* Once finished, close git

4. Getting the ScriptDev2 files

Launch “GIT GUI” from your list of programs

• In the new window, click on “Clone Existing Repository”

• In the new window, enter with the keyboard the following information

Source Location: git://github.com/scriptdev2/scriptdev2.git

Target Directory: C:\Mangos\src\bindings\ScriptDev2

** The Target Directory must not exist

• Click “Clone” and wait for the task to finish

• Close your “GIT GUI”

5. Compiling MaNGOS

* Open your MaNGOS source folder, then the "win" folder that is found inside it

* Open the file "mangosd100" in Visual C++.net 2010

* For older versions of Visual C++ (2005, 2008),Do not modify existing entries. Droplist tool-options-projects and Solution-VC++Directies on right side and add a new entry by clicking on an empty row at the bottom of the list and then clicking on the “...” on the right edge. Put your SDKs Bin folder path such as following:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib

* Click "Build" in the menu bar at the top of Visual C++ then select "Configuration Manager"

* Make sure that the dropdown box for "Active solution configuration" says "Release" and that the box for "Active solution platform" says "Win32", then close that window

* Click "Build" again in the menu bar at the top of Visual C++, then click "Build Solution", or press F7

* While compiling, if you receive any errors then click "Build" again then "Clean Solution"; you can then restart the compilation process

* Compiling will take a long time, if you get warning messages don't worry, that's normal (note that these are warning messages and not error messages, error messages are bad)

* On my computer compiling took about 20 minutes, which is around average (just to give you an idea, don't think it'll take any less time or as much time, could be longer)

6. Installing MaNGOS

* Go into your MaNGOS source folder, then into the "bin" folder, and then the "Win32_Release" folder C:\MaNGOS\bin\Win32_Release\)

* Copy the following files to your MaNGOS folder (example C:\MaNGOS\):

ACE.dll

dbghelp.dll

libeay32.dll

libmySQL.dll

mangosd.exe

mangosscript.dll

realmd.exe

tbb.dll

tbbmalloc.dll

* Go into your MaNGOS source folder, then into the "src" folder, and then the "mangosd" folder

* Copy the file "mangosd.conf.dist.in" into your MaNGOS source folder

* Rename it to "mangosd.conf" (right-click the file and select rename)

* Go into your MaNGOS source folder, then into the "srs" folder, and then the "realmd" folder

* Copy the file "realmd.conf.dist.in" into your MaNGOS source folder

* Rename it to "realmd.conf" (right-click the file and select rename)

* Go into your ScriptDev2 source folder

* Copy the fole "scriptdev2.conf.dist.in" into your MaNGOS source folder

* Rename it to "scriptdev2.conf" (right-click the file and select rename)

7. Extracting maps, DBCs and VMaps

* Go into your MaNGOS source folder, then into the "contrib" folder, and then the "extractor" folder

* Copy the file "ad.exe" into your WoW client folder (example: C:\Program Files\World of Warcraft\)

* This will take a long time, so please be patient

* When the extractor has finished extracting, there will be 2 new folders in your WoW folder called "DBC" and "maps"

* Copy both folders into your MaNGOS folder

* Go into your MaNGOS source folder, then into the "contrib" folder, and then the "vmap_extract_assembler_bin" folder

* Run the file "makev maps_Simple.bat"

* This is also a long process, so please wait for it to be finished

* When the vMap batch file has finished making vMaps, move the folder "vMaps" and the folder "buildings" into your MaNGOS folder

* You should now have 4 new folders in your MaNGOS folder, DBC, maps, buildings, and vMaps

8. Configuring MySQL

* Click your Windows "start" button, then find MySQL and click on the "MySQL Server Instance Config Wizard"

* When prompted, select "Standard Configuration"

* When prompted, check-off "Install as Windows Service", have the service name be "MySQL" and make sure that "Launch the MySQL server automatically" is checked-off as well

* When prompted, make sure that "Modify security settings" is checked off

* Put in a password that you'll remember, you'll need it later on (default password in configuration files and such is "mangos", use this if you're the only one using your WoW server)

* Only check-off "Enable root access from remote machines" if you want to be able to work in your MySQL database from more machines than just your current computer, also check it off if you plan on having an online registration page

* Click "Execute"

* On Windows 7 and possibly Vista, the installation window might freeze for a second; just leave it be, it will come back

* If you're having any extra issues configuring MySQL, try running the wizard as an administrator, allowing MySQL through your firewall, or running in compatibility mode for another operating system

9. Database setup

* Run SQLyog

* Click the "New..." button at the top of the connection window and name the connection whatever you like (perhaps something like "WoW server"?)

* In the "MySQL Host Address" box, leave it as "localhost" or "127.0.0.1" if you're playing single player or on LAN, change it to your host's IP or DNS if it is an online server

* The "Username" box should say "root"

* Put in the password that you set in the MySQL config wizard

* The port number is by default 3306, only change this if you need to (most likely for online servers, don't change the port unless you know what you're doing)

* Leave the "Database(s)" box blank for now, we'll come back to it later

* Click connect and click yes if asked to save changes

* Right-click "root@(IP here)" in the top left pane of SQLyog and click "Create database"

* For database name, put in "realmd", don't worry about the other two things

* Repeat the above step, but make three more databases named "mangos", "characters", and "scriptdev2"

* In the menu-bar at the top of SQLyog, click "File" then "New Connection", but this time put the following in for "database(s)":

realmd;mangos;characters;scriptdev2

* Click connect and click yes to save changes

* In the database list on the left side of SQLyog, right-click "realmd" and select "Import" then "Restore from SQL dump"

* Click the "..." button and find your MaNGOS source folder, go into it, then go into the "sql" folder and select "realmd.sql", then click "Execute" and wait for it to finish (if you get a popup message just click yes), then click "Done" to close that window

* Repeat the above steps, except this time for the characters database (instead of selecting "realmd.sql" in the execute window, select "characters.sql" in the same folder

NOTICE:

At this point, you have two choices for the world database (mangos). You can either use a completely empty database with no items, NPCs, nothing (this is if you want to completely create your own world) or

use a packed database such as UDB which includes everything from quests to items to instances to NPCs. There are a whole bunch of different packed databases, but UDB is the one that is best supported for

MaNGOS. Other databases might include strange custom content or variations on NPC scripting, etc.

If you want an empty database:

* In the database list on the left side of SQLyog, right-click "mangos" and select "Import" then "Restore from SQL dump"

* Click the "..." button and find your MaNGOS source folder, go into it, then go into the "sql" folder and select "mangos.sql", then click "Execute" and wait for it to finish (if you get a popup message

just click yes), then click "Done" to close that window

If you want a packed database (UDB):

* Download the latest version of UDB, it can be found here (download the ZIP archive link, so for example at the time of

making this guide the file I would have downloaded would be UDB_0.12.0_mangos_9582_SD2_1639.zip)

* Extract the database file somewhere you will remember (keep it too in case of mistakes later on)

* Add it to the "mangos" database the same way you did with "realmd" and "characters" (this database is considerably larger than the other ones you've added, so it could take a while to execute)

***Remember the following steps, you will be using the same method to update the databases (explained later)***

* Go into your ScriptDev2 source folder, then into the "sql" folder, and open scriptdev2_create_structure_mysql.sql in Notepad, copy all the contents, then paste it into the SQL query box to the right of SQLyog then select the "scriptdev2" database in the database list on the left side of SQLyog (make sure all of the text in the query box is selected before moving on)

* Click the play button in the toolbar at the top of SQLyog

* Repeat the above two steps, but this time for scriptdev2_script_full.sql in the same scriptdev2 sql folder and for mangos_scriptname_full.sql (for mangos_scriptname_full.sql, have the mangos database selected instead of the scriptdev2 database)

***

10. Updating databases

* Make a folder within your MaNGOS folder, call it "updates" or "update packs" or something (example: C:\MaNGOS\updates)

* Right-click that folder and select "SVN Checkout"

* In the "URL of repository" box, put in:

http://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Updates/

* Click OK and wait for the download to finish

NOTICE:

This part is somewhat tricky and can be hard to explain, but I'll do my best. The updates must be done in proper order or else things can get messed up, so please follow the next steps carefully!

* Go into your updates folder and open the first update pack, copy the contents, then paste them into the query box (similar to the ScriptDev2 query stuff we did earlier)

* Take notice to which database needs to be selected; most update packs will be named in the following pattern: update#_patchtype_databasename_revision#_to_revision#, so for example 388_corepatch_characters_9311_to_9582.sql

* Look at the database name part of the filename, this is the database that you need to select before pushing the play button (this is VERY important, in my example filename above I would have to select

the "characters" database)

* Push the play button

* Repeat the update steps above for every update pack that was downloaded

* You may need to add additional updates depending on the progress of database content

* You can check your database revision number by clicking the "+" next to the database name in the database list, clicking the "+" next to "Tables" then finding the corresponding table for each database:

Characters: Characters_DB_Version

Mangos: db_version

Realmd: Realmd_DB_Version

* You can then click the "Tables" tab on the right of SQLyog (shown) to see the table information

* Somewhere in the table information (there isn't much within the db_version tables, so look for it), there will be something that says "required" in it, such as "required_9803_01_mangos_spell_bonus_data"

* Go into your MaNGOS source folder then into the "sql" folder and find the required update (it will have the same name) and do all the updates after it (all the newest ones)

* SQLyog will be disabled while running updates; when it is enabled again, you'll know that that's when the update has finished

11. ACID

* The ACID SVN .google

* Click the link for your expansion (vanilla, BC or WotLK)

* Click the newest version (the highest number)

* Click the link for the sql file (it will have the .sql extension)

* Copy all of the file and paste it in the query box, select all the text then press the play button (with the mangos database selected)

* You can now close SQLyog smile

12. Configuration

* Go into your MaNGOS folder

* Open "mangosd.conf" in Notepad

* Search for the line that says "DataDir=" and make sure it is the following:

Datadir="."

* Search for the following codes and change them as required:

WorldDatabaseInfo = "[server IP];3306;root;

;mangos"

LoginDatabaseInfo = "[server IP];3306;root;[sql password];realmd"

CharacterDatabaseInfo = "[server IP];3306;root;[sql password];characters"

(Server IP is the IP you log into SQLyog with, 3306 is the port number, root is the root username, SQL password is the password you log into SQLyog with, mangos is the name of your mangos database)

* If you used vMaps, then change the following lines:

vmap.enableLOS = 0

vmap.enableHeight = 0

to

vmap.enableLOS = 1

vmap.enableHeight = 1

* Save, exit

* Go back into your MaNGOS folder

* Open "realmd.conf" in Notepad

* Search for the following code and change it as required:

LoginDatabaseInfo = "[server IP];3306;root;[sql password];realmd"

* Save, exit

* Go back into your MaNGOS folder

* Open "scriptdev2.conf" in Notepad

* Search for the following code and change is as required:

ScriptDev2DatabaseInfo = “[server IP];3306;root;[sql password];scriptdev2”

* Save, exit

* Create backups of conf files if you don't trust yourself with keeping a single copy of each

13. Client setup

* Go into your WoW installation folder, then into the "Data" folder, then into your locale's folder (example: enUS)

* Open realmlist.wtf in Notepad

* Change the contents to:

set realmlist [server IP]

set patchlist [server IP]

* If you play retail WoW on the same client on which you play your server, you might want to make a backup of your realmlist file

Congratulations, your World of Warcraft MaNGOS private server is now ready. To put the server up, simply run mangosd.exe and realmd.exe (keep them up for the server to stay online).

A. Errors

* If you get an error that says something like "sql was probably updated" or "# fields, # missing", then you need to update your database and possibly your entire core

* If you get any map or dbc errors, make sure that the "datadir" field is set to "." (in mangosd.conf) and that your dbc and map files are up-to-date with your client in your MaNGOS core folder

B. Manual creation of accounts and modification of accounts

I will not show you how to use a registration page as they're all very different, but here's how to create accounts manually.

Creating the account:

* Run mangosd.exe and realmd.exe (once mangosd.exe is fully loaded, you can type "help" for all the commands)

* Once they're both nice and loaded, type in the following (change it as required):

account create [username] [password]

Example: account create Phenomenon 123

Setting expansions:

account set addon [username] [number 0-2, 0 being vanilla, 2 being WotLK]

Example: account set addon phenomenon 2

Changing GM levels:

account set gmlevel [username] [number 0-3, 0 being player and 3 being administrator]

C. Editing mangosd.conf

In this step I won't show you how to change your conf file so that you have a funserver or what-not, but rather tell you how to understand the conf file.

You'll notice large areas of text in the conf file that are surrounded with number signs (#). This is the documentation area. You can read up on what a function does, what it's for and how/what you should change it to (example: # RealmID # RealmID must match the realmlist inside the realmd database -> this tells you that the RealmID function needs to be set to the same one that's found in the realmlist table in your database).

Below the text area sounded by #s, you'll find the actual functions. This is where you change the values to what you want. Be careful of spacing and typos, they will throw errors when running the server

(example: the RealmID function should look like this RealmID = 1 and not like this RealmID=1 or RealmID =1 or RealmID = 1u).

D. Editing the database

Creating custom content for your server (such as items, NPCs, quests, etc.) is really very easy. You can either do it manually directly in SQLyog or you can use a far more efficient tool (there are tons of fun database tools out there, a few are listed in the resources area of this post). However, more technical things such as spell editing (etc.) will require core mods which require extensive knowledge of C++ to create.

E. Useful tools and resources

* Quice database editor: easy to use editor to modify database entries for anything from quests to NPCs to items and more

* WoW-V SQL generator: extremely easy to use, very straight-forward multifunctional online code generator to create SQL queries for all your custom content needs (good for people who are beginners at database editing)

* MaNGOLin: an administrative application that has commands built-in so you don't always have to type them out

;D

Old but useful

Link to comment
Share on other sites

I need to admit that's useful, but I've used several of guides (also the official Mangos). The only thing that I haven't done is add Acid and UDB. Currently I'm just running a WotLK server in a LAN environment for friends. This week I'm to busy to setup a Cata server, hopefully I'll be able to setup and test one with UDB and Acid.

Link to comment
Share on other sites

I tested empty tablets and start all over . You have to struggle whit sql problems . Hot fix sql is the last. Don’t use the others after that one. Ignore numbers at start. Use the same as you see in tablet then try next anyway it is not right number. Then turn off SQLjog and start again.

Database problem and not right numbers next in line. Stop after hot fix sql. The others after gives only errors.

>:(

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

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