Jump to content

  • 0

Noobie looking for help


teddybairs1

Question

I am running Debian Stretch/Sid. I just got mangoszero-server-master to compile using a script I found online. I've been trying to figure out how to extract the data files from the Warcraft 1.12 folder (also found online) in order to get it to run (as well as direct the configuration files in the right direction). Looking online, there seems to be several references to binaries or scripts for extracting the data and maps from the Warcraft Data folder, but I can't seem to find them in folders created after compilation.

I'm not sure of the mangoszero version, it was just called mangoszero-server online. According to the change-log it is 0.19 (2014-07-09) - Ludas Legacy. I have another version in another tarball which I downloaded from this site as well: MangosZero_Rel20_Release_x32_March2015

The script is just called "mangos-installer".

Should I use the script to compile this one instead? The script is the only way I've been able to get it to compile. I'm not really a coder (I've only learned a little C++ and BASIC, but I'm really rusty in both). I've only been able to get a few things to successfully compile on my own by following good instructions for noobies.

I would really like to get this running. I recently discovered WoW, but I don't like that I have to be online to play it.

I realize I'm just a noob, and these questions are probably very easily answered, but if you could just direct me to those answers I'd appreciate it. Thank you.

Link to comment
Share on other sites

  • Answers 53
  • Created
  • Last Reply

Recommended Posts

Could not connect to MySQL database at 127.0.0.1: Access denied for user 'mangos'@'localhost' to database 'mangos'

Can not connect to world database 127.0.0.1;3306;mangos;mangos;mangos

allen@allen-3541:~/zero/bin$

This means mangosd was not able to connect to/authenticate your database using the settings above (Wrong username/password/database name?) Make sure the information in your config file is correct.

Link to comment
Share on other sites

