PDA

View Full Version : Recurring Problem


rainwalkerx
06-09-2009, 01:52 PM
Hey Everyone,

I've been trying to get a public server up and running over the course of about 100 hours over the past year and half. Still no luck. Actually, I think I may have had it working the other day, briefly, but I decided to delete the day's work so that I could repeat the "working" process. Now it doesn't work anymore. Here's the error that I've struggled with for the past 15 months:


main@userv:~/eqserver$ ./start
+ LNAME=zone
+ [ = test ]
+ pwd
+ P=/home/main/eqserver
+ export LD_LIBRARY_PATH=:/home/main/eqserver
+ mkdir -p logs
+ [ ! -e .lock-zones -a ! -e .lock-world ]
+ [ logs/eqemu_*.log = logs/eqemu_commands_zone.log ]
+ rm -f logs/eqemu_*.log
+ [ ! -e .lock-world ]
+ touch .lock-world
+ + sleep 15
./persist_world
./persist_world: 14: ./world: Permission denied
./persist_world: 14: ./world: Permission denied


The "Permission denied" message just keeps looping. I've used a great blend of guides in trying to set this up and since they haven't been much updated (and since I'm inexperienced with linux) I have no idea where potential errors may be.

If I had to guess, I'd guess it was an issue with MySQL, because the day that I *thought* I had it finally working, I think I may have had it hooked up to an old PEQ database (I've been experimenting with ax_classic for the last few months). My eqemu source, including all files, are from ax_classic but, since I've been getting this error with every single package I've ever tried (including stock eqemulator.net), I don't think it's specific to ax_classic.

Huge thanks, in advance.

rainwalker

Kobaz
06-09-2009, 02:30 PM
Does the problem go away if you run the server as root? If so the problem is that you've got file permissions or ownership messed up. Check that the targets of symlinks belong to the user you are running as, and that directories have execute permission for the user you are running as.

Since you say you don't know much about linux, you may have to do some reading on the unix permissions system, and the chown and chmod commands.

If running as root does make the problem go away, try to avoid the temptation to simply run as root all the time - this is the easiest way to have your box owned.

gaeorn
06-09-2009, 03:18 PM
One more thing to check is if world has the executable bit set. If not, it could give that error even if you run as root.

pfyon
06-09-2009, 03:53 PM
Try:
chmod +x world

If that doesn't work, try running as root. If that does work, you have to create a user and give it permissions to run that file.

rainwalkerx
06-09-2009, 04:34 PM
Thanks Kobaz, gaeorn, and pfyon. Still getting the same error.

I tried the following two ways to run it as root:

main@userv:~/eqserver$ sudo ./start
main@userv:~/eqserver$ su root
main@userv:~/eqserver$ ./start

Also, a couple times throughout the installation, when permissions seemed incorrect, I ran this:

main@userv:~/eqserver$ sudo chown -R main:root /home/main/eqserver
main@userv:~/eqserver$ sudo chmod -R 775 /home/main/eqserver

...per one of the guide's instructions. Shouldn't that have made sure that my user had correct permissions? After this, I also selected all of the items in the folder, right-clicked, and check that executable option.

I also tried your suggestion, pfyon, in both the main eqserver directory and eqserver/world directory.

That's why all of this leads me to suspect that it's something to do with MySQL. I might receive some kind of permission denied error if "db.ini" file had incorrect settings, right? But if that were true, I should be able to just put my root account settings in and it ought to work, right? That hasn't worked, either. So I think that that file is ok but I'm wondering if there's a problem with my MySQL user or database. Or maybe I just have no idea what I'm talking about :)

Anyway, would it be useful for me to post my entire setup procedure? I can download/use whatever files you all recommend or I can just tell you which ones I've been using.

Thanks again,
rainwalker

P.S. - Kobaz - how do I check the targets of the sym links?

rainwalkerx
06-09-2009, 04:47 PM
Ok, maybe some progress. I tried running an ancient "bootserver" file leftover from a previous attempt and this time a world.log file was generated. I check it out and this is what it said:


[Debug] Starting Log: logs/eqemu_debug_world.log
[Debug] [COMMON__THREADS] Starting TCPServerLoop with thread ID -1215403120
[Debug] [COMMON__THREADS] Starting TCPServerLoop with thread ID -1223795824
[Debug] [RULES__CHANGE] Resetting running rules to default values
[Debug] [WORLD__INIT] Loading server configuration..
[Debug] [WORLD__INIT] Log settings loaded from log.ini
[Debug] [WORLD__INIT] CURRENT_WORLD_VERSION:EQEMu 0.7.0
[Debug] [WORLD__INIT] Connecting to MySQL...
[Error] Starting Log: logs/eqemu_error_world.log
[Error] Failed to connect to database: Error: #1045: Access denied for user 'eq'@'localhost' (using password: YES)
[Debug] [WORLD__INIT_ERR] Cannot continue without a database connection.
[Debug] [COMMON__THREADS] Ending TCPServerLoop with thread ID -1223795824
[Debug] [COMMON__THREADS] Ending TCPServerLoop with thread ID -1215403120


The interesting part is that I don't have a user named 'eq' in MySQL. Perhaps I created one a long time ago but not via Webmin nor MySQL do I see a user called 'eq' anywhere. Is there (hopefully) a really easy way to fix this? :D

trevius
06-09-2009, 04:54 PM
[Error] Failed to connect to database: Error: #1045: Access denied for user 'eq'@'localhost' (using password: YES)

That means that your config file for the server has eq set as the username to get into the database, which is the default username in that file. This probably means that you did not edit your config file, which you definitely need to do before the server will work.

rainwalkerx
06-09-2009, 05:04 PM
Thanks trevius. Well, I think I edited the eqemu_config.xml files correctly. When I run that old bootserver file, though, it still shows me as trying to connect with user 'eq'. Which other files was I supposed to edit?

gaeorn
06-09-2009, 05:13 PM
Try logging in to the mysql server with the mysql CLI using the same username and password you have in the eqemu_config.xml file.

This should prompt you for the password:

mysql -u <your mysql username here> -p

If that works, then you know you have the correct username and password. However, there is still a possibility that your config file has an error. So I would suggest you post your config file here.

NOTE: Make sure to remove/replace the username and password before posting the config. We don't need to know that information :)

rainwalkerx
06-09-2009, 10:53 PM
gaeorn - I am positively able to login to MySQL with the code you supplied.

Here's my full xml config file:


<?xml version="1.0">
<server>
<world>
<shortname>RegnumImbrium</shortname>
<longname>Regnum Imbrium</longname>

<!-- Only specify these two if you really think you need to. (read: You dont) -->
<!-- <address></address> -->
<!-- <localaddress></localaddress> -->

<!-- Loginserver information. Defaults shown -->
<loginserver>
<host>www.regnumimbrium.net</host>
<port>5999</port>
<account></account>
<password></password>
</loginserver>

<!-- Server status. Default is unlocked -->
<!--<locked/>-->
<!-- <unlocked/> -->

<!-- Sets the ip/port for the tcp connections. Both zones and console (if enabled). Defaults are shown -->
<tcp ip="localhost" port="9000" telnet="disable"/>

<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>some long random string</key>

<!-- Enable and set the port for the HTTP service. Defaults are shown -->
<http port="9080" enabled="false" mimefile="mime.types" />
</world>

<!-- Chatserver (channels) information. Defaults shown -->
<chatserver>
<host>channels.eqemulator.net</host>
<port>7778</port>
</chatserver>

<!-- Mailserver (in-game mail) information. Defaults shown -->
<mailserver>
<host>channels.eqemulator.net</host>
<port>7779</port>
</mailserver>

<zones>
<defaultstatus>20</defaultstatus>

<!-- Sets port range for world to use to auto configure zones -->
<ports low="7000" high="7100"/>
</zones>

<!-- Database configuration, replaces db.ini. Defaults shown -->
<database>
<host>localhost</host>
<port>3306</port>
<username>myusername</username>
<password>mypassword</password>
<db>eqemu</db>
</database>

<!-- Launcher Configuration -->
<launcher>
<!-- <logprefix>logs/zone-</logprefix> -->
<!-- <logsuffix>.log</logsuffix> -->
<!-- <exe>zone.exe or ./zone</exe> -->
<!-- <timers restart="10000" reterminate="10000"> -->
</launcher>

<!-- File locations. Defaults shown -->
<files>
<!-- <spells>spells_us.txt</spells> -->
<!-- <opcodes>opcodes.conf</opcodes> -->
<!-- <logsettings>log.ini</logsettings> -->
<!-- <eqtime>eqtime.cfg</eqtime> -->
</files>
<!-- Directory locations. Defaults shown -->
<directories>
<!-- <maps>Maps</maps> -->
<!-- <quests>quests</quests> -->
<!-- <plugins>plugins</plugins> -->
</directories>
</server>


Like I said, what I find really strange is that the one log file seems to indicate that somewhere, something is trying to login with 'eq' when clearly I've changed it in the xml file. Maybe it's time to try the stock eqemulator.net emulator again.

trevius
06-09-2009, 11:11 PM
Thanks trevius. Well, I think I edited the eqemu_config.xml files correctly. When I run that old bootserver file, though, it still shows me as trying to connect with user 'eq'. Which other files was I supposed to edit?

Your problem is probably due to whatever old bootserver you are running, then. You should not need to use anything like that to get a server running. It comes with everything you need other than the start.bat and shortcuts.

rainwalkerx
06-09-2009, 11:30 PM
No, I tried that out of desperation. I normally and continue to use start, stop, and persist_world (taken from the Debian Linux guide).

Just for reference, here's the steps I'm trying tonight:


1. Extract EQEmu server 554 (from angelox) to directory.
2. Open terminal, type "su - root" to switch to root user.
3. "apt-get update"
4. "apt-get install mysql-server"
5. "apt-get install libmysqlclient15-dev"
6. "apt-get install gcc g++ make libio-stringy-perl libperl-dev unzip"
7. "chown -R root:root /my_server_directory"
8. "chmod -R 775 /my_server_directory"
9. Open my_server_directory/utils/Makefile and change gmake to make. Also open my_server_directory/world/client.cpp and, at the top, add "#include <limits.h>". While still in terminal, in my_server_directory, type "make".
10. "mysql -p"
"USE mysql;"
" SELECT Host,User FROM user;"
"insert into user set Host='localhost', User='equser', Password=password('eqpassword');"
"CREATE DATABASE eqemu;"
"GRANT ALL PRIVILEGES ON eqemu TO equser;"
"FLUSH PRIVILEGES;"
"exit"
11. Extract ax_classic SQL files (core and version) to my_server_directory, as well as plugins and quests.
12. Open terminal, type "su - root" to switch to root user.
13. "mysql -p -u equser eqemu"
"source ax_classic_3.10o_R42.sql"
"source version.sql"
14.
"ln -s /my_server_directory/utils/defaults/* ."
"ln -s /my_server_directory/utils/patch_* ."
"ln -s /my_server_directory/utils/cleanipc"
"ln -s /my_server_directory/world/world"
"ln -s /my_server_directory/zone/zone"
"ln -s /my_server_directory/EMuShareMem/libEMuShareMem.so"
"ln -s /my_server_directory/eqlaunch/eqlaunch"
15. Copy persist_world, stop, and start files. In terminal, type ./start to start world.


