Jump to content
  • 0

vmap-assembler.exe "ace.dll" missing.


STWoW

Question

EDIT: I seem to stand corrected.

There was a guide here that I had recently come across. I am very grateful to its author for writing it, and I look forward to the day when a link to it is added to the "How to Compile" tutorial guide that I had followed, as it would have further enabled facilitation of this lengthy process, rather than having to waste your time reading this now-pointless thread. Though I'll certainly leave it up as an example of what happens if you don't quite know where to look for further non-active/human guidance at any particular step.

---------------------Actual original post below------------------

Hello all! Missed you bunches.

Just got the newest release of MangosZero. Super-exciting! Congratulations very much on the hard work.

So I get down and dirty with it, following compilation guides, and am now extracting resources using a few scattered past memories about how to go about doing it, using ExtractResources.sh (Which I had placed in the root WoW folder). I even created a new folder "maps" to house the maps, and the other three folders (Buildings, vmaps, and mmaps) are created automatically, but not maps, for some reason.

The maps and everything did seem to compile. The "Buildings" folder appears to be fully populated, though I have no idea what it's for.

The "maps" and "vmaps" folder is empty, though it did appear to compile all of the maps successfully. Maybe it's the "dir_bin" file in the Buildings folder. No idea.

Anyway, on to my super-rambling point, after it finished with the maps, and an innocent-looking quill-boar related misc error, I get a popup.

vmap-assembler.exe - System Error

The program can't start because ace.dll is missing from your computer. Try reinstalling the program to fix this problem.

Yeah, but what program? :P I did a search for "ace.dll" on the forums and nothing came up. What could this possibly be? o.O

Also, where are the maps actually stored, anyway? I'm kinda getting worried. Or do they only appear alongside the vmaps?

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

During the last two releases we have done a LOT of fundamental build related changes, thus the guides are pretty much completely outdated at this point. We are slowly working on removing the old guides, as well as writing new, streamlined guides for all the platforms Mangos can be built on. Glad to hear you figured it out though, and please let us know if there's anything else you need help with!

Link to comment
Share on other sites

Thanks a bunch! Makes sense.

I'm up to the point where I'm updating the world database. From the look of the current status, it's going from 20001_01_Rel20_initial.sql all the way to 20007_19_Start_Up_Error_fixes.sql. That's a heck of a lot of updates. 104 items in this folder. A ton of clicking.

Oddly, the first entry, upon executing the SQL file, was unsuccessful. I know these are written to be done in order, so I was a bit confused when I tried 20004_14_Witherbark_Axe_Throwers_Speech_fix.sql, which has as its immediately following neighbor, 20006_01_LBRS_Chamber_of_Battle_replaced_mobs.sql, and it was successful.

I had tried that because I have a very quickly closing mangosd.exe window that, having captured a brief image of it in MSPaint before it closed, is telling me that I need to start from point A, 20000_Release_020_Initial.sql, and arrive at point B, 20005_01_Characters_pvpstats.sql.

I don't even that anything with pvpstats in this folder of updates. I don't even have a 20005. I have apparently successfully used the InstallDatabases.bat and make_full_WorldDB.sh files, so I'm not sure what's going on. o.O

Thanks for the guidance.

--------

If It ends up that all of these 104 files need to be executed one by one, is there a faster way to do it? I'm using Navicat. I never could figure out SQLYog. Navicat is so handily laid out in a grid-like formation. SQLYog feels like it's all individualized and spotlighted somehow.

Link to comment
Share on other sites

First off, something which helped me tons when I was learning....

In your mangos.conf file, change:

WaitAtStartupError                        = 0

to

WaitAtStartupError                        = 10

this makes the window wait 10 seconds before it closes on an error.

As for your other issues, I will do a fresh database install shortly and report back !

Link to comment
Share on other sites

Ahh, too kind. Thanks. That helped immensely. In fact, I'm now able to copy and paste what it said right out of the window.

20007 [world-daemon]

