Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Linux Servers

Support::Linux Servers Support forum for Linux EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-09-2009, 05:04 PM
rainwalkerx
Fire Beetle
 
Join Date: Mar 2009
Location: Nowhere
Posts: 5
Default

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?
Reply With Quote
  #2  
Old 06-09-2009, 05:13 PM
gaeorn
Developer
 
Join Date: Apr 2009
Location: USA
Posts: 478
Default

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
Reply With Quote
  #3  
Old 06-09-2009, 10:53 PM
rainwalkerx
Fire Beetle
 
Join Date: Mar 2009
Location: Nowhere
Posts: 5
Default

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.
Reply With Quote
  #4  
Old 06-09-2009, 11:11 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Quote:
Originally Posted by rainwalkerx View Post
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.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #5  
Old 06-09-2009, 11:30 PM
rainwalkerx
Fire Beetle
 
Join Date: Mar 2009
Location: Nowhere
Posts: 5
Default

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
Reply With Quote
  #6  
Old 06-10-2009, 01:39 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

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.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #7  
Old 06-10-2009, 03:21 AM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

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!

Last edited by Kobaz; 06-10-2009 at 11:26 AM.. Reason: clarification
Reply With Quote
  #8  
Old 06-10-2009, 11:00 AM
rainwalkerx
Fire Beetle
 
Join Date: Mar 2009
Location: Nowhere
Posts: 5
Default

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
Reply With Quote
  #9  
Old 06-10-2009, 11:16 AM
rainwalkerx
Fire Beetle
 
Join Date: Mar 2009
Location: Nowhere
Posts: 5
Default

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...ka=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:

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

Any chance that herein lies the problem?
Reply With Quote
  #10  
Old 06-10-2009, 11:20 AM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

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.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 01:50 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3