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, 04:47 PM
rainwalkerx
Fire Beetle
 
Join Date: Mar 2009
Location: Nowhere
Posts: 5
Default

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

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.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
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
  #4  
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
  #5  
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
  #6  
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
  #7  
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
  #8  
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
  #9  
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
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 03:03 AM.


 

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