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 05-04-2010, 05:47 PM
Mirakus
Fire Beetle
 
Join Date: May 2010
Posts: 12
Default Newb can't get server started and needs explanation

Hello all.

After attempting to get the game server running on three different Linux computers (Ubuntu, CentOS, Gentoo), I've decided the time has come to ask for some help. I have worked with several of the "Linux Guides," but all them seem terribly outdated; I've based all of my setup work off of the one located here: http://www.eqemulator.net/wiki/wikka...ianLinuxServer

Obviously, I have deviated from the tutorial somewhat in that the latest system is Gentoo and I'm not using apt-get, etc, to get software such as MySQL, but aside from that I have followed it to a T.

When I built the server (latest SVN as of about two weeks ago) I simply used the makefile in the source directory (not each individual makefile). Since the build for EQEmuLoginServer wasn't done by calling that makefile, I ran the makefile in that directory and also created a symbolic link in my main server directory to that executable. I'm using the exact start, stop, and persist_world scripts that are located in that tutorial.

Here is my output when attempting to start the server using the start script:
+ LNAME=zone
+ '[' '' = test ']'
++ pwd
+ P=/home/eqemu/server
+ export LD_LIBRARY_PATH=:/home/eqemu/server
+ LD_LIBRARY_PATH=:/home/eqemu/server
+ mkdir -p logs
+ '[' '!' -e .lock-zones -a '!' -e .lock-world ']'
+ '[' '!' -e .lock-world ']'
+ '[' '!' -e .lock-launcher ']'

Then, the start script just stops and no other process related to the server is running in the background.

I have had a terrible time figuring out what is happening because I don't understand exactly what the startup script is supposed to do. If someone would be willing to take the time, an explanation of what each of the server executables do (world, zone, EQEmuLoginServer, etc), I could perhaps try to write my own script and get things working. It really boils down to me not understanding all of the building blocks of a running server. The error messages have been non-existent, so I'm completely clueless on how to proceed. Please help!
__________________
Mirakus of Tyr
Reply With Quote
  #2  
Old 05-04-2010, 06:35 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

Have you checked your eqemu_debug_world.log file? It could be the server is starting up, then shutting down due to some problem booting the world.

edit: also, ensure that the script is being run with sufficient permissions to create/delete files or you'll run into problems too.
Reply With Quote
  #3  
Old 05-04-2010, 07:09 PM
Mirakus
Fire Beetle
 
Join Date: May 2010
Posts: 12
Default

I did check out those log files. It appears when I was working on this last week, I had some bad login information in my eqemu_config.xml file, so the game was not able to connect to the MySQL server. I had corrected that a few days ago, and now, for whatever unknown reason, the start script never brings things to the point where further logs are even generated. All of my logs are from the past, and all of my present attempts (today) to start the server haven't been logged at all.
__________________
Mirakus of Tyr
Reply With Quote
  #4  
Old 05-04-2010, 10:15 PM
Mirakus
Fire Beetle
 
Join Date: May 2010
Posts: 12
Default

I was able to make some minor progress by manually executing some of the different executables. After executing world and then eqlaunch using EQEmuLoginServer as the login server, I generated some "failed to connect to login server" messages. The problem is I can't write my own script when I don't understand what the files do. What are zone, world, eqlaunch, cleanipc, etc?

Although I am thrilled at the existence of such a project and grateful to the developers who have spent countless hours working on it, it is difficult not to be frustrated by the scattered, disorganized, sometimes outdated, and sometimes nonexistant documentation.

Though I've spent a fair amount of time looking around with Google, most of the stuff that turns up is from 2005 or earlier. If anyone could provide me with even a brief explanation, or point me to a site or article that explains the very basics of how the EQEmu server works, I would be very grateful. It seems like a lot of other newb admins are having no problem getting this running (according to these forums, at least not the problems I'm having). What am I missing?
__________________
Mirakus of Tyr
Reply With Quote
  #5  
Old 05-05-2010, 12:59 AM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

I can't say that I'm completely confident what all the processes do, but I can shed a little light on things.

cleanipc is run after server shutdown. It cleans up the shared memory segments that the various zone processes use to share data.

There needs to be a zone process for each zone that players are in, and a few idle processes for players to join. Typically zones are dynamic, in that they load the zone data on demand when a player is about to enter it. Zones can also be static, which means that they are always running. This is a good idea for zones that are popular, as they don't have to load and unload all the time.

world co-ordinates the zone processes, and handles the player data.

I'm not sure the exact role of eqlaunch, but I suspect that it is responsible for telling the zone processes to fork.

I have to wonder, have you got shared memory set up right? You have to set some parameters in the /proc filesystem, either by hand, in your startup script, or in your rc.d scripts. Details are found in the wiki.

You might want to check that all relevant folders are owned by whoever is running the server, and that read, execute and write permissions are set for owner and group.

Clean out your log files, and see if you can increase the logging level. Unfortunately there seems to be at least 3 different logging facilities in the server, and I can't tell you how to adjust it sensibly.

You might also want to check if the various .lock* files exist when the server isn't running. They shouldn't be, as they exist to stop you starting the server twice. If you started the server as one user, and it crashed without removing the stale locks, then started the server as another user you would get something like what you are describing.

In the startup sequence, the login-server should be first to run. Make sure you have a little sleep before you start eqlaunch or world, and make sure you arn't starting the servers in the foreground so they block the later processes from starting.

I agree that the documentation is way behind the current server. Perhaps you could document your adventure, so that it is available for other people to benefit from. A guide for gentoo or centos could be useful.
Reply With Quote
  #6  
Old 05-05-2010, 09:36 AM
Mirakus
Fire Beetle
 
Join Date: May 2010
Posts: 12
Default

Kobaz, thanks for the quick response on this! Although I'm still hazy on a lot of things, your post was tremendously helpful.

I have a user I've created specifically for running the server, and all code was downloaded and built with that user, as well as everything being executed as that user. The user should have all privileges to work with the server, although the user does not have any type of administrative access at all.

I also did increase the shared memory limit to around 60 MB (too much?).

I may actually try to use some different scripts to start and stop the server, and see if that helps me at all. This has got to be something simple hanging right in front of my face. I will post back when/if I have any success! Thanks again.
__________________
Mirakus of Tyr
Reply With Quote
Reply


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 04:32 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3