It's basically the same thing that I've been doing, except that I kept out a lot of different directories from more "modern" source codes, such as the new public login server and bot files. I doubt it'll work but I'll repost in the morning. If any extra ideas were waiting for me, it'd be awesome :D

AndMetal
06-10-2009, 01:39 AM
Paste the results from the following command:
ls -la /home/main/eqserver
Also, paste the ./start, ./stop, and ./persist_world scripts as you have them saved.

Kobaz
06-10-2009, 03:21 AM
Just FYI about dereferencing symlinks:

john@paranoia:~$ ls -l eqemu
lrwxrwxrwx 1 john john 19 2009-05-04 13:15 eqemu -> ../etch/home/eqemu/
john@paranoia:~$ ls -lL | grep eqemu
drwxr-xr-x 13 john john 4096 2009-05-11 06:51 eqemu
john@paranoia:~$ ls -lL eqemu
total 84
-rwxr-xr-x 1 root root 287 2008-12-20 06:03 checkoutPeq.sh
drwxr-xr-x 4 root root 4096 2009-04-09 13:16 database
-rw-r--r-- 1 john john 2558 2009-05-11 06:51 eqbuild.tgz
drwxr-xr-x 2 root root 4096 2008-12-20 06:03 files
-rwxr-xr-x 1 root root 94 2008-12-20 06:03 getEmuSource.sh
-rwxr-xr-x 1 root root 82 2008-12-20 06:03 getEmuSource.sh~
drwxr-xr-x 2 john john 4096 2009-04-10 08:23 LS
drwxr-xr-x 2 root root 24576 2009-01-19 07:20 maps
drwxr-xr-x 8 john john 4096 2009-05-11 13:42 new
drwxr-xr-x 11 root root 4096 2009-04-08 09:54 oldsource
drwxr-xr-x 11 root root 4096 2009-01-14 08:55 oldsource.1
drwxr-xr-x 4 root root 4096 2009-04-08 10:53 projecteqemu-read-only
drwxr-xr-x 194 root root 4096 2009-04-08 11:36 quests
drwxr-xr-x 2 root root 4096 2009-05-11 09:52 server
drwxr-xr-x 11 root root 4096 2009-04-09 07:39 source
drwxr-xr-x 3 root root 4096 2009-04-08 12:31 working_source
john@paranoia:~$

The first ls gives the permissions in the current directory.
The last ls gives the permissions in the target of the symlink
The middle ls with a grep gives the permissions of the target of the symlink

There is another option for ls that does the middle one without a grep, but my mind is too small to keep track of all the possible options for gnu ls.

Oh, and the reason because it looks like everything in the target belongs to root is because my eqemu runs in a chroot with a really wierd etc/passwd. This protects the server from my 170+ IQ 13 year old hacker son. He keeps me on my toes!

rainwalkerx
06-10-2009, 11:00 AM
Thanks AndMetal. Here's the results:


root@userv:/home/main/testserv# ls -la /home/main/eqserver
total 40052
drwxrwxr-x 22 main root 4096 2009-06-09 21:45 .
drwxr-xr-x 44 main root 4096 2009-06-10 09:28 ..
drwxrwxr-x 10 main root 4096 2009-06-08 23:58 ax_classic
-rwxrwxr-x 1 main root 163 2009-06-09 15:34 bootserver
-rw-rw-r-- 1 main root 154 2008-12-11 23:05 bootserver~
-rwxrwxr-x 1 main root 214530 2009-05-21 06:34 changelog.txt
drwxrwxr-x 4 main root 4096 2009-06-09 00:25 chatserver
lrwxrwxrwx 1 main root 34 2009-06-09 12:22 cleanipc -> /home/main/eqserver/utils/cleanipc
drwxrwxr-x 2 main root 32768 2009-06-09 00:07 client_maps
drwxrwxr-x 2 main root 4096 2009-06-09 00:07 client_patch_files
lrwxrwxrwx 1 main root 46 2009-06-09 12:22 commands.pl -> /home/main/eqserver/utils/defaults/commands.pl
drwxrwxr-x 6 main root 12288 2009-06-09 00:23 common
-rw-r--r-- 1 main root 1032 2009-06-09 21:45 crashlog
-rw-rw-r-- 1 main root 71 2009-06-09 12:01 db.ini~
-rwxrwxr-x 1 main root 49 2008-10-12 08:12 .directory
drwxrwxr-x 4 main root 4096 2009-06-09 00:05 EMuShareMem
lrwxrwxrwx 1 main root 51 2009-06-09 12:22 eqemu_config.xml -> /home/main/eqserver/utils/defaults/eqemu_config.xml
-rw-r--r-- 1 main root 147 2009-06-09 15:48 eqemu_config.xml~
lrwxrwxrwx 1 main root 56 2009-06-09 12:22 eqemu_config.xml.full -> /home/main/eqserver/utils/defaults/eqemu_config.xml.full
-rw-r--r-- 1 main root 2366 2009-06-09 21:40 eqemu_config.xml.full~
drwxrwxr-x 4 main root 4096 2009-06-09 00:23 eqlaunch
-rwxrwxr-x 1 main root 71 2008-09-29 12:30 GPL.txt
lrwxrwxrwx 1 main root 49 2009-06-09 12:22 libEMuShareMem.so -> /home/main/eqserver/EMuShareMem/libEMuShareMem.so
lrwxrwxrwx 1 main root 42 2009-06-09 12:22 log.ini -> /home/main/eqserver/utils/defaults/log.ini
-rwxrwxr-x 1 main root 260 2008-12-11 22:19 LoginServer.ini~
drwxrwxr-x 2 main root 4096 2009-06-09 21:37 logs
drwxrwxr-x 4 main root 4096 2009-06-09 00:24 mailserver
-rwxrwxr-x 1 main root 410 2009-01-01 13:20 Makefile
drwxrwxr-x 2 main root 12288 2009-06-08 09:43 Maps
lrwxrwxrwx 1 main root 45 2009-06-09 12:22 mime.types -> /home/main/eqserver/utils/defaults/mime.types
drwxrwxr-x 2 main root 4096 2009-06-08 09:43 new_maps
drwxrwxr-x 2 main root 4096 2009-06-09 21:39 NewPublicLogin
lrwxrwxrwx 1 main root 40 2009-06-09 12:22 patch_6.2.conf -> /home/main/eqserver/utils/patch_6.2.conf
lrwxrwxrwx 1 main root 48 2009-06-09 12:22 patch_Anniversary.conf -> /home/main/eqserver/utils/patch_Anniversary.conf
lrwxrwxrwx 1 main root 41 2009-06-09 12:22 patch_Live.conf -> /home/main/eqserver/utils/patch_Live.conf
lrwxrwxrwx 1 main root 40 2009-06-09 12:22 patch_SoF.conf -> /home/main/eqserver/utils/patch_SoF.conf
lrwxrwxrwx 1 main root 45 2009-06-09 12:22 patch_Titanium.conf -> /home/main/eqserver/utils/patch_Titanium.conf
drwxrwxr-x 4 main root 4096 2009-06-08 09:43 peq
-rwxrwxr-x 1 main root 213 2008-12-11 22:23 persist_world
lrwxrwxrwx 1 main root 44 2009-06-09 12:22 plugin.pl -> /home/main/eqserver/utils/defaults/plugin.pl
drwxrwxr-x 3 main root 4096 2009-06-09 00:07 plugins
drwxrwxr-x 170 main root 4096 2009-06-09 00:09 quests
-rwxrwxr-x 1 main root 292 2009-01-11 13:41 README_FIRST!!!
-rwxrwxr-x 1 main root 6196 2009-01-31 10:17 Server71.sln
drwxrwxr-x 2 main root 4096 2009-05-03 08:38 server_conf_files
-rwxrwxr-x 1 main root 1961 2008-09-29 12:30 Server.dsw
-rwxrwxr-x 1 main root 33582080 2009-04-13 07:41 Server.ncb
-rwxrwxr-x 1 main root 8487 2009-04-13 07:30 Server.sln
-rwxrwxr-x 1 main root 2149759 2005-10-17 12:32 spells_en.txt
-rwxrwxr-x 1 main root 4772239 2005-10-28 19:04 spells_us.txt
-rwxrwxr-x 1 main root 898 2008-12-11 22:22 start
-rwxrwxr-x 1 main root 307 2008-12-11 22:23 stop
drwxrwxr-x 6 main root 4096 2009-05-22 07:09 .svn
lrwxrwxrwx 1 main root 44 2009-06-09 12:22 templates -> /home/main/eqserver/utils/defaults/templates
drwxrwxr-x 15 main root 4096 2009-06-09 00:25 utils
drwxrwxr-x 4 main root 4096 2009-06-09 15:30 world
-rw-r--r-- 1 root root 861 2009-06-09 15:52 world.log
-rw-r--r-- 1 main root 0 2009-06-09 21:45 .world_shutdown
lrwxrwxrwx 1 main root 42 2009-06-09 12:22 worldui -> /home/main/eqserver/utils/defaults/worldui
lrwxrwxrwx 1 main root 45 2009-06-09 12:22 worldui.pl -> /home/main/eqserver/utils/defaults/worldui.pl
drwxrwxr-x 4 main root 12288 2009-06-09 00:23 zone
-rw-r--r-- 1 main root 0 2009-06-09 21:45 .zone_shutdown


./start script

#!/bin/sh

#ulimit -c 99999999

rm -f .zone_shutdown
rm -f .world_shutdown

set -x

LNAME="zone" #launcher name
if [ "$1" = "test" ]; then
LNAME="test"
fi

P=`pwd`
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$P"

#make sure we have a place to log
mkdir -p logs 2>&1 > /dev/null

#clear out old logs, if both are stopped
if [ ! -e .lock-zones -a ! -e .lock-world ] ; then
for f in logs/eqemu_*.log
do
if [ "$f" = "logs/eqemu_commands_zone.log" ]; then
continue;
fi

rm -f $f
done
fi

#boot up world
if [ ! -e .lock-world ] ; then
touch .lock-world
# ./world 2>&1 > logs/world &
./persist_world 2>&1 > logs/world &
# wait for shared memory to load
sleep 15
fi

#start up the official launcher
if [ ! -e .lock-launcher ]; then
touch .lock-launcher
./eqlaunch $LNAME 2>&1 > logs/launcher &
fi

./persist_world

#!/bin/sh

#ulimit -c 99999999

while true
do
./world "$@"
if [ -r ".world_shutdown" ]; then
exit 0
fi

echo `date` "World crashed." >>crashlog
sleep 2
done

./stop

#!/bin/sh

touch .zone_shutdown
touch .world_shutdown

killall world eqlaunch zone
sleep 3

