EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   Recurring Problem (https://www.eqemulator.org/forums/showthread.php?t=28521)

rainwalkerx 06-09-2009 01:52 PM

Recurring Problem
 
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:

Code:

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:
Code:

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:
Code:

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:

Code:

[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

Quote:

[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:

Code:

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:

Code:

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

Quote:

Originally Posted by rainwalkerx (Post 171735)
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:

Code:

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:
Code:

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:

Code:

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:

Code:

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
Code:

#!/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
Code:

#!/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
Code:

#!/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

Code:

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
Code:

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

ls -lL eqserver
Code:

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:

Code:

[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:
Code:

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:


All times are GMT -4. The time now is 05:18 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.