<Ctrl-C> to stop.

__ __ _ _ ___ ___ ___

| \/ |__ _| \| |/ __|/ _ \/ __| We Love

| |\/| / _` | .` | (_ | (_) \__ \ Vanilla Wow

|_| |_\__,_|_|\_|\___|\___/|___/

____

For help and support please visit: /_ /___ _ _ ___

Website: https://getmangos.eu / // -_) '_/ _ \

Wiki: MaNGOS Wiki · GitHub /___\___|_| \___/

Using configuration file mangosd.conf.

OpenSSL 1.0.1e 11 Feb 2013 (Library: OpenSSL 1.0.1e 11 Feb 2013)

Using ACE: 6.3.0

World Database total connections: 2

Connected to MySQL database [email protected]:3306/mangos

MySQL client library: 5.5.37

MySQL server ver: 5.6.22-log

AUTOCOMMIT SUCCESSFULLY SET TO 1

Connected to MySQL database [email protected]:3306/mangos

MySQL client library: 5.5.37

MySQL server ver: 5.6.22-log

AUTOCOMMIT SUCCESSFULLY SET TO 1

Character Database total connections: 2

Connected to MySQL database [email protected]:3306/characters

MySQL client library: 5.5.37

MySQL server ver: 5.6.22-log

AUTOCOMMIT SUCCESSFULLY SET TO 1

Connected to MySQL database [email protected]:3306/characters

MySQL client library: 5.5.37

MySQL server ver: 5.6.22-log

AUTOCOMMIT SUCCESSFULLY SET TO 1

SQL: SELECT required_20005_01_characters_pvpstats FROM character_db_version LIMI

T 1

query ERROR: Unknown column 'required_20005_01_characters_pvpstats' in 'field li

st'

The table `character_db_version` in your [CHARACTER] database indicates that thi

s database is out of date!

[A] You have: --> `20000_Release_020_Initial.sql`

You need: --> `20005_01_characters_pvpstats.sql`

You must apply all updates after [A] to to use mangos with this database.

These updates are included in the sql/updates folder.

Please read the included [README] in sql/updates for instructions on updating.

Press <Enter> for continue

Just as a reference and whatnot. Yeah, I have no 20005 sql file. Goes from 20000 to 20004, then to 20006, and up to 20007.

Link to comment
Share on other sites

Thank you for that! I'm not really sure what to do with that (Also I am dumb. Hi.) due to not knowing if that fix automatically inclined any of the updates that I'm going through. It probably doesn't, as it was a quick action, at least from my limited mortal perspective. So I'll continue doing updates all the way through.

It's odd and a little inconsistent here and there. It's one of the things that confuses me the most. From a fresh database, "World" entry 20001_01_Rel20_initial.sql is not successful, but the subsequent ones are.

Also from World:

20006_05_Skinnable_Creature_update.sql works.

20006_06_Graveyard_update.sql does not.

20006_07______Server_Start_Up_Error_fixes.sql does! o.O

Why would that be? I did them all one after another.

20006_27_Mana_Regen_fix_and_Column_Name_Change.sql results in the following error:

[Err] 1054 - Unknown column 'RegenerateHealth' in 'where clause'

[Err] -- Add the Revision update into the revision column

INSERT IGNORE INTO `db_version` SET `Version` = 'MaNGOSZero Database 2.0.11 Rev 20006_27';

-- Mana regeneration enabled for mana users

UPDATE creature_template SET RegenerateHealth=2 WHERE RegenerateHealth<>2 AND MinLevelMana>0 AND UnitClass IN (2,8);

-- change tested in-game

ALTER TABLE creature_template CHANGE RegenerateHealth RegenerateStats tinyint(3) unsigned;

[Msg] Finished - Unsuccessfully

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

Link to comment
Share on other sites

The first one will fail as the base database was already at that revision.

- It's there so that people with older versions of the database can upgrade :D

from the base world install, most updates are not needed. In fact the base world DB starts at revision 20007_18

Link to comment
Share on other sites

Gotcha. I trust you a lot more than I trust whatever it is that I'm somewhat successfully bumbling my way through!

I even managed to get "in" to the realm. It made it to the WoW Classic Character Select screen, but it's still connecting thirty seconds later. Disconnects eventually, and won't let me back in, disconnecting after 5 seconds or so. Happens repeatedly. Why would it even let us get that far if it can't connect properly? What could be fiddled with at that point?

Because it certainly recognizes when a password is right or wrong or not, so... what happens then?

As far as I can tell, I have my IP set to 127.0.0.1 where appropriate. The reamlist.wtf, the Config file in the WTF folder, and realmd.conf and mangos.conf. I'll double-check those.

RealmServerPorts 3724 and 8085 have also been allowed in the Windows Firewall.

Thanks for your patience.

It's probably due to XAMPP issues with my MySQL directory. I got Apache running again. Now I just need to sort out two possibly conflicting MySQL locations.

I uh ... I did mention that I was dumb before, right? In case I need to reiterate.

Link to comment
Share on other sites

Too kind, y'all. All instances of IP are 127.0.0.1 all around, and as far as I can tell, all ports necessary are open. Not sure if that counts as port forwarding, but I have indeed been in Windows Firewall's area and opening ports where appropriate.

I really feel like the issue I'm having is with MySQL. It's so finnicky. It's like, it only works flawlessly the first time you do things with setting up a server. After that, you never know what you have that's residual left over. I'm uninstalling and reinstalling it, making sure things are gone, services as well, ... and I'm not even sure what XAMPP is looking at to get its information. Apache works fine for some reason. (It came with XAMPP.)

Does XAMPP have its own built-in version of MySQL? Or is it getting it from the version from Oracle? When the XAMPP switch for MySQL gets turned on, what actually happens there? I really wish I knew more about what was going on under the hood, but sadly, ...

Link to comment
Share on other sites

XAMPP includes its own stand alone version of MySQL yes. This is not the same MySQL as you'd install yourself on the system. I do believe you can deactivate the built in MySQL that comes with XAMPP. Quick Google search and I can see people asking how to activate it, nothing on deactivating. Possibly not activated by default?

Could you possibly post your config files, with password and username removed (obviously)?

Link to comment
Share on other sites

Ah thank you for looking. Too kind. Glad that I am surrounded by experts!

I do indeed have ports 3306, 3724, and 8085 all open.

realmd.conf's file: (I am very unconcerned about any password or username appearing. I'll use root and mangos as the name and password for these purposes.

LoginDatabaseInfo = "127.0.0.1;3306;root;mangos;realmd"

LogsDir = ""

PidFile = ""

MaxPingTime = 30

RealmServerPort = 3724

BindIP = "0.0.0.0"

LogLevel = 0

LogTime = 0

LogFile = "realm-list.log"

...etc...

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

The important parts of mangos.conf:

RealmID = 1

DataDir = "."

LogsDir = ""

LoginDatabaseInfo = "127.0.0.1;3306;root;mangos;realmd"

WorldDatabaseInfo = "127.0.0.1;3306;root;mangos;mangos"

CharacterDatabaseInfo = "127.0.0.1;3306;root;mangos;characters"

ScriptDev2DatabaseInfo = "127.0.0.1;3306;root;mangos;mangos"

LoginDatabaseConnections = 1

WorldDatabaseConnections = 1

CharacterDatabaseConnections = 1

ScriptDev2DatabaseConnections= 1

MaxPingTime = 30

WorldServerPort = 8085

BindIP = "0.0.0.0"

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

========================

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

From XAMPP's initial start-up text after opening it but before clicking on anything at all:

8:29:21 PM [main] Initializing Control Panel

8:29:21 PM [main] Windows Version: Windows 7 Professional SP1 64-bit

8:29:21 PM [main] XAMPP Version: 1.8.2

8:29:21 PM [main] Control Panel Version: 3.2.1 [ Compiled: May 7th 2013 ]

8:29:21 PM [main] Running with Administrator rights - good!

8:29:21 PM [main] XAMPP Installation Directory: "c:\program files (x86)\xampp\xampp"

8:29:21 PM [main] WARNING: Your install directory contains spaces. This may break programs/scripts

8:29:21 PM [main] WARNING: Your install directory contains special characters. This may break programs/scripts

8:29:21 PM [main] Checking for prerequisites

8:29:22 PM [main] All prerequisites found

8:29:22 PM [main] Initializing Modules

8:29:22 PM [main] The FileZilla module is disabled

8:29:22 PM [main] The Mercury module is disabled

8:29:22 PM [main] The Tomcat module is disabled

8:29:22 PM [main] Starting Check-Timer

8:29:22 PM [main] Control Panel Ready

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

From after clicking the "Start" button for MySQL. (With timestamps manually removed.)

Attempting to start MySQL app...

Status change detected: running

Status change detected: stopped

Error: MySQL shutdown unexpectedly.

This may be due to a blocked port, missing dependencies,

improper privileges, a crash, or a shutdown by another method.

Press the Logs button to view error logs and check

the Windows Event Viewer for more clues

If you need more help, copy and post this

entire log window on the forums

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

The Error Log:

150327 20:33:40 [Note] Plugin 'FEDERATED' is disabled.

c:\program files (x86)\xampp\xampp\mysql\bin\mysqld.exe: Table 'mysql.plugin' doesn't exist

150327 20:33:40 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

150327 20:33:40 InnoDB: The InnoDB memory heap is disabled

150327 20:33:40 InnoDB: Mutexes and rw_locks use Windows interlocked functions

150327 20:33:40 InnoDB: Compressed tables use zlib 1.2.3

150327 20:33:40 InnoDB: Initializing buffer pool, size = 16.0M

150327 20:33:40 InnoDB: Completed initialization of buffer pool

150327 20:33:40 InnoDB: highest supported file format is Barracuda.

150327 20:33:40 InnoDB: Waiting for the background threads to start

150327 20:33:41 InnoDB: 5.5.36 started; log sequence number 5718965

150327 20:33:41 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3307

150327 20:33:41 [Note] - '0.0.0.0' resolves to '0.0.0.0';

150327 20:33:41 [Note] Server socket created on IP: '0.0.0.0'.

150327 20:33:41 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

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

The INI file from XAMPP.

# Example MySQL config file for small systems.

#

# This is for a system with little memory (<= 64M) where MySQL is only used

# from time to time and it's important that the mysqld daemon

# doesn't use much resources.

#

# You can copy this file to

# C:/Program Files (x86)/XAmpp/XAmpp/mysql/bin/my.cnf to set global options,

# mysql-data-dir/my.cnf to set server-specific options (in this

# installation this directory is C:/Program Files (x86)/XAmpp/XAmpp/mysql/data) or

# ~/.my.cnf to set user-specific options.

#

# In this file, you can use all long options that a program supports.

# If you want to know which options a program supports, run the program

# with the "--help" option.

# The following options will be passed to all MySQL clients

[client]

# password = your_password

port = 3306

socket = "C:/Program Files (x86)/XAmpp/XAmpp/mysql/mysql.sock"

# Here follows entries for some specific programs

# The MySQL server

[mysqld]

port= 3306

socket = "C:/Program Files (x86)/XAmpp/XAmpp/mysql/mysql.sock"

basedir = "C:/Program Files (x86)/XAmpp/XAmpp/mysql"

tmpdir = "C:/Program Files (x86)/XAmpp/XAmpp/tmp"

datadir = "C:/Program Files (x86)/XAmpp/XAmpp/mysql/data"

pid_file = "mysql.pid"

# enable-named-pipe

key_buffer = 16M

max_allowed_packet = 1M

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

log_error = "mysql_error.log"

# Change here for bind listening

# bind-address="127.0.0.1"

# bind-address = ::1 # for ipv6

# Where do all the plugins live

plugin_dir = "C:/Program Files (x86)/XAmpp/XAmpp/mysql/lib/plugin/"

# Don't listen on a TCP/IP port at all. This can be a security enhancement,

# if all processes that need to connect to mysqld run on the same host.

# All interaction with mysqld must be made via Unix sockets or named pipes.

# Note that using this option without enabling named pipes on Windows

# (via the "enable-named-pipe" option) will render mysqld useless!

#

# commented in by lampp security

#skip-networking

skip-federated

# Replication Master Server (default)

# binary logging is required for replication

# log-bin deactivated by default since XAMPP 1.4.11

#log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1

# defaults to 1 if master-host is not set

# but will not function as a master if omitted

server-id = 1

# Replication Slave (comment out master section to use this)

#

# To configure this host as a replication slave, you can choose between

# two methods :

#

# 1) Use the CHANGE MASTER TO command (fully described in our manual) -

# the syntax is:

#

# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,

# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;

#

# where you replace <host>, <user>, <password> by quoted strings and

# <port> by the master's port number (3306 by default).

#

# Example:

#

# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,

# MASTER_USER='joe', MASTER_PASSWORD='secret';

#

# OR

#

# 2) Set the variables below. However, in case you choose this method, then

# start replication for the first time (even unsuccessfully, for example

# if you mistyped the password in master-password and the slave fails to

# connect), the slave will create a master.info file, and any later

# change in this file to the variables' values below will be ignored and

# overridden by the content of the master.info file, unless you shutdown

# the slave server, delete master.info and restart the slaver server.

# For that reason, you may want to leave the lines below untouched

# (commented) and instead use CHANGE MASTER TO (see above)

#

# required unique id between 2 and 2^32 - 1

# (and different from the master)

# defaults to 2 if master-host is set

# but will not function as a slave if omitted

#server-id = 2

#

# The replication master for this slave - required

#master-host = <hostname>

#

# The username the slave will use for authentication when connecting

# to the master - required

#master-user = <username>

#

# The password the slave will authenticate with when connecting to

# the master - required

#master-password = <password>

#

# The port the master is listening on.

# optional - defaults to 3306

#master-port = <port>

#

# binary logging - not required for slaves, but recommended

#log-bin=mysql-bin

# Point the following paths to different dedicated disks

#tmpdir = "C:/Program Files (x86)/XAmpp/XAmpp/tmp"

#log-update = /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables

#bdb_cache_size = 4M

#bdb_max_lock = 10000

# Comment the following if you are using InnoDB tables

#skip-innodb

innodb_data_home_dir = "C:/Program Files (x86)/XAmpp/XAmpp/mysql/data"

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = "C:/Program Files (x86)/XAmpp/XAmpp/mysql/data"

#innodb_log_arch_dir = "C:/Program Files (x86)/XAmpp/XAmpp/mysql/data"

## You can set .._buffer_pool_size up to 50 - 80 %

## of RAM but beware of setting memory usage too high

innodb_buffer_pool_size = 16M

innodb_additional_mem_pool_size = 2M

## Set .._log_file_size to 25 % of buffer pool size

innodb_log_file_size = 5M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

## UTF 8 Settings

#init-connect=\'SET NAMES utf8\'

#collation_server=utf8_unicode_ci

#character_set_server=utf8

#skip-character-set-client-handshake

#character_sets-dir="C:/Program Files (x86)/XAmpp/XAmpp/mysql/share/charsets"

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates

[isamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[myisamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

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

realmd.exe shows the following right now.

20007 [realm-daemon]

<Ctrl-C> to stop.

Using configuration file realmd.conf.

Login Database total connections: 2

Could not connect to MySQL database at 127.0.0.1: Can't connect to MySQL server

on '127.0.0.1' (10061)

Can not connect to database

Press <Enter> for continue

I'm not sure why it would say "Login Database total connection: 2" though. That's an interesting thing.

Because as far as I can tell, I do have MySQL from Oracle uninstalled right now.

As for Services, the only services I have related to MySQL right now are MSSQLServerADHelper and MSSQL$BWDATOOLSET. Both are stopped. There are no Processes running related to it, as far as I can tell.

Link to comment
Share on other sites

Your configs seem file, and it's normal that the realm has two DB connections. For the XAMPP issue:

1: Exit XAMPP server.

2: Go to C:\xampp\mysql\data

3: Delete the ibdata1 file

4: Restart xampp server

MySQL should then start up correctly.

WARNING! This will delete ALL the information you have saved in your database, INCLUDING the innodb tables. It will however leave you with a lot of orphaned information, thus I wouldn't suggest doing this. However, there's also option two:

Revert your whole /mysql/data/ folder. Windows has built-in folder versioning — right click on /mysql/data/ and select Restore previous versions. This should revert it back to its original state, and it should start up like normal.

Worst case scenario, reinstall XAMPP, or use the system installed MySQL instead of XAMPP's MySQL. Always remember to run XAMPP as an administrator as well.

Link to comment
Share on other sites

Why yes, thanks very much, I am now running MySQL again alongside Apache! Joy.

If anything, likely the last impediment toward server functionality is the weirdest thing. I need to find out where databases are stored as files. I can't seem to connect realmd.exe and mangosd.exe to them. They can't use the name/password. But that's not the issue. It's this. Apparently a lot of people around the world get that error. They don't even have to change anything. (You'd think this wouldn't be the case, but this is often exactly what it is.)

I feel like there's this massive incongruity between MySQL and Navicat, and what the connections to it are. For example, If I change the password to the connection, I can still test the connection and it's fine, but the databases disappear. Then If I go in and restore the password to what it was before, I can STILL connect to something, but even though it's the same password again, the databases are gone anyway!!

It's like if I change my name from this American ShadowTiger to ShadowTigress I become female, and then if I change back to ShadowTiger I'm a German busboy for some reason. It's really confusing to even think about, for obvious reasons.

I just need to find out the physical location of these databases on the hard Drive so I can see what's happening and what the heck it's looking at. Navicat doesn't have that many options for things, despite being the professional enterprise version.

Link to comment
Share on other sites

Hmm that is odd. I use navicat myself and have never had any concurrency issues like that. Whenever you first set up MySQL you chose a username and a password, this should work as intended.

Default database location for Win7+ is C:\ProgramData\MySQL\MySQL Server x.x\data. x being your MySQL version.

Link to comment
Share on other sites

If I could reach out and give you some chocolate I would. They have not invented that technology yet. :-/

If that's the case, I think it may be best if the entire users area were purged. Under the "Users" button, there are absolutely no users listed. Or at least there's nothing in the users' interface that effectively displays them. I'm also looking under the various folders that are there. I did find where one database is found where the mangos-related content happens to lie, but there's only one instance of it there. Fascinating. I've installed more than a dozen databases for mangos in the past two days trying to get this work. Do they all get wiped? Are they all stored under a different user? (Because I've made so many trying to get this to work.)

Erasing all users and starting fresh would be ideal.

I'm somehow convinced that Navicat is the issue. Why would MySQL be an issue if it's not the one creating the users? I use "root" as a user and it doesn't let me do anything because I already have that user, but with the same exact password. Also one without a password. I go to make "roots" with that extra 's' in there, with no password, and it connects successfully, and then immediately tells me I have no ability to use "SELECT" despite having just created the account.

It must be haunted.

Link to comment
Share on other sites

Yeah, I would probably completely uninstall and reinstall MySQL Server. Make note of the root account name and password you select, as this is what you should use to connect to your database with NaviCat.

When you create new users, you have to specifically set what the user is allowed to do, under Server Privileges and Privileges: Screenshot by Lightshot

Also, hopefully printable chocolate should be possible soon...

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