Trying to set up server
Hello,
I am trying to set up a server. I have been following the guide Installing EQEmu on Debian Linux but it is very out of date. I followed the guide up until the section "Extract Source" where is instructs me to execute "tar xzf EQEmu-0.7.0-1043-source.tgz". I have created the user eqemu, added directories home/source and home/server. I have got the files from the svn repository. I'm not sure how to compile to code now? My source directory contains the folders eqemumaps-ready-only, projecteqemu-read-only, projecteqdb-current-only, projecteqqests-read-only. What do I do next? Is there an updated guide somewhere? Thank you for your help! |
Well, for one thing, you are going to have to move the maps and quests folders into your server directory and rename them to "maps" and "quests" respectively. Make sure that the maps are directly inside that maps folder and not inside another folder within it. Also, quests should be in folders named after the shortname of each zone directly inside the quests folder.
You will also need to move your quests/plugins folder to your server folder. Really, most of the debian install guide should still be useful information for getting setup. I think the only thing that has really changed is how you get the source code and database, as they both come from google svn now. Unfortunately, I don't have instructions on how to do that on Linux yet, but there may be some directions around the forums/wiki somewhere for it. Once you get the EQEmuServer source code downloaded, you can just go into that folder and type "make" and if you have followed all of the other steps, it should compile properly. |
If you're still having problems, I would recommend reading this thread: http://eqemulator.org/forums/showthread.php?t=30773 and using the script described there.
I started out with trying to use the Debian guide, and had a lot of problems along the way. Snag the later version of the script from that other thread, and then add into the section where it adds links a link for commands.pl and login.ini. I'm not sure of the exact directory locations at this time. You might be able to get that setup script working with your existing installation, but you may need to rename some directories or move things around. I know that the script creates a lot of soft links into the server directory that you do not create (and need) when using the Debian guide. If you're planning on running your own login server and running locally only in your LAN, I would recommend setting the address and local address values in eqemu_config.xml. A couple of guides out there say it is unnecessary, but I had to do that in order to get up and running. |
Hello trevius and Mirakus,
Thanks for the replies. I will look into both of your suggestions. Hopefully I can get this working. I'm sure I'll be replying back with more questions. trevius, I have logged into your server before. You have done a very good job with it. |
Mirakus,
I don't know the exact commands for adding the links for commands.pl and login.ini. I did find those files in eqemulator/projecteqemu/utils/defaults/commands.pl and eqemulator/projecteqemu/EQEmuLoginServer/login_util/login.ini. Would this mean the link commands would look like this Code:
user@server:/home/eqemulator/server$ ln -s ../projecteqemu/utils/defaults/commands.pl \ My end goal is to set up a private server for a few of my friends and myself. They live in different cities so I will need to setup a login server. Thank you for taking time to help me. |
Assuming you're in your server directory, the command you want will look like:
Code:
ln -s ../projecteqemu/utils/defaults/commands.pl . |
Thanks for the clarification Kobaz.
After running the script that Mirakus suggested, it said to cd into projecteqemu and make it. It errored out, so I tried it again and it errored out again. I'm not sure how to resolve this. Below is the error message from my second attempt. Quote:
|
Jster22, the errors you listed are caused by the latest version of GCC. With some of the older versions, you would not have gotten that error. At the very top of both <yoursourcedir>/world/Adventure.cpp and <yoursourcedir>/world/AdventureManager.cpp, put #include <stdlib.h>
That should resolve your error. |
Thanks Mirakus. I didn't get any build errors after making those changes.
The next step is to "Build the login server". I assume that this means to cd into projecteqemu/EQEmuLoginServer and make. However, I get another error. Quote:
Also looking ahead at the next steps, what is the file eqemu_config.xml used for? It says that I need to create/edit it. What needs to be in there? As well as the next step which is "Create/Edit your login server configuration" Thanks again for your help! |
Okay, I'm not sure why, but the AuthCrypto files needed by the login server are pre-built into static libraries, probably for security reasons, although I'm clueless as to the true reason why.
In the login server directory, there is another directory called login_util, or something similar. Navigate through to the linux folder, and then you should see a couple of zip files based on distribution. Choose the one closest to your distribution, and unzip the .a (static libraries on linux) into the main directory for the login server, then try making again. There isn't a file in there for every distrib; just choose the one closest. I used the RedHat64 one for a Debian 64-bit system and it worked fine. After that lib is in the LoginServer directory, it should build fine. The eqemu_config.xml is kind of like an overall configuration file for your world server, not the login server. This is the place you will set up your ip's, ports, etc. This page: http://www.eqemulator.net/wiki/wikka...rConfiguration documents the file pretty well, although some of the things can be kind of misleading, depending on your exact intentions. For example, it says you do not need to set the ips at the beginning, but I had to in order to get things working. If you are just running over a lan, I would set both the address and local address to your local ip, or the address to your WAN address if you're opening up for friends on the internet. It may be possible that it's not necessary to modify those lines (uncommenting them - the <!-- in xml represent beginning of comments), but for whatever reason, I had to uncomment and set them to get things working on two different servers. Your "login server configuration" refers to your login.ini file while is also located in the login_util directory of the login server directory. I just made a link to mine in the server directory, since that's where the script starts from, but if you're planning on using the official eqemulator login server, you probably don't want to do that. You will also need to set your necessary port and database information in that file. Please someone correct me if I'm wrong on any of this! |
You pretty much got it there Mirakus.
One note I will add, is "adding your ip to the top of the config file" portion from above. Typically when the world server connects to the login server it will save the IP address from which the world server connected. Say, world server at 1.2.3.4 connects to login server at 4.3.2.1, therefor the login server knows the public IP address of the world server. However, when you run both on the same machine (or within a LAN and desire outside connections) this can be a bit tricky. Local LAN + outside connections typically runs into some routing problems (i.e. route the internal LAN packets properly using internal addresses and still listen/respond to external addresses). If you're not concerned about external connections (i.e. from the internet) then you have a easier job. But I digress... Here in lies the rub, the login server will not know the public/private IP address to which it should use to connect to the world server. This is why when you are running the login server and world server on a single machine you MUST set these fields. Otherwise the 'IP' gets recorded as 127.0.0.1 and all clients are then routed back to themselves (127.0.0.1) to look for the worldserver, which of course isn't there. As clear as mud? Hope that helps. -ork |
Thanks for the replies Mirakus and orkim.
In my login_util>linux there are the folders fedora-12-64, gentoo32, and ubuntu-9-10-32. I chose ubuntu. I moved the files into EQEmuLoginServer and ran make. I believe it built ok this time. Quote:
My goal is to open this server up for my friends to log on to. They live in different cities so I wont be connecting using LAN. Is there an easy way to find your WAN ip? I just went to whatismyip.com and put that value in for both <address> and <localaddress>. Or does localaddress need to be 127.0.0.1? Following the guide, this is my eqemu_config.xml file currently Code:
<?xml version="1.0"> I will work on login.ini after I have eqemu_config.xml configured and mysql working. Thanks again for your help. I am looking forward to getting this running! |
sudo apt-get remove mysql-server
I remember getting that error with mysql when I set up my server too, will have to try to remember how I fixed it. |
Hi pfyon, I removed mysql and reinstalled but still get the same error. Please let me know if you remember how you got around this error.
Thanks. |
I wanted to post an update in case anyone else runs into this problem because I think I have found a solution.
I ran "sudo ln -s /etc/mysql/my.cnf /etc/my.cnf" because I think it was looking for /etc/my.cnf instead of /etc/mysql/my.cnf. This seems to have fixed that problem. When I ran mysql -u root again I got a new error "ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)". I fixed that by running "mysql --user=root -p" and entering a new password. I think I have mysql set up correctly. I am going to work on sourcing my database. However, the guide says that the databasefile.sql should be in server/database but I don't have the database directory. I'm going to try and find it. Does my eqemu_config.xml look correct from a couple posts back? Thank you. |
Ah yeah that was the problem.
You'll have to get a database for that. The most popular one is over at project eq (http://www.projecteq.net). You can download a recent release in the downloads section of the google code page (http://code.google.com/p/projecteqdb/) or check it out from the svn to get the most recent version (svn co http://projecteqdb.googlecode.com/svn/trunk/ ). |
Thanks for the info about the database pfyon. I checked out the code and believe I got it all sources correctly. I am just waiting on word if I have create my eqemu_config.xml file correctly from post 12?
On a side note, I sourced load_bots.sql and got some errors. Note sure if they need to be fixed since this source was optional. Quote:
|
I believe I have gone through all the steps to set up the server, but I can't get it to start. I don't know if I have set up eqemu_config.xml file correctly. I tried ./start and this is the output. Is this working correctly?
Quote:
|
I am still not able to get my server running. Looking in my server log files I keep seeing "Unable to load 'eqemu_config.xml': Failed to open file". Where does this file need to be located? Right now its in utils/defaults/. I'm not even sure I have it configured correctly. I posted it back in post 12 I think. Does it look right? Anything else I am missing to get this server started?
Thanks. |
Please help, I can't get this to work. I feel like I am talking to a wall now. I have completely wiped everything and started from scratch and still am stuck. Here is where I am at.
My directory structure: home/eqemulator/projecteqemu home/eqemulator/server home/eqemulator/eqemumaps home/eqemulator/projecteqdb home/eqemulator/projecteqquests I have ran make in projecteqemu/EQEmuServer/ and projecteqemu/EQEmuServer/EQEmuLoginServer folders successfully. I have created and sourced my database successfully. I modified eqemu_config.xml (as shown back in post 12). I moved it from projecteqemu/EQEmuServer/utils/defaults/ to projecteqemu/EQEmuServer/zone/ What am I missing? In eqemulator/server i ran ./start I get the following output. Quote:
Please, any help? Thanks! |
I have moved spells_us.txt into home/eqemulator/server. I don't have a copy of spells_en.txt. Could someone send that to me please?
Any suggestions about my last post? Thanks. |
bump
Still looking for help. Thanks. |
You don't really need the spell files anymore. It doesn't hurt to have them there, but spells are loaded from the database now.
You will need to move your config file directly into your server folder, NOT zone or any other folder. In your config file, you can probably just comment these lines out or just remove them: Code:
<address>(whatismyip.com)</address> Code:
cd /home/eqemulator/server |
Hi trevius. Thank you for your reply.
I made the changes you suggested and ran ./start and received the following errors. Quote:
The original lines looked like "./EQEmuLoginServer" and "./chatserver" etc. But they gave the error "No such file or directory" so I modified my start script to point to the folder locations. All of my server logs are empty. Thanks. |
do a "ls -la" in your server folder and post it.
|
user@comp:/home/eqemulator/server$ ls -la
total 9028 drwxr-xr-x 3 root root 4096 2010-06-21 19:02 . drwxr-xr-x 7 root root 4096 2010-06-12 11:00 .. lrwxrwxrwx 1 root root 28 2010-06-12 11:12 chatserver -> source/chatserver/chatserver lrwxrwxrwx 1 root root 21 2010-06-12 11:12 cleanipc -> source/utils/cleanipc lrwxrwxrwx 1 root root 42 2010-06-12 11:11 commands.pl -> ../projecteqemu/utils/defaults/commands.pl -rw-r--r-- 1 root root 640140 2010-06-12 21:53 crashlog -rw-r--r-- 1 root root 845 2010-06-12 11:13 eqemu.conf -rw-r--r-- 1 root root 596 2010-06-21 18:47 eqemu_config.xml lrwxrwxrwx 1 root root 43 2010-06-12 11:12 eqemu_config.xml.full -> source/utils/defaults/eqemu_config.xml.full lrwxrwxrwx 1 root root 40 2010-06-12 11:12 EQEmuLoginServer -> source/EQEmuLoginServer/EQEmuLoginServer lrwxrwxrwx 1 root root 24 2010-06-12 11:12 eqlaunch -> source/eqlaunch/eqlaunch lrwxrwxrwx 1 root root 36 2010-06-12 11:12 libEMuShareMem.so -> source/EMuShareMem/libEMuShareMem.so lrwxrwxrwx 1 root root 29 2010-06-12 11:12 log.ini -> source/utils/defaults/log.ini lrwxrwxrwx 1 root root 65 2010-06-12 11:11 login.ini -> ../projecteqemu/EQEmuServer/EQEmuLoginServer/login_util/login.ini lrwxrwxrwx 1 root root 53 2010-06-12 11:12 login_opcodes.conf -> source/EQEmuLoginServer/login_util/login_opcodes.conf lrwxrwxrwx 1 root root 57 2010-06-12 11:12 login_opcodes_sod.conf -> source/EQEmuLoginServer/login_util/login_opcodes_sod.conf drwxr-xr-x 2 root root 4096 2010-06-12 14:21 logs lrwxrwxrwx 1 root root 30 2010-06-12 11:12 mail_opcodes.conf -> source/utils/mail_opcodes.conf lrwxrwxrwx 1 root root 28 2010-06-12 11:12 mailserver -> source/mailserver/mailserver lrwxrwxrwx 1 root root 17 2010-06-12 11:11 Maps -> ../eqemumaps/Maps lrwxrwxrwx 1 root root 32 2010-06-12 11:12 mime.types -> source/utils/defaults/mime.types lrwxrwxrwx 1 root root 25 2010-06-12 11:12 opcodes.conf -> source/utils/opcodes.conf lrwxrwxrwx 1 root root 27 2010-06-12 11:12 patch_6.2.conf -> source/utils/patch_6.2.conf lrwxrwxrwx 1 root root 35 2010-06-12 11:12 patch_Anniversary.conf -> source/utils/patch_Anniversary.conf lrwxrwxrwx 1 root root 28 2010-06-12 11:12 patch_Live.conf -> source/utils/patch_Live.conf lrwxrwxrwx 1 root root 27 2010-06-12 11:12 patch_SoD.conf -> source/utils/patch_SoD.conf lrwxrwxrwx 1 root root 27 2010-06-12 11:12 patch_SoF.conf -> source/utils/patch_SoF.conf lrwxrwxrwx 1 root root 32 2010-06-12 11:12 patch_Titanium.conf -> source/utils/patch_Titanium.conf -rwxr-xr-x 1 root root 199 2010-06-12 11:16 persist_world lrwxrwxrwx 1 root root 31 2010-06-12 11:12 plugin.pl -> source/utils/defaults/plugin.pl lrwxrwxrwx 1 root root 26 2010-06-12 11:11 plugins -> ../projecteqquests/plugins lrwxrwxrwx 1 root root 18 2010-06-12 11:11 quests -> ../projecteqquests lrwxrwxrwx 1 root root 16 2010-06-12 11:12 source -> ../projecteqemu/ -rw-r--r-- 1 server server 8541820 2010-06-15 18:05 spells_us.txt -rwxr-xr-x 1 root root 1716 2010-06-21 18:58 start -rwxr-xr-x 1 root root 852 2010-06-12 11:16 stop lrwxrwxrwx 1 root root 31 2010-06-12 11:12 templates -> source/utils/defaults/templates lrwxrwxrwx 1 root root 35 2010-06-21 18:50 ucs -> ../projecteqemu/EQEmuServer/ucs/ucs lrwxrwxrwx 1 root root 18 2010-06-12 11:12 world -> source/world/world -rw-r--r-- 1 root root 0 2010-06-21 19:02 .world_shutdown lrwxrwxrwx 1 root root 29 2010-06-12 11:12 worldui -> source/utils/defaults/worldui lrwxrwxrwx 1 root root 32 2010-06-12 11:12 worldui.pl -> source/utils/defaults/worldui.pl lrwxrwxrwx 1 root root 16 2010-06-12 11:12 zone -> source/zone/zone -rw-r--r-- 1 root root 0 2010-06-21 19:02 .zone_shutdown |
Looks like part of your problem is that you named your server's source folder "projecteqemu" instead of "source" like the guide said, but you still created links to the non-existent source folder. You need to remove those links and remake new ones pointing to the correct path.
The ucs link below is pointing to the right place, but the world is not. I am not exactly sure how you even started the server at all unless you also made a folder named source and put the EQEmuServer code in there. lrwxrwxrwx 1 root root 35 2010-06-21 18:50 ucs -> ../projecteqemu/EQEmuServer/ucs/ucs lrwxrwxrwx 1 root root 18 2010-06-12 11:12 world -> source/world/world |
Hi trevius. Thanks for replying!
My source folder is called projecteqemu because that is how the script by orkim creates it. I removed the bad links and created the correct ones. I ran ./start with the following output Code:
user@comp:/home/eqemulator/server$ sudo ./start Code:
login_1277338648.log |
One more thing. My ./start output in the post above is from my second time running the command. I noticed that the output from the first time running it was different. So I ran ./stop and then tried ./start again. Here is the output from the first time running it.
I get the error "shmat failed! Invalid argument" Code:
user@comp:/home/eqemulator/server$ sudo ./start |
I figured out that I was getting the error ""shmat failed! Invalid argument" because I didn't increase shared memory limit. I increased it and tried to start the server. Here is the output from that. Are there any logs I should post?
Quote:
|
How can I tell if the world started properly? Will it show up on the Server List?
I checked through all the logs and only found one error that appeared in two files. The two files it appeared in are login_1277437359.log and loginserver. Quote:
Thank you for your help! |
I have created a World Server Account in the User CP section. I added that to my eqemu_config.xml file. I ran ./start and received the same output with the same parse error posted above. My server did not appear on the server list page.
I don't understand what I am missing and why I can't get this running. I have followed the guides and the advice posted here. What else am I missing? I am looking forward to getting this server going. I would appreciate any continued help as I have been completely stuck! Or should I just give up? :???: Thanks for your help! |
I thought I would give this one last bump before I accept defeat.
|
Maybe a Windows server would be better for you if you have too much trouble with Linux. You could even use the AX repack on Windows to make it pretty quick and simple:
http://www.eqemulator.org/forums/showthread.php?t=28190 |
Did you check file permissions and ownership?
|
trevius. I unfortunately don't have access to a windows machine and can't afford to buy the OS at this time. I'm just curious what I am currently missing . I have followed the guides and the advice in this thread and can't get it running. The server logs provide clues but not enough to debug (ie Config::Parse(), file was unable to be opened for parsing.)
pfyon, from what I understand, running command with "sudo" executes it as root. Is this sufficient? But no I have not check permissions/ownership. |
I'm too tired/busy to figure it out tonight, but perhaps tomorrow after work I'll see if I can figure out what you did and what's wrong.
|
Hi pfyon, I look forward to seeing if you figure out what I am doing wrong! I feel like I am very close. I am excited to get this setup once and for all.
I suck at setting up servers obviously but I would like to return the favor to you somehow. This goes for trevius and the others who have helped me. I clearly can't do it without you guys! If you guys have servers, maybe I could somehow help with the game play? |
I think that most recent error is occurring because it's having issues with login.ini. Make sure it exists and the login server has read permissions set to it. I personally run EQEmuLoginServer from its own directory (not from the server root - when I set up my server, it wasn't functional yet).
What's ls -l look like for projecteqemu/EQEmuServer/EQEmuLoginServer/login_util/ ? |
Hi pfyon, login.ini exists in /projecteqemu/EQEmuServer/EQEmuLoginServer/login_util/login.ini.
user@comp:/home/eqemulator/projecteqemu/EQEmuServer/EQEmuLoginServer/login_util$ ls -l total 44 -rw-r--r-- 1 root root 2796 2010-06-12 11:03 EQEmuLoginServerDBInstall.sql -rw-r--r-- 1 root root 2524 2010-06-12 11:03 EQEmuLoginServerPostgreDBInstall.sql drwxr-xr-x 6 root root 4096 2010-06-12 12:19 linux -rw-r--r-- 1 root root 693 2010-06-12 14:13 login.ini -rw-r--r-- 1 root root 298 2010-06-12 11:03 login_opcodes.conf -rw-r--r-- 1 root root 298 2010-06-12 11:03 login_opcodes_sod.conf drwxr-xr-x 5 root root 4096 2010-06-12 10:59 ms -rw-r--r-- 1 root root 479 2010-06-12 11:03 tblLoginServerAccounts.sql -rw-r--r-- 1 root root 469 2010-06-12 11:03 tblServerAdminRegistration.sql -rw-r--r-- 1 root root 539 2010-06-12 11:03 tblServerListType.sql -rw-r--r-- 1 root root 536 2010-06-12 11:03 tblWorldServerRegistration.sql |
All times are GMT -4. The time now is 09:42 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.