if ps ax|grep -e 'w[o]rld' -e 'z[o]ne' -e 'eq[l]aunch' >/dev/null; then
killall -9 world eqlaunch zone
sleep 2
fi

./cleanipc
rm -f .lock-zones .lock-world .lock-login .lock-launcher


...and here's those commands that you recommended, Kobaz:

ls -l eqserver

root@userv:/home/main# ls -l eqserver
total 40036
drwxrwxr-x 10 main root 4096 2009-06-08 23:58 ax_classic
-rwxrwxr-x 1 main root 163 2009-06-09 15:34 bootserver
-rw-rw-r-- 1 main root 154 2008-12-11 23:05 bootserver~
-rwxrwxr-x 1 main root 214530 2009-05-21 06:34 changelog.txt
drwxrwxr-x 4 main root 4096 2009-06-09 00:25 chatserver
lrwxrwxrwx 1 main root 34 2009-06-09 12:22 cleanipc -> /home/main/eqserver/utils/cleanipc
drwxrwxr-x 2 main root 32768 2009-06-09 00:07 client_maps
drwxrwxr-x 2 main root 4096 2009-06-09 00:07 client_patch_files
lrwxrwxrwx 1 main root 46 2009-06-09 12:22 commands.pl -> /home/main/eqserver/utils/defaults/commands.pl
drwxrwxr-x 6 main root 12288 2009-06-09 00:23 common
-rw-r--r-- 1 main root 1032 2009-06-09 21:45 crashlog
-rw-rw-r-- 1 main root 71 2009-06-09 12:01 db.ini~
drwxrwxr-x 4 main root 4096 2009-06-09 00:05 EMuShareMem
lrwxrwxrwx 1 main root 51 2009-06-09 12:22 eqemu_config.xml -> /home/main/eqserver/utils/defaults/eqemu_config.xml
-rw-r--r-- 1 main root 147 2009-06-09 15:48 eqemu_config.xml~
lrwxrwxrwx 1 main root 56 2009-06-09 12:22 eqemu_config.xml.full -> /home/main/eqserver/utils/defaults/eqemu_config.xml.full
-rw-r--r-- 1 main root 2366 2009-06-09 21:40 eqemu_config.xml.full~
drwxrwxr-x 4 main root 4096 2009-06-09 00:23 eqlaunch
-rwxrwxr-x 1 main root 71 2008-09-29 12:30 GPL.txt
lrwxrwxrwx 1 main root 49 2009-06-09 12:22 libEMuShareMem.so -> /home/main/eqserver/EMuShareMem/libEMuShareMem.so
lrwxrwxrwx 1 main root 42 2009-06-09 12:22 log.ini -> /home/main/eqserver/utils/defaults/log.ini
-rwxrwxr-x 1 main root 260 2008-12-11 22:19 LoginServer.ini~
drwxrwxr-x 2 main root 4096 2009-06-09 21:37 logs
drwxrwxr-x 4 main root 4096 2009-06-09 00:24 mailserver
-rwxrwxr-x 1 main root 410 2009-01-01 13:20 Makefile
drwxrwxr-x 2 main root 12288 2009-06-08 09:43 Maps
lrwxrwxrwx 1 main root 45 2009-06-09 12:22 mime.types -> /home/main/eqserver/utils/defaults/mime.types
drwxrwxr-x 2 main root 4096 2009-06-08 09:43 new_maps
drwxrwxr-x 2 main root 4096 2009-06-09 21:39 NewPublicLogin
lrwxrwxrwx 1 main root 40 2009-06-09 12:22 patch_6.2.conf -> /home/main/eqserver/utils/patch_6.2.conf
lrwxrwxrwx 1 main root 48 2009-06-09 12:22 patch_Anniversary.conf -> /home/main/eqserver/utils/patch_Anniversary.conf
lrwxrwxrwx 1 main root 41 2009-06-09 12:22 patch_Live.conf -> /home/main/eqserver/utils/patch_Live.conf
lrwxrwxrwx 1 main root 40 2009-06-09 12:22 patch_SoF.conf -> /home/main/eqserver/utils/patch_SoF.conf
lrwxrwxrwx 1 main root 45 2009-06-09 12:22 patch_Titanium.conf -> /home/main/eqserver/utils/patch_Titanium.conf
drwxrwxr-x 4 main root 4096 2009-06-08 09:43 peq
-rwxrwxr-x 1 main root 213 2008-12-11 22:23 persist_world
lrwxrwxrwx 1 main root 44 2009-06-09 12:22 plugin.pl -> /home/main/eqserver/utils/defaults/plugin.pl
drwxrwxr-x 3 main root 4096 2009-06-09 00:07 plugins
drwxrwxr-x 170 main root 4096 2009-06-09 00:09 quests
-rwxrwxr-x 1 main root 292 2009-01-11 13:41 README_FIRST!!!
-rwxrwxr-x 1 main root 6196 2009-01-31 10:17 Server71.sln
drwxrwxr-x 2 main root 4096 2009-05-03 08:38 server_conf_files
-rwxrwxr-x 1 main root 1961 2008-09-29 12:30 Server.dsw
-rwxrwxr-x 1 main root 33582080 2009-04-13 07:41 Server.ncb
-rwxrwxr-x 1 main root 8487 2009-04-13 07:30 Server.sln
-rwxrwxr-x 1 main root 2149759 2005-10-17 12:32 spells_en.txt
-rwxrwxr-x 1 main root 4772239 2005-10-28 19:04 spells_us.txt
-rwxrwxr-x 1 main root 898 2008-12-11 22:22 start
-rwxrwxr-x 1 main root 307 2008-12-11 22:23 stop
lrwxrwxrwx 1 main root 44 2009-06-09 12:22 templates -> /home/main/eqserver/utils/defaults/templates
drwxrwxr-x 15 main root 4096 2009-06-09 00:25 utils
drwxrwxr-x 4 main root 4096 2009-06-09 15:30 world
-rw-r--r-- 1 root root 861 2009-06-09 15:52 world.log
lrwxrwxrwx 1 main root 42 2009-06-09 12:22 worldui -> /home/main/eqserver/utils/defaults/worldui
lrwxrwxrwx 1 main root 45 2009-06-09 12:22 worldui.pl -> /home/main/eqserver/utils/defaults/worldui.pl
drwxrwxr-x 4 main root 12288 2009-06-09 00:23 zone


ls -lL | grep eqserver

root@userv:/home/main# ls -lL | grep eqserver
drwxrwxr-x 22 main root 4096 2009-06-09 21:45 eqserver


ls -lL eqserver

root@userv:/home/main# ls -lL eqserver
total 40480
drwxrwxr-x 10 main root 4096 2009-06-08 23:58 ax_classic
-rwxrwxr-x 1 main root 163 2009-06-09 15:34 bootserver
-rw-rw-r-- 1 main root 154 2008-12-11 23:05 bootserver~
-rwxrwxr-x 1 main root 214530 2009-05-21 06:34 changelog.txt
drwxrwxr-x 4 main root 4096 2009-06-09 00:25 chatserver
-rwxrwxr-x 1 main root 14097 2009-06-09 00:25 cleanipc
drwxrwxr-x 2 main root 32768 2009-06-09 00:07 client_maps
drwxrwxr-x 2 main root 4096 2009-06-09 00:07 client_patch_files
-rwxrwxr-x 1 main root 0 2008-09-29 12:29 commands.pl
drwxrwxr-x 6 main root 12288 2009-06-09 00:23 common
-rw-r--r-- 1 main root 1032 2009-06-09 21:45 crashlog
-rw-rw-r-- 1 main root 71 2009-06-09 12:01 db.ini~
drwxrwxr-x 4 main root 4096 2009-06-09 00:05 EMuShareMem
-rwxrwxr-x 1 main root 143 2009-06-09 15:48 eqemu_config.xml
-rw-r--r-- 1 main root 147 2009-06-09 15:48 eqemu_config.xml~
-rwxrwxr-x 1 main root 2331 2009-06-09 21:40 eqemu_config.xml.full
-rw-r--r-- 1 main root 2366 2009-06-09 21:40 eqemu_config.xml.full~
drwxrwxr-x 4 main root 4096 2009-06-09 00:23 eqlaunch
-rwxrwxr-x 1 main root 71 2008-09-29 12:30 GPL.txt
-rwxrwxr-x 1 main root 313421 2009-06-09 00:05 libEMuShareMem.so
-rwxrwxr-x 1 main root 0 2008-09-29 12:29 log.ini
-rwxrwxr-x 1 main root 260 2008-12-11 22:19 LoginServer.ini~
drwxrwxr-x 2 main root 4096 2009-06-09 21:37 logs
drwxrwxr-x 4 main root 4096 2009-06-09 00:24 mailserver
-rwxrwxr-x 1 main root 410 2009-01-01 13:20 Makefile
drwxrwxr-x 2 main root 12288 2009-06-08 09:43 Maps
-rwxrwxr-x 1 main root 1077 2008-09-29 12:29 mime.types
drwxrwxr-x 2 main root 4096 2009-06-08 09:43 new_maps
drwxrwxr-x 2 main root 4096 2009-06-09 21:39 NewPublicLogin
-rwxrwxr-x 1 main root 17432 2009-05-21 17:05 patch_6.2.conf
-rwxrwxr-x 1 main root 16596 2008-09-29 12:29 patch_Anniversary.conf
-rwxrwxr-x 1 main root 15281 2008-09-29 12:29 patch_Live.conf
-rwxrwxr-x 1 main root 20138 2009-05-21 17:05 patch_SoF.conf
-rwxrwxr-x 1 main root 17568 2009-05-21 17:05 patch_Titanium.conf
drwxrwxr-x 4 main root 4096 2009-06-08 09:43 peq
-rwxrwxr-x 1 main root 213 2008-12-11 22:23 persist_world
-rwxrwxr-x 1 main root 0 2008-09-29 12:29 plugin.pl
drwxrwxr-x 3 main root 4096 2009-06-09 00:07 plugins
drwxrwxr-x 170 main root 4096 2009-06-09 00:09 quests
-rwxrwxr-x 1 main root 292 2009-01-11 13:41 README_FIRST!!!
-rwxrwxr-x 1 main root 6196 2009-01-31 10:17 Server71.sln
drwxrwxr-x 2 main root 4096 2009-05-03 08:38 server_conf_files
-rwxrwxr-x 1 main root 1961 2008-09-29 12:30 Server.dsw
-rwxrwxr-x 1 main root 33582080 2009-04-13 07:41 Server.ncb
-rwxrwxr-x 1 main root 8487 2009-04-13 07:30 Server.sln
-rwxrwxr-x 1 main root 2149759 2005-10-17 12:32 spells_en.txt
-rwxrwxr-x 1 main root 4772239 2005-10-28 19:04 spells_us.txt
-rwxrwxr-x 1 main root 898 2008-12-11 22:22 start
-rwxrwxr-x 1 main root 307 2008-12-11 22:23 stop
drwxrwxr-x 4 main root 4096 2009-05-08 14:48 templates
drwxrwxr-x 15 main root 4096 2009-06-09 00:25 utils
drwxrwxr-x 4 main root 4096 2009-06-09 15:30 world
-rw-r--r-- 1 root root 861 2009-06-09 15:52 world.log
drwxrwxr-x 3 main root 4096 2008-09-29 12:29 worldui
-rwxrwxr-x 1 main root 0 2008-09-29 12:29 worldui.pl
drwxrwxr-x 4 main root 12288 2009-06-09 00:23 zone


