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 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 |
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. |
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.
|
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. |
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 Code:
main@userv:~/eqserver$ sudo chown -R main:root /home/main/eqserver 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? |
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 |
Quote:
|
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?
|
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 NOTE: Make sure to remove/replace the username and password before posting the config. We don't need to know that information :) |
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"> |
Quote:
|
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. |
Paste the results from the following command:
Code:
ls -la /home/main/eqserver |
Just FYI about dereferencing symlinks:
Code:
john@paranoia:~$ ls -l eqemu 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! |
Thanks AndMetal. Here's the results:
Code:
root@userv:/home/main/testserv# ls -la /home/main/eqserver Code:
#!/bin/sh Code:
#!/bin/sh Code:
#!/bin/sh ...and here's those commands that you recommended, Kobaz: ls -l eqserver Code:
root@userv:/home/main# ls -l eqserver Code:
root@userv:/home/main# ls -lL | grep eqserver Code:
root@userv:/home/main# ls -lL eqserver 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... Code:
echo 83886080 > /proc/sys/kernel/shmmax 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.