I can't help you any further right now because I';m still stuck at updating the mangos db... (last time I did it it went more smooth lol, that's the fun with dev versions I guess)

[A] You have: --> `20007_01_Rel20_Release_Prep.sql`

You need: --> `21000_13_Backports.sql`

Hope a dev can chime in.

Rutger

What you need to do is run the Rel20 updates > than the database version you currently have. You have version 20007_01, thus you need the versions greater than that, found in the Updates/Rel20 folder. After you have ran all the updates needed from Updates/Rel20, run the updates found in Updates/Rel21 and you should be good to go!

Link to comment
Share on other sites

This means mangosd was not able to connect to/authenticate your database using the settings above (Wrong username/password/database name?) Make sure the information in your config file is correct.

Yeah, that's what I figured. Now I just need to figure out how to configure it correctly.

Link to comment
Share on other sites

@Ravieh & @foereaper, I sorted out the user issues, but have now run into the same thing as Ravieh. I just went through by hand and added all the updates that it told me to from ~/Rel20 and then attempted to add the ones from ~/Rel21 and this is what I got:

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_01_Release21_initial.sql

Enter password:

Status Required Version Found Version

* UPDATE SKIPPED * required_20007_20_Hotfix_Corrections_to_RegenerateStatsrequired_20007_01_Rel20_Release_Prep

Being a newbie, I didn't worry about whether or not it confirmed anything. I just plowed on ahead until I got here.

btw, I did the mysql for all the updates between 20007_20_Hotfix_Corrections_to_RegenerateStates.sql and 20007_01_Rel20_Release_Prep.sql so I don't know what it's talking about now.

Link to comment
Share on other sites

I'll try to do a fresh database import today to see what the issue could be :) I'll keep you posted

Edit:

I see, it would seem the Rel20 base sets the wrong version in the db_version field! We'll get this fixed up shortly.

Edit 2:

Quick workaround that seems to work for me:

Run...

[color=#A71D5D]ALTER[/color] [color=#A71D5D]TABLE[/color] creature_template CHANGE ManaMultiplier PowerMultiplier float [color=#A71D5D]NOT NULL[/color] DEFAULT [color=#183691]'1'[/color];
[color=#A71D5D]ALTER[/color] [color=#A71D5D]TABLE[/color] creature_template CHANGE RegenerateHealth RegenerateStats [color=#A71D5D]tinyint[/color]([color=#0086B3]3[/color]) unsigned [color=#A71D5D]NOT NULL[/color] DEFAULT [color=#183691]'3'[/color];
[color=#A71D5D][font=Consolas]UPDATE[/font][/color][color=#333333][font=Consolas] creature_template [/font][/color][color=#A71D5D][font=Consolas]SET[/font][/color][color=#333333][font=Consolas] RegenerateStats[/font][/color][color=#A71D5D][font=Consolas]=[/font][/color][color=#333333][font=Consolas]RegenerateStats|[/font][/color][color=#0086B3][font=Consolas]2[/font][/color][color=#333333][font=Consolas];[/font][/color]
[/Code]

Then run 20007_02 and continue updating from there. Once you are done with Rel20 updates, run the below:
[code]
-- --------------------------------------------------------------------------------
-- This is an attempt to create a full transactional update
-- --------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS `update_mangos`; 


DELIMITER $$


CREATE DEFINER=`getmango`@`localhost` PROCEDURE `update_mangos`()
BEGIN
   DECLARE bRollback BOOL  DEFAULT FALSE ;
   DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET `bRollback` = TRUE;


 SET @cOldRev = 'required_20007_01_Rel20_Release_Prep'; 


 -- Set the new revision string
 SET @cNewRev = 'required_20007_20_Hotfix_Corrections_to_RegenerateStats';


 -- Set thisRevision to the column name of db_version in the currently selected database
 SET @cThisRev := ((SELECT column_name FROM information_schema.`COLUMNS` WHERE table_name='db_version' AND table_schema=(SELECT DATABASE() AS thisDB FROM DUAL) AND column_name LIKE 'required%'));



 -- Only Proceed if the old values match
 IF @cThisRev = @cOldRev THEN
   -- Make this all a single transaction
   START TRANSACTION;


   -- Apply the Version Change from Old Version to New Version
   SET @query = CONCAT('ALTER TABLE db_version CHANGE COLUMN ',@cOldRev, ' ' ,@cNewRev,' bit;');
   PREPARE stmt1 FROM @query;
   EXECUTE stmt1;
   DEALLOCATE PREPARE stmt1;
   -- The Above block is required for making table changes


   -- -- -- -- Normal Update / Insert / Delete statements will go here  -- -- -- -- --

   -- Just changing the version this time    

   -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

   -- If we get here ok, commit the changes
   IF bRollback = TRUE THEN
     ROLLBACK;
     SELECT '* UPDATE FAILED *' AS 'Status',@cThisRev AS 'DB is on Version';
   ELSE
     COMMIT;
     SELECT '* UPDATE COMPLETE *' AS 'Status',@cNewRev AS 'DB is now on Version';
   END IF;
 ELSE
   SELECT '* UPDATE SKIPPED *' AS 'Status',@cOldRev AS 'Required Version',@cThisRev AS 'Found Version';
 END IF;


END $$


DELIMITER ;


-- Execute the procedure
CALL update_mangos();


-- Drop the procedure
DROP PROCEDURE IF EXISTS `update_mangos`;

Then continue on from 21000_01 and up to 21000_08

Once 21000_08 has been added, run the below:

-- --------------------------------------------------------------------------------
-- This is an attempt to create a full transactional update
-- --------------------------------------------------------------------------------
DROP PROCEDURE IF EXISTS `update_mangos`; 


DELIMITER $$


CREATE DEFINER=`getmango`@`localhost` PROCEDURE `update_mangos`()
BEGIN
   DECLARE bRollback BOOL  DEFAULT FALSE ;
   DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET `bRollback` = TRUE;


 SET @cOldRev = 'required_21000_05_Script_refactoring'; 


 -- Set the new revision string
 SET @cNewRev = 'required_21000_08_warden_checks';


 -- Set thisRevision to the column name of db_version in the currently selected database
 SET @cThisRev := ((SELECT column_name FROM information_schema.`COLUMNS` WHERE table_name='db_version' AND table_schema=(SELECT DATABASE() AS thisDB FROM DUAL) AND column_name LIKE 'required%'));



 -- Only Proceed if the old values match
 IF @cThisRev = @cOldRev THEN
   -- Make this all a single transaction
   START TRANSACTION;


   -- Apply the Version Change from Old Version to New Version
   SET @query = CONCAT('ALTER TABLE db_version CHANGE COLUMN ',@cOldRev, ' ' ,@cNewRev,' bit;');
   PREPARE stmt1 FROM @query;
   EXECUTE stmt1;
   DEALLOCATE PREPARE stmt1;
   -- The Above block is required for making table changes


   -- -- -- -- Normal Update / Insert / Delete statements will go here  -- -- -- -- --

   -- Just changing the version this time    

   -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

   -- If we get here ok, commit the changes
   IF bRollback = TRUE THEN
     ROLLBACK;
     SELECT '* UPDATE FAILED *' AS 'Status',@cThisRev AS 'DB is on Version';
   ELSE
     COMMIT;
     SELECT '* UPDATE COMPLETE *' AS 'Status',@cNewRev AS 'DB is now on Version';
   END IF;
 ELSE
   SELECT '* UPDATE SKIPPED *' AS 'Status',@cOldRev AS 'Required Version',@cThisRev AS 'Found Version';
 END IF;


END $$


DELIMITER ;


-- Execute the procedure
CALL update_mangos();


-- Drop the procedure
DROP PROCEDURE IF EXISTS `update_mangos`;

Then continue with 21000_09 and up to the required version

Link to comment
Share on other sites

@foereaper, tried running your first fix:

allen@allen-3541:~/database/World/Updates$ mysql -u root -p mangos < mangosdb_fix1.sql

Enter password:

ERROR 1054 (42S22) at line 1: Unknown column 'ManaMultiplier' in 'creature_template'

Then thought maybe I should try running 20007_01 again just to make sure I had covered my bases and got this:

allen@allen-3541:~/database/World/Updates$ cd Rel20

allen@allen-3541:~/database/World/Updates/Rel20$ mysql -u root -p mangos < 20007_01_Rel20_Release_prep.sql

Enter password:

ERROR 1054 (42S22) at line 1: Unknown column 'required_20004_01_Fix_UnitClass_Errors_Introduced_In_Rel19' in 'db_version'

allen@allen-3541:~/database/World/Updates/Rel20$

Ideas?

Also, just tried running mangosd to see if all the update entry I did yesterday from ~/Rel20 took. Nope. It still says I need everything from 20007_01 to 21000_13.

Link to comment
Share on other sites

I hope two people in one thread isn't too confusing:

Ok, what I just did: (just to start with a fresh database)

1. git clone --recursive https://www.github.com/mangoszero/database.git -b develop21

2. ran World/Setup/mangosdCreateDB.sql since that creates all databases and the mangos user

3. ran World/Setup/mangosdLoadDB.sql creates tables

4. ran Realm/Setup/realmdLoadDB.sql creates tables

5. ran Character/Setup/characterLoadDB.sql creates tables

6. ran below on mangos database:

ALTER TABLE creature_template CHANGE ManaMultiplier PowerMultiplier float NOT NULL DEFAULT '1';

ALTER TABLE creature_template CHANGE RegenerateHealth RegenerateStats tinyint(3) unsigned NOT NULL DEFAULT '3';

UPDATE creature_template SET RegenerateStats=RegenerateStats|2;

after that I end up with

#1054 - Unknown column 'RegenerateHealth' in 'creature_template'

Rutger

Link to comment
Share on other sites

I was fooling around with the windows binaries for mangos Rel20 I found in the downloads section of this website (much more convenient btw than having to compile the thing from source for linux) and was using them with wine. I found they can access mysql just fine from the wine explorer. How do I reset the mysql database and start fresh from there?

Link to comment
Share on other sites

Database has now been fixed. Measures have been taken to make sure the DB versioning to be more consistent in the future as well. Step by step guide:

Clone Database Rel21 branch:

git clone https://github.com/mangoszero/database -b develop21 --recursive

Run the base DB found at:

database/World/Setup/mangosdLoadDB.sql

Run update 20007_19 and 20007_20 found at:

database/World/Updates/Rel20

Run the required updates found at:

database/World/Updates/Rel21

In your case, 21000_01 to 21000_13

Link to comment
Share on other sites

I was fooling around with the windows binaries for mangos Rel20 I found in the downloads section of this website (much more convenient btw than having to compile the thing from source for linux) and was using them with wine. I found they can access mysql just fine from the wine explorer. How do I reset the mysql database and start fresh from there?

I have passed the note along for someone a little more Linux savvy to guide you through all of that, cause I haven't got a clue! :P

Link to comment
Share on other sites

I was fooling around with the windows binaries for mangos Rel20 I found in the downloads section of this website (much more convenient btw than having to compile the thing from source for linux) and was using them with wine. I found they can access mysql just fine from the wine explorer. How do I reset the mysql database and start fresh from there?

If you just want to wipe the database then you can delete it and recreate it if you're logged in to mysql (from cmd: mysql -u root -p)

Then when your prompt is

mysql>

Just type in:

drop database dbname;

And then:

create database dbname;

Link to comment
Share on other sites

Okay, so, here's my output from the terminal for the new DB:

allen@allen-3541:~/database/World/Updates$ cd Rel21

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_01_Release21_initial.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * required_21000_01_Release21_initial

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_02_update_wp_commands.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * MaNGOSZero Database Rev 21000_02

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos <21000_03_Start_Up_Error_fixes.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * MaNGOSZero Database Rev 21000_03

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_04_Fix_CreatureAI_Chestloot_Equip_Errors.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * MaNGOSZero Database Rev 21000_04

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_05_Script_refactoring.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * required_21000_05_Script_refactoring

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_06_New_ore_nodes.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * MaNGOSZero Database Rev 21000_06

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_07_Corrections_to_RegenerateStats.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * MaNGOSZero Database Rev 21000_07

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_08_warden_checks.sql

Enter password:

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_09_Full_script_binding_Table.sql

Enter password:

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_10_warden_multiversion.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * MaNGOSZero Database Rev 21000_10

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_11_STV_Sleeping_Creatures.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * MaNGOSZero Database Rev 21000_11

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_12_aq_wareffort_game_event_gameobject.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * MaNGOSZero Database Rev 21000_12

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_13_backports.sql

Enter password:

Status DB is on Version

* UPDATE FAILED * required_21000_11_STV_Sleeping_Creatures

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_14_Fix_Quest_end_scripts.sql

Enter password:

Status DB is now on Version

* UPDATE COMPLETE * MaNGOSZero Database Rev 21000_14

allen@allen-3541:~/database/World/Updates/Rel21$

As you can see, I ran update 21000_11 and it said it accepted it, so what happened with 21000_13?

Link to comment
Share on other sites

This is the output I'm getting from trying to run 21000_11 again:

allen@allen-3541:~/database/World/Updates/Rel21$ ls

21000_01_Release21_initial.sql

21000_02_update_wp_commands.sql

21000_03_Start_Up_Error_fixes.sql

21000_04_Fix_CreatureAI_Chestloot_Equip_Errors.sql

21000_05_Script_refactoring.sql

21000_06_New_ore_nodes.sql

21000_07_Corrections_to_RegenerateStats.sql

21000_08_warden_checks.sql

21000_09_Full_script_binding_Table.sql

21000_10_warden_multiversion.sql

21000_11_STV_Sleeping_Creatures.sql

21000_12_aq_wareffort_game_event_gameobject.sql

21000_13_backports.sql

21000_14_Fix_Quest_end_scripts.sql

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_11_STV_Sleeping_Creatures.sql

Enter password:

Status Required Version Found Version

* UPDATE SKIPPED * required_21000_10_warden_multiversion required_21000_14_Fix_quest_end_scripts

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_09_Full_script_binding_Table.sql

Enter password:

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_10_warden_multiversion.sql

Enter password:

Status Required Version Found Version

* UPDATE SKIPPED * required_21000_08_warden_checks required_21000_14_Fix_quest_end_scripts

allen@allen-3541:~/database/World/Updates/Rel21$ mysql -u root -p mangos < 21000_08_warden_checks.sql

Enter password:

ERROR 1054 (42S22) at line 1: Unknown column 'required_21000_05_Script_refactoring' in 'db_version'

allen@allen-3541:~/database/World/Updates/Rel21$

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