So, although I'm no expert, it looks like my permissions are fine. I tried doing a simpler compile last night (using the steps I posted) and it didn't work, either. Given the results of these tests, unless I interpreted them totally incorrectly, I'm still inclined to think that this is a MySQL issue. Am I totally off-base, here?

The reasons I think it's MySQL are as follows:
1) No amount of beginner-level permissions-tweaking over the last 15 months has gotten this to work; also, the above tests seem to indicate that my permissions are correct.
2) I *think* that when it *seemed* to be working correctly a few days ago, it was hooked up to an old PEQ database, which (before I deleted it) probably had a different user and different database permissions.
3) The error log produced from that old bootserver file clearly shows some kind of critical problem with the MySQL access:

[Debug] [WORLD__INIT] Connecting to MySQL...
[Error] Starting Log: logs/eqemu_error_world.log
[Error] Failed to connect to database: Error: #1045: Access denied for user 'eq'@'localhost' (using password: YES)
[Debug] [WORLD__INIT_ERR] Cannot continue without a database connection.


For reference, here's the old bootserver file that I had tried on a whim:

echo 83886080 > /proc/sys/kernel/shmmax
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
rm logs/*
rm *log
./cleanipc
/home/main/eqserver/world/world 2>&1 >> world.log &


One of the lingering questions, in my mind, is why is the emulator trying to use "eq" to connect to the MySQL database, even after I modified eqemu_config.xml.full?

Anyway, thanks for sticking with this, everyone. Sorry that I'm not more experienced with Linux after a year-and-a-half of mistakes :oops:

rainwalkerx
06-10-2009, 11:16 AM
Ok, one more note on my inexperience. A long time ago when I was still struggling to make things work I tried the guide located here:

http://www.eqemulator.net/wiki/wikka.php?wakka=LinuxServer

The section "Compilation : zone" under Part 2 required me to mess around with some MySQL configuration file. I tried to follow the steps but I remember worrying about not understanding everything correctly or possibly modifying the wrong stuff. Here's part of the section from the guide:


#!/bin/sh

cflags="-I/usr/local/share/mysql/include/mysql"
include="-I/usr/local/share/mysql/include/mysql"
libs="-L/usr/local/share/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm"
libs_r="-L/usr/local/share/mysql/lib/mysql -lmysqlclient_r -lpthread -lz -lcrypt -lnsl -lm -lpthread"
socket="/tmp/mysql.sock"
port="3306"
version="4.0.18"
embedded_libs="-L/usr/local/share/mysql/lib/mysql -lmysqld -lpthread -lz -lcrypt -lnsl -lm -lpthread -lrt"

usage () {
cat <<EOF
Usage: $0 [OPTIONS]
Options:
--cflags [$cflags]
--include [$include]
--libs [$libs]
--libs_r [$libs_r]
--socket [$socket]
--port [$port]
--version [$version]
--libmysqld-libs [$embedded_libs]
EOF
exit 1
}

if test $# -le 0; then usage; fi

while test $# -gt 0; do
case $1 in
--cflags) echo "$cflags" ;;
--include) echo "$include" ;;
--libs) echo "$libs" ;;
--libs_r) echo "$libs_r" ;;
--socket) echo "$socket" ;;
--port) echo "$port" ;;
--version) echo "$version" ;;
--embedded-libs | --embedded | --libmysqld-libs) echo "$embedded_libs" ;;
*) usage ;;
esac

shift
done

exit 0


And here's what my mysql_config file looks like, now:

#!/bin/sh
# Copyright (C) 2000-2006 MySQL AB
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

# This script reports various configuration settings that may be needed
# when using the MySQL client library.

which ()
{
IFS="${IFS= }"; save_ifs="$IFS"; IFS=':'
for file
do
for dir in $PATH
do
if test -f $dir/$file
then
echo "$dir/$file"
continue 2
fi
done
echo "which: no $file in ($PATH)"
exit 1
done
IFS="$save_ifs"
}

#
# If we can find the given directory relatively to where mysql_config is
# we should use this instead of the incompiled one.
# This is to ensure that this script also works with the binary MySQL
# version

fix_path ()
{
var=$1
shift
for filename
do
path=$basedir/$filename
if [ -d "$path" ] ;
then
eval "$var"=$path
return
fi
done
}

get_full_path ()
{
file=$1

# if the file is a symlink, try to resolve it
if [ -h $file ];
then
file=`ls -l $file | awk '{ print $NF }'`
fi

case $file in
/*) echo "$file";;
*/*) tmp=`pwd`/$file; echo $tmp | sed -e 's;/\./;/;' ;;
*) which $file ;;
esac
}

me=`get_full_path $0`

basedir=`echo $me | sed -e 's;/bin/mysql_config;;'`

ldata='/var/lib/mysql'
execdir='/usr/sbin'
bindir='/usr/bin'

# If installed, search for the compiled in directory first (might be "lib64")
pkglibdir='/usr/lib/mysql'
pkglibdir_rel=`echo $pkglibdir | sed -e "s;^$basedir/;;"`
fix_path pkglibdir $pkglibdir_rel lib/mysql lib

pkgincludedir='/usr/include/mysql'
fix_path pkgincludedir include/mysql include

version='5.0.67'
socket='/var/run/mysqld/mysqld.sock'
ldflags='-Wl,-Bsymbolic-functions -rdynamic '

if [ 0 -eq 0 ]; then
port=0
else
port=3306
fi

# Create options
# We intentionally add a space to the beginning and end of lib strings, simplifies replace later

libs=" $ldflags -L$pkglibdir -lmysqlclient"
libs="$libs "
libs_r=" $ldflags -L$pkglibdir -lmysqlclient_r "
embedded_libs="-L/usr/local/share/mysql/lib/mysql -lmysqld -lpthread -lz -lcrypt -lnsl -lm -lpthread -lrt"

if [ -r "$pkglibdir/libmygcc.a" ]; then
# When linking against the static library with a different version of GCC
# from what was used to compile the library, some symbols may not be defined
# automatically. We package the libmygcc.a from the build host, to provide
# definitions for those. Bugs 4921, 19561, 19817, 21158, etc.
libs="$libs -lmygcc "
libs_r="$libs_r -lmygcc "
embedded_libs="$embedded_libs -lmygcc "
fi

cflags="-I$pkgincludedir -DDBUG_OFF -DBIG_JOINS=1 -O2 -fPIC " #note: end space!
include="-I$pkgincludedir"

# Remove some options that a client doesn't have to care about
# FIXME until we have a --cxxflags, we need to remove -Xa
# and -xstrconst to make --cflags usable for Sun Forte C++
# FIXME until we have a --cxxflags, we need to remove -AC99
# to make --cflags usable for HP C++ (aCC)
for remove in DDBUG_OFF DSAFEMALLOC USAFEMALLOC DSAFE_MUTEX \
DPEDANTIC_SAFEMALLOC DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS \
DEXTRA_DEBUG DHAVE_purify O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \
'mtune=[-A-Za-z0-9]*' 'mcpu=[-A-Za-z0-9]*' 'march=[-A-Za-z0-9]*' \
Xa xstrconst "xc99=none" AC99 \
unroll2 ip mp restrict
do
# The first option we might strip will always have a space before it because
# we set -I$pkgincludedir as the first option
cflags=`echo "$cflags"|sed -e "s/ -$remove */ /g"`
done
cflags=`echo "$cflags"|sed -e 's/ *\$//'`

# Same for --libs(_r)
for remove in lmtmalloc static-libcxa i-static static-intel
do
# We know the strings starts with a space
libs=`echo "$libs"|sed -e "s/ -$remove */ /g"`
libs_r=`echo "$libs_r"|sed -e "s/ -$remove */ /g"`
embedded_libs=`echo "$embedded_libs"|sed -e "s/ -$remove */ /g"`
done

# Strip trailing and ending space if any, and '+' (FIXME why?)
libs=`echo "$libs" | sed -e 's; \+; ;g' | sed -e 's;^ *;;' | sed -e 's; *\$;;'`
libs_r=`echo "$libs_r" | sed -e 's; \+; ;g' | sed -e 's;^ *;;' | sed -e 's; *\$;;'`
embedded_libs=`echo "$embedded_libs" | sed -e 's; \+; ;g' | sed -e 's;^ *;;' | sed -e 's; *\$;;'`

usage () {
cat <<EOF
Usage: $0 [OPTIONS]
Options:
--cflags [$cflags]
--include [$include]
--libs [$libs]
--libs_r [$libs_r]
--socket [$socket]
--port [$port]
--version [$version]
--libmysqld-libs [$embedded_libs]
EOF
exit 1
}

if test $# -le 0; then usage; fi

while test $# -gt 0; do
case $1 in
--cflags) echo "$cflags" ;;
--include) echo "$include" ;;
--libs) echo "$libs" ;;
--libs_r) echo "$libs_r" ;;
--socket) echo "$socket" ;;
--port) echo "$port" ;;
--version) echo "$version" ;;
--embedded-libs | --embedded | --libmysqld-libs) echo "$embedded_libs" ;;
*) usage ;;
esac

shift
done

#echo "ldata: '"$ldata"'"
#echo "execdir: '"$execdir"'"
#echo "bindir: '"$bindir"'"
#echo "pkglibdir: '"$pkglibdir"'"
#echo "pkgincludedir: '"$pkgincludedir"'"
#echo "version: '"$version"'"
#echo "socket: '"$socket"'"
#echo "port: '"$port"'"
#echo "ldflags: '"$ldflags"'"
#echo "client_libs: '"$client_libs"'"

exit 0


When that attempt to get a working server also failed, I tried to go back and undo the changes I'd made to this important-looking file. Unfortunately, I couldn't remember everything I'd done, since my mysql_config file had looked very different from the one displayed in the guide :rolleyes:

Any chance that herein lies the problem?

pfyon
06-10-2009, 11:20 AM
I think eqemu_config.xml.full is the full config file, but isn't read. It's just there for reference. Edit eqemu_config.xml with your mysql account details.

rainwalkerx
06-10-2009, 01:39 PM
Ok, I'm ready to report the latest batch of successes and failures.

pfyon - I tried what you recommended and replaced my eqemu_config.xml file with the full contents from eqemu_config.xml.full. It still didn't work.

I decided to run that bootserver file again and, lo and behold, a brand new error (unless I just overlooked it before):

main@userv:~/testserv$ ./bootserver
./bootserver: line 1: /proc/sys/kernel/shmmax: Permission denied
Successfully removed 1224852277 (items)
Successfully removed 1308738357 (unused)
Successfully removed 1140966197 (unused)
Successfully removed 1392624437 (spells)
Successfully removed 1174520629 (factions)
Successfully removed 1275183925 (loot)
Successfully removed 1291961141 (unused)
Successfully removed 1325515573 (opcodes)
Successfully removed 1510064949 (unused)
Successfully removed 1258406709 (skillcaps)


Although the permission was denied again, it came at a different point (I think).

Not knowing what to do next, I decided to start from scratch and go as stock as possible this time. I went and downloaded projecteqemu - Revision 649, projecteqquests - Revision 90, and projecteqdb - Revision 24, via the svn command. I took these and put them into a new directory, /home/main/EQEmuServer.

Then, I opened my_server_directory/utils/Makefile and change gmake to make. I then compiled the source. Then I made my links, as follows:
ln -s ../source/peqdb_1129Rev342/utils/defaults/* .
ln -s ../source/peqdb_1129Rev342/utils/patch_* .
ln -s ../source/peqdb_1129Rev342/utils/cleanipc .
ln -s ../source/peqdb_1129Rev342/world/world .
ln -s ../source/peqdb_1129Rev342/EMuShareMem/libEMuShareMem.so .
ln -s ../source/peqdb_1129Rev342/eqlaunch/eqlaunch .
ln -s ../source/peqdb_1129Rev342/zone/zone .

Then I followed these MySQL commands (fake info):

"mysql -p"
"USE mysql;"
" SELECT Host,User FROM user;"
"insert into user set Host='localhost', User='my_eq_user', Password=password('eqpassword');"
"CREATE DATABASE peq_db;"
"GRANT ALL PRIVILEGES ON peq_db TO my_eq_user;"
"FLUSH PRIVILEGES;"
"exit"
"mysql -p -u my_eq_user peq_db"
"source peqdb_1129Rev628.sql"
"source load_player.sql"
"source load_bots.sql"
"exit"


I was feeling good about this compile so I ran it. Again, permission denied. To be sure, I ran:

"chown -R main:root /home/main/EQEmuServer"
"chmod -R 775 /home/main/EQEmuServer"
"chmod -R +x /home/main/EQEmuServer"


Permisson denied. I went into MySQL via Webmin and (to the best of my knowledge) checked out permissions for users, databases, tables, etc. I gave my_eq_user every single permission I possibly could for the peq_db. I tried to run ./start again and was still denied.

Frustrated, I decided to run the old bootserver file so that it'd generate an error log (the only useful error log I've yet to find). I ran the file, checked the generated world.log file, and strangely enough...


[Debug] Starting Log: logs/eqemu_debug_world.log
[Debug] [COMMON__THREADS] Starting TCPServerLoop with thread ID -1214243952
[Debug] [COMMON__THREADS] Starting TCPServerLoop with thread ID -1222636656
[Debug] [RULES__CHANGE] Resetting running rules to default values
[Debug] [WORLD__INIT] Loading server configuration..
[Debug] [WORLD__INIT] Log settings loaded from log.ini
[Debug] [WORLD__INIT] CURRENT_WORLD_VERSION:EQEMu 0.7.0
[Debug] [WORLD__INIT] Connecting to MySQL...
[Status] Starting Log: logs/eqemu_world.log
[Status] Using database 'peq' at localhost:3306
[Debug] [COMMON__THREADS] Starting DBAsyncLoop with thread ID -1231029360
[Debug] [WORLD__INIT] HTTP world service disabled.
[Debug] [WORLD__INIT] Loading variables..
[Debug] [WORLD__INIT] Loading zones..
[Debug] [WORLD__INIT] Clearing groups..
[Debug] [WORLD__INIT] Clearing raids..
[Debug] [WORLD__INIT] Loading items..
[Status] libEMuShareMem.so loaded
[Status] Loading items from database: count=76214
[Debug] [WORLD__INIT] Loading guilds..
[Debug] [RULES__CHANGE] Loading rule set 'default' (1)
[Debug] [RULES__CHANGE] Set rule GM:MinStatusToZoneAnywhere to value 250
[Debug] [RULES__CHANGE] Set rule Character:MaxLevel to value 65
[Debug] [RULES__CHANGE] Set rule Character:LeaveCorpses to value true
[Debug] [RULES__CHANGE] Set rule Character:LeaveNakedCorpses to value true
[Debug] [RULES__CHANGE] Set rule Combat:MinRangedAttackDist to value 25
[Debug] [RULES__CHANGE] Set rule Character:ExpMultiplier to value 0.5000000000000
[Debug] [RULES__CHANGE] Set rule Character:AAExpMultiplier to value 0.5000000000000
[Debug] [RULES__CHANGE] Set rule Character:GroupExpMultiplier to value 0.5000000000000
[Debug] [RULES__CHANGE] Set rule Character:RaidExpMultiplier to value 0.2000000029802
[Debug] [RULES__CHANGE] Set rule Character:DeathExpLossLevel to value 10
[Debug] [RULES__CHANGE] Set rule Character:CorpseDecayTimeMS to value 86400000
[Debug] [RULES__CHANGE] Set rule Character:AutosaveIntervalS to value 300
[Debug] [RULES__CHANGE] Set rule Character:HPRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Character:ManaRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Character:EnduranceRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Guild:MaxMembers to value 2048
[Debug] [RULES__CHANGE] Set rule Skills:MaxTrainTradeskills to value 21
[Debug] [RULES__CHANGE] Set rule Pets:AttackCommandRange to value 150.0000000000000
[Debug] [RULES__CHANGE] Set rule World:ZoneAutobootTimeoutMS to value 120000
[Debug] [RULES__CHANGE] Set rule World:ClientKeepaliveTimeoutMS to value 95000
[Debug] [RULES__CHANGE] Set rule World:UseBannedIPsTable to value true
[Debug] [RULES__CHANGE] Set rule World:MaxClientsPerIP to value -1
[Debug] [RULES__CHANGE] Set rule World:ExemptMaxClientsStatus to value -1
[Debug] [RULES__CHANGE] Set rule Aggro:PetSpellAggroMod to value 10
[Debug] [RULES__CHANGE] Set rule Aggro:SongAggroMod to value 33
[Debug] [RULES__CHANGE] Set rule Aggro:SpellAggroMod to value 100
[Debug] [RULES__CHANGE] Set rule Combat:BaseCritChance to value 0.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:WarBerBaseCritChance to value 0.0299999993294
[Debug] [RULES__CHANGE] Set rule Combat:BerserkBaseCritChance to value 0.0599999986589
[Debug] [RULES__CHANGE] Set rule Combat:NPCBashKickLevel to value 6
[Debug] [RULES__CHANGE] Set rule Character:ConsumptionMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Spells:AutoResistDiff to value 15
[Debug] [RULES__CHANGE] Set rule Spells:ResistChance to value 2.0000000000000
[Debug] [RULES__CHANGE] Set rule Spells:ResistMod to value 0.4000000059605
[Debug] [RULES__CHANGE] Set rule Spells:PartialHitChance to value 0.6999999880791
[Debug] [RULES__CHANGE] Set rule Combat:ClientBaseCritChance to value 0.0000000000000
[Debug] [RULES__CHANGE] Set rule Zone:NPCGlobalPositionUpdateInterval to value 60000
[Debug] [RULES__CHANGE] Set rule NPC:MinorNPCCorpseDecayTimeMS to value 600000
[Debug] [RULES__CHANGE] Set rule NPC:MajorNPCCorpseDecayTimeMS to value 1200000
[Debug] [RULES__CHANGE] Set rule Zone:GraveyardTimeMS to value 1200000
[Debug] [RULES__CHANGE] Set rule Zone:EnableShadowrest to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZWhenLoading to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZAtWaypoints to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZWhenMoving to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZOnSendTo to value false
[Debug] [RULES__CHANGE] Set rule Zone:ClientLinkdeadMS to value 180000
[Debug] [RULES__CHANGE] Set rule NPC:UseItemBonusesForNonPets to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaSendTo to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaLoading to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaMoving to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaWaypoint to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Character:HealOnLevel to value false
[Debug] [RULES__CHANGE] Set rule Character:FeignKillsPet to value false
[Debug] [RULES__CHANGE] Set rule Character:ItemManaRegenCap to value 15
[Debug] [RULES__CHANGE] Set rule Character:ItemHealthRegenCap to value 15
[Debug] [RULES__CHANGE] Set rule Combat:UseIntervalAC to value true
[Debug] [RULES__CHANGE] Set rule Combat:PetAttackMagicLevel to value 30
[Debug] [RULES__CHANGE] Set rule NPC:SayPauseTimeInSec to value 10
[Debug] [RULES__CHANGE] Set rule NPC:OOCRegen to value 0
[Debug] [RULES__CHANGE] Set rule Aggro:SmartAggroList to value true
[Debug] [RULES__CHANGE] Set rule Aggro:SittingAggroMod to value 35
[Debug] [RULES__CHANGE] Set rule Aggro:MeleeRangeAggroMod to value 20
[Debug] [RULES__CHANGE] Set rule Aggro:CurrentTargetAggroMod to value 0
[Debug] [RULES__CHANGE] Set rule Aggro:CriticallyWoundedAggroMod to value 100
[Debug] [RULES__CHANGE] Set rule Aggro:SlowAggroMod to value 450
[Debug] [RULES__CHANGE] Set rule Aggro:IncapacitateAggroMod to value 500
[Debug] [RULES__CHANGE] Set rule Aggro:MovementImpairAggroMod to value 175
[Debug] [RULES__CHANGE] Set rule NPC:BuffFriends to value true
[Debug] [RULES__CHANGE] Set rule Character:DeathItemLossLevel to value 10
[Debug] [RULES__CHANGE] Set rule Watermap:CheckWaypointsInWaterWhenLoading to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterAtWaypoints to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterWhenMoving to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterOnSendTo to value false
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterWhenFishing to value true
[Debug] [RULES__CHANGE] Set rule Watermap:FishingRodLength to value 30.0000000000000
[Debug] [RULES__CHANGE] Set rule Watermap:FishingLineLength to value 40.0000000000000
[Debug] [RULES__CHANGE] Set rule Character:ItemDamageShieldCap to value 30
[Debug] [RULES__CHANGE] Set rule Character:ItemAccuracyCap to value 150
[Debug] [RULES__CHANGE] Set rule Character:ItemAvoidanceCap to value 100
[Debug] [RULES__CHANGE] Set rule Character:ItemCombatEffectsCap to value 100
[Debug] [RULES__CHANGE] Set rule Character:ItemShieldingCap to value 35
[Debug] [RULES__CHANGE] Set rule Character:ItemSpellShieldingCap to value 35
[Debug] [RULES__CHANGE] Set rule Character:ItemDoTShieldingCap to value 35
[Debug] [RULES__CHANGE] Set rule Character:ItemStunResistCap to value 35
[Debug] [RULES__CHANGE] Set rule Character:ItemStrikethroughCap to value 35
[Debug] [RULES__CHANGE] Set rule Spells:PartialHitChanceFear to value 0.2500000000000
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpExemptStatus to value -1
[Debug] [RULES__CHANGE] Set rule Zone:MQZoneExemptStatus to value -1
[Debug] [RULES__CHANGE] Set rule Zone:MQGateExemptStatus to value -1
[Debug] [RULES__CHANGE] Set rule Zone:MQGhostExemptStatus to value -1
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQWarpDetector to value true
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQZoneDetector to value true
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQGateDetector to value true
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQGhostDetector to value true
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpDetectorDistance to value 4900.0000000000000
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpLagThreshold to value 140.0000000000000
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpThresholdTimer to value 90000.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:EnableFearPathing to value true
[Debug] [RULES__CHANGE] Set rule Combat:FleeHPRatio to value 22
[Debug] [RULES__CHANGE] Set rule Combat:FleeIfNotAlone to value false
[Debug] [RULES__CHANGE] Set rule NPC:EnableNPCQuestJournal to value true
[Debug] [RULES__CHANGE] Set rule Character:SkillUpModifier to value 100
[Debug] [RULES__CHANGE] Set rule NPC:CorpseUnlockTimer to value 150000
[Debug] [RULES__CHANGE] Set rule NPC:EmptyNPCCorpseDecayTimeMS to value 0
[Debug] [RULES__CHANGE] Set rule World:ClearTempMerchantlist to value true
[Debug] [RULES__CHANGE] Set rule World:AddMaxClientsPerIP to value -1
[Debug] [RULES__CHANGE] Set rule World:AddMaxClientsStatus to value -1
[Debug] [RULES__CHANGE] Set rule TaskSystem:EnableTaskSystem to value true
[Debug] [RULES__CHANGE] Set rule TaskSystem:PeriodicCheckTimer to value 5
[Debug] [RULES__CHANGE] Set rule TaskSystem:RecordCompletedTasks to value true
[Debug] [RULES__CHANGE] Set rule TaskSystem:RecordCompletedOptionalActivities to value true
[Debug] [RULES__CHANGE] Set rule TaskSystem:KeepOneRecordPerCompletedTask to value true
[Debug] [RULES__CHANGE] Set rule TaskSystem:EnableTaskProximity to value true
[Debug] [RULES__CHANGE] Set rule World:EnableTutorialButton to value true
[Debug] [RULES__CHANGE] Set rule World:EnableReturnHomeButton to value true
[Debug] [RULES__CHANGE] Set rule World:MaxLevelForTutorial to value 10
[Debug] [RULES__CHANGE] Set rule World:MinOfflineTimeToReturnHome to value 21600
[Debug] [RULES__CHANGE] Set rule Zone:AutoShutdownDelay to value 5000
[Debug] [RULES__CHANGE] Set rule Character:MaxExpLevel to value 0
[Debug] [RULES__CHANGE] Set rule Combat:AdjustProcPerMinute to value true
[Debug] [RULES__CHANGE] Set rule Combat:AvgProcsPerMinute to value 2.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:ProcPerMinDexContrib to value 0.0750000029802
[Debug] [RULES__CHANGE] Set rule Combat:BaseProcChance to value 0.0350000001490
[Debug] [RULES__CHANGE] Set rule Combat:ProcDexDivideBy to value 11000.0000000000000
[Debug] [RULES__CHANGE] Set rule Chat:ServerWideOOC to value true
[Debug] [RULES__CHANGE] Set rule Chat:ServerWideAuction to value true
[Debug] [RULES__CHANGE] Set rule Spells:BaseCritChance to value 0
[Debug] [RULES__CHANGE] Set rule Spells:BaseCritRatio to value 100
[Debug] [RULES__CHANGE] Set rule Spells:WizCritLevel to value 12
[Debug] [RULES__CHANGE] Set rule Spells:WizCritChance to value 7
[Debug] [RULES__CHANGE] Set rule Spells:WizCritRatio to value 0
[Debug] [RULES__CHANGE] Set rule Character:SharedBankPlat to value true
[Debug] [RULES__CHANGE] Set rule Spells:ResistPerLevelDiff to value 85
[Debug] [RULES__CHANGE] Set rule Character:UseDeathExpLossMult to value true
[Debug] [RULES__CHANGE] Set rule Character:DeathExpLossMultiplier to value 3
[Debug] [RULES__CHANGE] Set rule Character:BindAnywhere to value false
[Debug] [RULES__CHANGE] Set rule Bazaar:AuditTrail to value false
[Debug] [RULES__CHANGE] Set rule Bazaar:MaxSearchResults to value 50
[Debug] [RULES__CHANGE] Set rule World:TutorialZoneID to value 189
[Debug] [RULES__CHANGE] Set rule Bazaar:EnableWarpToTrader to value true
[Debug] [RULES__CHANGE] Set rule Bazaar:MaxBarterSearchResults to value 200
[Debug] [RULES__CHANGE] Set rule World:AccountSessionLimit to value -1
[Debug] [RULES__CHANGE] Set rule World:ExemptAccountLimitStatus to value -1
[Debug] [RULES__CHANGE] Set rule Mail:EnableMailSystem to value true
[Debug] [RULES__CHANGE] Set rule Mail:ExpireTrash to value 0
[Debug] [RULES__CHANGE] Set rule Mail:ExpireRead to value 31536000
[Debug] [RULES__CHANGE] Set rule Mail:ExpireUnread to value 31536000
[Debug] [RULES__CHANGE] Set rule Channels:RequiredStatusAdmin to value 251
[Debug] [RULES__CHANGE] Set rule Channels:RequiredStatusListAll to value 251
[Debug] [RULES__CHANGE] Set rule Channels:DeleteTimer to value 1440
[Debug] [RULES__CHANGE] Set rule Chat:EnableVoiceMacros to value true
[Debug] [RULES__CHANGE] Set rule Spells:TranslocateTimeLimit to value 0
[Debug] [RULES__CHANGE] Set rule EventLog:RecordSellToMerchant to value false
[Debug] [RULES__CHANGE] Set rule EventLog:RecordBuyFromMerchant to value false
[Debug] [RULES__CHANGE] Set rule World:GMAccountIPList to value false
[Debug] [RULES__CHANGE] Set rule Merchant:UsePriceMod to value true
[Debug] [RULES__CHANGE] Set rule Merchant:SellCostMod to value 1.0499999523163
[Debug] [RULES__CHANGE] Set rule Merchant:BuyCostMod to value 0.9499999880791
[Debug] [RULES__CHANGE] Set rule Merchant:PriceBonusPct to value 4
[Debug] [RULES__CHANGE] Set rule Merchant:PricePenaltyPct to value 4
[Debug] [RULES__CHANGE] Set rule Merchant:ChaBonusMod to value 3.4500000476837
[Debug] [RULES__CHANGE] Set rule Merchant:ChaPenaltyMod to value 1.5199999809265
[Debug] [RULES__CHANGE] Set rule Combat:BaseHitChance to value 69.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:AgiHitFactor to value 0.0099999997765
[Debug] [RULES__CHANGE] Set rule Combat:HitFalloffMinor to value 5.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:HitFalloffModerate to value 7.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:HitFalloffMajor to value 50.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:HitBonusPerLevel to value 1.2000000476837
[Debug] [RULES__CHANGE] Set rule Combat:WeaponSkillFalloff to value 0.3300000131130
[Debug] [RULES__CHANGE] Set rule Combat:ArcheryHitPenalty to value 0.2500000000000
[Debug] [RULES__CHANGE] Set rule Chat:EnableMailKeyIPVerification to value true
[Debug] [RULES__CHANGE] Set rule Chat:EnableAntiSpam to value true
[Debug] [RULES__CHANGE] Set rule Chat:MinStatusToBypassAntiSpam to value 80
[Debug] [RULES__CHANGE] Set rule Chat:MinimumMessagesPerInterval to value 4
[Debug] [RULES__CHANGE] Set rule Chat:MaximumMessagesPerInterval to value 12
[Debug] [RULES__CHANGE] Set rule Chat:MaxMessagesBeforeKick to value 20
[Debug] [RULES__CHANGE] Set rule Chat:IntervalDurationMS to value 60000
[Debug] [RULES__CHANGE] Set rule Chat:KarmaUpdateIntervalMS to value 1200000
[Debug] [RULES__CHANGE] Set rule World:MinGMAntiHackStatus to value 2
[Debug] [RULES__CHANGE] Set rule Aggro:StunAggroMod to value 750
[Debug] [RULES__CHANGE] Set rule Character:RestRegenPercent to value 0
[Debug] [RULES__CHANGE] Set rule Character:RestRegenTimeToActivate to value 30000
[Debug] [RULES__CHANGE] Set rule World:SoFStartZoneID to value -1
[Debug] [RULES__CHANGE] Set rule Combat:NPCBonusHitChance to value 26.0000000000000
[Debug] [RULES__ERROR] Unable to find rule 'Character:KillsPerRaidLeadershipAA'
[Debug] [RULES__ERROR] Unable to interpret rule record for Character:KillsPerRaidLeadershipAA
[Debug] [RULES__ERROR] Unable to find rule 'Character:KillsPerGroupLeadershipAA'
[Debug] [RULES__ERROR] Unable to interpret rule record for Character:KillsPerGroupLeadershipAA
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:ItemIDToEnablePorts'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:ItemIDToEnablePorts
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MinNumberForGroup'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MinNumberForGroup
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MaxNumberForGroup'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MaxNumberForGroup
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MinNumberForRaid'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MinNumberForRaid
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MaxNumberForRaid'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MaxNumberForRaid
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MaxLevelRange'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MaxLevelRange
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:BotManaRegen'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:BotManaRegen
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:BotFinishBuffing'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:BotFinishBuffing
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:CreateBotCount'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:CreateBotCount
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:SpawnBotCount'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:SpawnBotCount
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:BotQuest'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:BotQuest
[Debug] [WORLD__INIT] Loaded default rule set 'default'
[Debug] [WORLD__INIT] Clearing temporary merchant lists..
[Debug] [WORLD__INIT] Loading EQ time of day..
[Error] Starting Log: logs/eqemu_error_world.log
[Error] Could not load EQTime file eqtime.cfg


Does this mean my server is now running? :confused:

A few minutes later...


[Debug] Starting Log: logs/eqemu_debug_world.log
[Debug] [COMMON__THREADS] Starting TCPServerLoop with thread ID -1215145072
[Debug] [COMMON__THREADS] Starting TCPServerLoop with thread ID -1223537776
[Debug] [RULES__CHANGE] Resetting running rules to default values
[Debug] [WORLD__INIT] Loading server configuration..
[Debug] [WORLD__INIT] Log settings loaded from log.ini
[Debug] [WORLD__INIT] CURRENT_WORLD_VERSION:EQEMu 0.7.0
[Debug] [WORLD__INIT] Connecting to MySQL...
[Status] Starting Log: logs/eqemu_world.log
[Status] Using database 'peq' at localhost:3306
[Debug] [COMMON__THREADS] Starting DBAsyncLoop with thread ID -1231930480
[Debug] [WORLD__INIT] HTTP world service disabled.
[Debug] [WORLD__INIT] Loading variables..
[Debug] [WORLD__INIT] Loading zones..
[Debug] [WORLD__INIT] Clearing groups..
[Debug] [WORLD__INIT] Clearing raids..
[Debug] [WORLD__INIT] Loading items..
[Status] libEMuShareMem.so loaded
[Status] Loading items from database: count=76214
[Debug] [WORLD__INIT] Loading guilds..
[Debug] [RULES__CHANGE] Loading rule set 'default' (1)
[Debug] [RULES__CHANGE] Set rule GM:MinStatusToZoneAnywhere to value 250
[Debug] [RULES__CHANGE] Set rule Character:MaxLevel to value 65
[Debug] [RULES__CHANGE] Set rule Character:LeaveCorpses to value true
[Debug] [RULES__CHANGE] Set rule Character:LeaveNakedCorpses to value true
[Debug] [RULES__CHANGE] Set rule Combat:MinRangedAttackDist to value 25
[Debug] [RULES__CHANGE] Set rule Character:ExpMultiplier to value 0.5000000000000
[Debug] [RULES__CHANGE] Set rule Character:AAExpMultiplier to value 0.5000000000000
[Debug] [RULES__CHANGE] Set rule Character:GroupExpMultiplier to value 0.5000000000000
[Debug] [RULES__CHANGE] Set rule Character:RaidExpMultiplier to value 0.2000000029802
[Debug] [RULES__CHANGE] Set rule Character:DeathExpLossLevel to value 10
[Debug] [RULES__CHANGE] Set rule Character:CorpseDecayTimeMS to value 86400000
[Debug] [RULES__CHANGE] Set rule Character:AutosaveIntervalS to value 300
[Debug] [RULES__CHANGE] Set rule Character:HPRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Character:ManaRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Character:EnduranceRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Guild:MaxMembers to value 2048
[Debug] [RULES__CHANGE] Set rule Skills:MaxTrainTradeskills to value 21
[Debug] [RULES__CHANGE] Set rule Pets:AttackCommandRange to value 150.0000000000000
[Debug] [RULES__CHANGE] Set rule World:ZoneAutobootTimeoutMS to value 120000
[Debug] [RULES__CHANGE] Set rule World:ClientKeepaliveTimeoutMS to value 95000
[Debug] [RULES__CHANGE] Set rule World:UseBannedIPsTable to value true
[Debug] [RULES__CHANGE] Set rule World:MaxClientsPerIP to value -1
[Debug] [RULES__CHANGE] Set rule World:ExemptMaxClientsStatus to value -1
[Debug] [RULES__CHANGE] Set rule Aggro:PetSpellAggroMod to value 10
[Debug] [RULES__CHANGE] Set rule Aggro:SongAggroMod to value 33
[Debug] [RULES__CHANGE] Set rule Aggro:SpellAggroMod to value 100
[Debug] [RULES__CHANGE] Set rule Combat:BaseCritChance to value 0.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:WarBerBaseCritChance to value 0.0299999993294
[Debug] [RULES__CHANGE] Set rule Combat:BerserkBaseCritChance to value 0.0599999986589
[Debug] [RULES__CHANGE] Set rule Combat:NPCBashKickLevel to value 6
[Debug] [RULES__CHANGE] Set rule Character:ConsumptionMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Spells:AutoResistDiff to value 15
[Debug] [RULES__CHANGE] Set rule Spells:ResistChance to value 2.0000000000000
[Debug] [RULES__CHANGE] Set rule Spells:ResistMod to value 0.4000000059605
[Debug] [RULES__CHANGE] Set rule Spells:PartialHitChance to value 0.6999999880791
[Debug] [RULES__CHANGE] Set rule Combat:ClientBaseCritChance to value 0.0000000000000
[Debug] [RULES__CHANGE] Set rule Zone:NPCGlobalPositionUpdateInterval to value 60000
[Debug] [RULES__CHANGE] Set rule NPC:MinorNPCCorpseDecayTimeMS to value 600000
[Debug] [RULES__CHANGE] Set rule NPC:MajorNPCCorpseDecayTimeMS to value 1200000
[Debug] [RULES__CHANGE] Set rule Zone:GraveyardTimeMS to value 1200000
[Debug] [RULES__CHANGE] Set rule Zone:EnableShadowrest to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZWhenLoading to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZAtWaypoints to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZWhenMoving to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZOnSendTo to value false
[Debug] [RULES__CHANGE] Set rule Zone:ClientLinkdeadMS to value 180000
[Debug] [RULES__CHANGE] Set rule NPC:UseItemBonusesForNonPets to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaSendTo to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaLoading to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaMoving to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaWaypoint to value 12.0000000000000
[Debug] [RULES__CHANGE] Set rule Character:HealOnLevel to value false
[Debug] [RULES__CHANGE] Set rule Character:FeignKillsPet to value false
[Debug] [RULES__CHANGE] Set rule Character:ItemManaRegenCap to value 15
[Debug] [RULES__CHANGE] Set rule Character:ItemHealthRegenCap to value 15
[Debug] [RULES__CHANGE] Set rule Combat:UseIntervalAC to value true
[Debug] [RULES__CHANGE] Set rule Combat:PetAttackMagicLevel to value 30
[Debug] [RULES__CHANGE] Set rule NPC:SayPauseTimeInSec to value 10
[Debug] [RULES__CHANGE] Set rule NPC:OOCRegen to value 0
[Debug] [RULES__CHANGE] Set rule Aggro:SmartAggroList to value true
[Debug] [RULES__CHANGE] Set rule Aggro:SittingAggroMod to value 35
[Debug] [RULES__CHANGE] Set rule Aggro:MeleeRangeAggroMod to value 20
[Debug] [RULES__CHANGE] Set rule Aggro:CurrentTargetAggroMod to value 0
[Debug] [RULES__CHANGE] Set rule Aggro:CriticallyWoundedAggroMod to value 100
[Debug] [RULES__CHANGE] Set rule Aggro:SlowAggroMod to value 450
[Debug] [RULES__CHANGE] Set rule Aggro:IncapacitateAggroMod to value 500
[Debug] [RULES__CHANGE] Set rule Aggro:MovementImpairAggroMod to value 175
[Debug] [RULES__CHANGE] Set rule NPC:BuffFriends to value true
[Debug] [RULES__CHANGE] Set rule Character:DeathItemLossLevel to value 10
[Debug] [RULES__CHANGE] Set rule Watermap:CheckWaypointsInWaterWhenLoading to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterAtWaypoints to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterWhenMoving to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterOnSendTo to value false
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterWhenFishing to value true
[Debug] [RULES__CHANGE] Set rule Watermap:FishingRodLength to value 30.0000000000000
[Debug] [RULES__CHANGE] Set rule Watermap:FishingLineLength to value 40.0000000000000
[Debug] [RULES__CHANGE] Set rule Character:ItemDamageShieldCap to value 30
[Debug] [RULES__CHANGE] Set rule Character:ItemAccuracyCap to value 150
[Debug] [RULES__CHANGE] Set rule Character:ItemAvoidanceCap to value 100
[Debug] [RULES__CHANGE] Set rule Character:ItemCombatEffectsCap to value 100
[Debug] [RULES__CHANGE] Set rule Character:ItemShieldingCap to value 35
[Debug] [RULES__CHANGE] Set rule Character:ItemSpellShieldingCap to value 35
[Debug] [RULES__CHANGE] Set rule Character:ItemDoTShieldingCap to value 35
[Debug] [RULES__CHANGE] Set rule Character:ItemStunResistCap to value 35
[Debug] [RULES__CHANGE] Set rule Character:ItemStrikethroughCap to value 35
[Debug] [RULES__CHANGE] Set rule Spells:PartialHitChanceFear to value 0.2500000000000
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpExemptStatus to value -1
[Debug] [RULES__CHANGE] Set rule Zone:MQZoneExemptStatus to value -1
[Debug] [RULES__CHANGE] Set rule Zone:MQGateExemptStatus to value -1
[Debug] [RULES__CHANGE] Set rule Zone:MQGhostExemptStatus to value -1
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQWarpDetector to value true
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQZoneDetector to value true
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQGateDetector to value true
[Debug] [RULES__CHANGE] Set rule Zone:EnableMQGhostDetector to value true
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpDetectorDistance to value 4900.0000000000000
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpLagThreshold to value 140.0000000000000
[Debug] [RULES__CHANGE] Set rule Zone:MQWarpThresholdTimer to value 90000.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:EnableFearPathing to value true
[Debug] [RULES__CHANGE] Set rule Combat:FleeHPRatio to value 22
[Debug] [RULES__CHANGE] Set rule Combat:FleeIfNotAlone to value false
[Debug] [RULES__CHANGE] Set rule NPC:EnableNPCQuestJournal to value true
[Debug] [RULES__CHANGE] Set rule Character:SkillUpModifier to value 100
[Debug] [RULES__CHANGE] Set rule NPC:CorpseUnlockTimer to value 150000
[Debug] [RULES__CHANGE] Set rule NPC:EmptyNPCCorpseDecayTimeMS to value 0
[Debug] [RULES__CHANGE] Set rule World:ClearTempMerchantlist to value true
[Debug] [RULES__CHANGE] Set rule World:AddMaxClientsPerIP to value -1
[Debug] [RULES__CHANGE] Set rule World:AddMaxClientsStatus to value -1
[Debug] [RULES__CHANGE] Set rule TaskSystem:EnableTaskSystem to value true
[Debug] [RULES__CHANGE] Set rule TaskSystem:PeriodicCheckTimer to value 5
[Debug] [RULES__CHANGE] Set rule TaskSystem:RecordCompletedTasks to value true
[Debug] [RULES__CHANGE] Set rule TaskSystem:RecordCompletedOptionalActivities to value true
[Debug] [RULES__CHANGE] Set rule TaskSystem:KeepOneRecordPerCompletedTask to value true
[Debug] [RULES__CHANGE] Set rule TaskSystem:EnableTaskProximity to value true
[Debug] [RULES__CHANGE] Set rule World:EnableTutorialButton to value true
[Debug] [RULES__CHANGE] Set rule World:EnableReturnHomeButton to value true
[Debug] [RULES__CHANGE] Set rule World:MaxLevelForTutorial to value 10
[Debug] [RULES__CHANGE] Set rule World:MinOfflineTimeToReturnHome to value 21600
[Debug] [RULES__CHANGE] Set rule Zone:AutoShutdownDelay to value 5000
[Debug] [RULES__CHANGE] Set rule Character:MaxExpLevel to value 0
[Debug] [RULES__CHANGE] Set rule Combat:AdjustProcPerMinute to value true
[Debug] [RULES__CHANGE] Set rule Combat:AvgProcsPerMinute to value 2.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:ProcPerMinDexContrib to value 0.0750000029802
[Debug] [RULES__CHANGE] Set rule Combat:BaseProcChance to value 0.0350000001490
[Debug] [RULES__CHANGE] Set rule Combat:ProcDexDivideBy to value 11000.0000000000000
[Debug] [RULES__CHANGE] Set rule Chat:ServerWideOOC to value true
[Debug] [RULES__CHANGE] Set rule Chat:ServerWideAuction to value true
[Debug] [RULES__CHANGE] Set rule Spells:BaseCritChance to value 0
[Debug] [RULES__CHANGE] Set rule Spells:BaseCritRatio to value 100
[Debug] [RULES__CHANGE] Set rule Spells:WizCritLevel to value 12
[Debug] [RULES__CHANGE] Set rule Spells:WizCritChance to value 7
[Debug] [RULES__CHANGE] Set rule Spells:WizCritRatio to value 0
[Debug] [RULES__CHANGE] Set rule Character:SharedBankPlat to value true
[Debug] [RULES__CHANGE] Set rule Spells:ResistPerLevelDiff to value 85
[Debug] [RULES__CHANGE] Set rule Character:UseDeathExpLossMult to value true
[Debug] [RULES__CHANGE] Set rule Character:DeathExpLossMultiplier to value 3
[Debug] [RULES__CHANGE] Set rule Character:BindAnywhere to value false
[Debug] [RULES__CHANGE] Set rule Bazaar:AuditTrail to value false
[Debug] [RULES__CHANGE] Set rule Bazaar:MaxSearchResults to value 50
[Debug] [RULES__CHANGE] Set rule World:TutorialZoneID to value 189
[Debug] [RULES__CHANGE] Set rule Bazaar:EnableWarpToTrader to value true
[Debug] [RULES__CHANGE] Set rule Bazaar:MaxBarterSearchResults to value 200
[Debug] [RULES__CHANGE] Set rule World:AccountSessionLimit to value -1
[Debug] [RULES__CHANGE] Set rule World:ExemptAccountLimitStatus to value -1
[Debug] [RULES__CHANGE] Set rule Mail:EnableMailSystem to value true
[Debug] [RULES__CHANGE] Set rule Mail:ExpireTrash to value 0
[Debug] [RULES__CHANGE] Set rule Mail:ExpireRead to value 31536000
[Debug] [RULES__CHANGE] Set rule Mail:ExpireUnread to value 31536000
[Debug] [RULES__CHANGE] Set rule Channels:RequiredStatusAdmin to value 251
[Debug] [RULES__CHANGE] Set rule Channels:RequiredStatusListAll to value 251
[Debug] [RULES__CHANGE] Set rule Channels:DeleteTimer to value 1440
[Debug] [RULES__CHANGE] Set rule Chat:EnableVoiceMacros to value true
[Debug] [RULES__CHANGE] Set rule Spells:TranslocateTimeLimit to value 0
[Debug] [RULES__CHANGE] Set rule EventLog:RecordSellToMerchant to value false
[Debug] [RULES__CHANGE] Set rule EventLog:RecordBuyFromMerchant to value false
[Debug] [RULES__CHANGE] Set rule World:GMAccountIPList to value false
[Debug] [RULES__CHANGE] Set rule Merchant:UsePriceMod to value true
[Debug] [RULES__CHANGE] Set rule Merchant:SellCostMod to value 1.0499999523163
[Debug] [RULES__CHANGE] Set rule Merchant:BuyCostMod to value 0.9499999880791
[Debug] [RULES__CHANGE] Set rule Merchant:PriceBonusPct to value 4
[Debug] [RULES__CHANGE] Set rule Merchant:PricePenaltyPct to value 4
[Debug] [RULES__CHANGE] Set rule Merchant:ChaBonusMod to value 3.4500000476837
[Debug] [RULES__CHANGE] Set rule Merchant:ChaPenaltyMod to value 1.5199999809265
[Debug] [RULES__CHANGE] Set rule Combat:BaseHitChance to value 69.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:AgiHitFactor to value 0.0099999997765
[Debug] [RULES__CHANGE] Set rule Combat:HitFalloffMinor to value 5.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:HitFalloffModerate to value 7.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:HitFalloffMajor to value 50.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:HitBonusPerLevel to value 1.2000000476837
[Debug] [RULES__CHANGE] Set rule Combat:WeaponSkillFalloff to value 0.3300000131130
[Debug] [RULES__CHANGE] Set rule Combat:ArcheryHitPenalty to value 0.2500000000000
[Debug] [RULES__CHANGE] Set rule Chat:EnableMailKeyIPVerification to value true
[Debug] [RULES__CHANGE] Set rule Chat:EnableAntiSpam to value true
[Debug] [RULES__CHANGE] Set rule Chat:MinStatusToBypassAntiSpam to value 80
[Debug] [RULES__CHANGE] Set rule Chat:MinimumMessagesPerInterval to value 4
[Debug] [RULES__CHANGE] Set rule Chat:MaximumMessagesPerInterval to value 12
[Debug] [RULES__CHANGE] Set rule Chat:MaxMessagesBeforeKick to value 20
[Debug] [RULES__CHANGE] Set rule Chat:IntervalDurationMS to value 60000
[Debug] [RULES__CHANGE] Set rule Chat:KarmaUpdateIntervalMS to value 1200000
[Debug] [RULES__CHANGE] Set rule World:MinGMAntiHackStatus to value 2
[Debug] [RULES__CHANGE] Set rule Aggro:StunAggroMod to value 750
[Debug] [RULES__CHANGE] Set rule Character:RestRegenPercent to value 0
[Debug] [RULES__CHANGE] Set rule Character:RestRegenTimeToActivate to value 30000
[Debug] [RULES__CHANGE] Set rule World:SoFStartZoneID to value -1
[Debug] [RULES__CHANGE] Set rule Combat:NPCBonusHitChance to value 26.0000000000000
[Debug] [RULES__ERROR] Unable to find rule 'Character:KillsPerRaidLeadershipAA'
[Debug] [RULES__ERROR] Unable to interpret rule record for Character:KillsPerRaidLeadershipAA
[Debug] [RULES__ERROR] Unable to find rule 'Character:KillsPerGroupLeadershipAA'
[Debug] [RULES__ERROR] Unable to interpret rule record for Character:KillsPerGroupLeadershipAA
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:ItemIDToEnablePorts'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:ItemIDToEnablePorts
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MinNumberForGroup'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MinNumberForGroup
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MaxNumberForGroup'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MaxNumberForGroup
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MinNumberForRaid'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MinNumberForRaid
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MaxNumberForRaid'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MaxNumberForRaid
[Debug] [RULES__ERROR] Unable to find rule 'Adventure:MaxLevelRange'
[Debug] [RULES__ERROR] Unable to interpret rule record for Adventure:MaxLevelRange
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:BotManaRegen'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:BotManaRegen
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:BotFinishBuffing'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:BotFinishBuffing
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:CreateBotCount'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:CreateBotCount
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:SpawnBotCount'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:SpawnBotCount
[Debug] [RULES__ERROR] Unable to find rule 'EQOffline:BotQuest'
[Debug] [RULES__ERROR] Unable to interpret rule record for EQOffline:BotQuest
[Debug] [WORLD__INIT] Loaded default rule set 'default'
[Debug] [WORLD__INIT] Clearing temporary merchant lists..
[Debug] [WORLD__INIT] Loading EQ time of day..
[Debug] [WORLD__INIT] Loading launcher list..
[Debug] [WORLD__INIT] Reboot zone modes ON
[Debug] [WORLD__INIT] Deleted 0 stale player corpses from database
[Debug] [WORLD__INIT] Deleted 0 stale player backups from database
[Debug] [WORLD__INIT] Zone (TCP) listener started.
[Debug] [COMMON__THREADS] St


I guess I'm going to go and test my server out, now. It may be a few hours before I can post back but:
A) What the heck is happening, here? :D
and
B) Should I really be booting with this old bootserver file?

Thanks, as always!

AndMetal
06-10-2009, 03:05 PM
First of all, the world directory, rather than the world executable, is in your working directory:
drwxrwxr-x 4 main root 4096 2009-06-09 15:30 world

./start expects the executable itself to be in the directory, which happens from this command:
ln -s ../source/peqdb_1129Rev342/world/world .
And is why the old file works, is because it points to world under the world directory:
/home/main/eqserver/world/world 2>&1 >> world.log &
That should fix the permissions issue for world when trying to run the ./start script.

As for the other stuff, I'll have to see if I can revisit this later, because I think there's an error in the query you're using to insert the password (I think it needs OLDPASSWORD() or something like that). However, it looks like you may have been able to get that working.

rainwalkerx
06-10-2009, 03:14 PM
Wow, looks like you've got this solved, AndMetal. 15 Months vs. 24 Hours; you truly are an expert!

Although I'm not exactly clear on what I should change. Do I need to change my symlink commands or do I need to change my ./start script? And what should they be changed to?

Thanks a ton!

rainwalker

gaeorn
06-10-2009, 03:21 PM
Aaaagh! world was a DIRECTORY... I hate it when I miss something so obvious.

Good catch AndMetal.

gaeorn
06-10-2009, 03:24 PM
Wow, looks like you've got this solved, AndMetal. 15 Months vs. 24 Hours; you truly are an expert!

Although I'm not exactly clear on what I should change. Do I need to change my symlink commands or do I need to change my ./start script? And what should they be changed to?

Thanks a ton!

rainwalker

These commands should correct world being a directory.

mv world world.dir
mv world.dir/world .
rmdir world.dir

rainwalkerx
06-10-2009, 03:39 PM
Thanks, gaeorn. The third command you suggested didn't work; it said "rmdir: failed to remove `world.dir': Directory not empty". I tried to run it anyway and it went farther this time but resulted in a permission denied error for ./eqlaunch.

I think I understood your meaning, though. Now I've changed the eqlaunch, world, and zone directories to eqlaunch.dir, world.dir, and zone.dir and copied their three executables (eqlaunch, world, and zone) to the server directory. Does that sound right? Am I leaving anything out?

Thanks!

gaeorn
06-10-2009, 03:47 PM
That is correct.

One question, is this the directory that you downloaded the source to? If so, that is why there are directories named the same as the executables and they aren't empty. You should put the source code in one directory and use another for the server.

Eg:

/home/main/eqemu/src -> sourcecode goes here
/home/main/eqemu/server -> build the running environment here

You can use any directory names you want. The above is merely examples.

rainwalkerx
06-12-2009, 03:29 AM
gaeorn - you hit the nail on the head. I never had any intention of updating the server or database code once I had gotten everything up and running so I always skipped the steps in all of the guides where they said "we'll put our source code into a different directory and make symbolic links so that we can update easily in the future". I thought I was keeping things more simple but I probably complicated them a bit :oops:

Anyway, thanks again, so much, for the help. I wasn't kidding when I said that this has been a 15-month struggle. And although I've probably tacked on another 80 hours of labor into getting it working over the last week, it feels pretty good to finally be moving forward.

Thanks,
rainwalker