View Full Version : Local Server Issues
jshows1
04-24-2012, 05:18 PM
Hey guys. I just started messing around with a home based server. I followed the guide here:
http://www.eqemulator.org/forums/showthread.php?t=32980 and got the server up and running. There don't seem to be any issues on that end as I'm seeing two cmd windows up and running with no apparent errors.
I made sure to go into my router (after having found my local ip) and forwarded the appropriate ports (5998, 5999, 7000-7001, and 9000).
I then made sure to do a fresh Titanium install without patching.
Next I went into my eqhost.txt file and changed it to:
[LoginServer]
Host=localhost:5999
Finally, on the exe shortcut created by the Titanium install, I right clicked on the file and changed the end of the path to eqgame.exe" patchme.
Now when I start the exe file, I get to the login screen, put in my username and password (not sure if this even matters what it is on a local server?).
The game then attempts to log me in, but after about 10 seconds (since it's not longer then 10 seconds, I assume it's not a patch issue) it says "a connection to the server could not be reached..."
I know other people have had this issue, but after searching the forums, I've not had much luck. I would appreciate it if someone can steer me into the right areas to look for what is causing my login issues.
EDIT: I thought it might help if I post my eqemu_config.xml file contents:
<?xml version="1.0">
<server>
<world>
<!-- Set the shortname to ONE word. The longname is what shows up on server list -->
<shortname>Jermanfu</shortname>
<longname>Jermanfu's Server</longname>
<!-- DO NOT EDIT ANY LINES BETWEEN HERE AND THE DATABASE SECTION -->
<!-- <address>do.not.edit</address> -->
<!-- <localaddress>do.not.edit</localaddress> -->
<!-- Loginserver information. DO NOT EDIT -->
<loginserver>
<host>eqemulator.net</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver>
<!-- Server status. Default is unlocked DO NOT EDIT RIGHT NOW -->
<!--<locked/>-->
<!-- <unlocked/> -->
<!-- Sets the ip/port for the tcp connections. DO NOT EDIT -->
<tcp ip="localhost" port="9000" telnet="disable"/>
<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>somelongrandomstring12345</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. DO NOT EDIT -->
<chatserver>
<host>channels.eqemulator.net</host>
<port>7778</port>
</chatserver>
<!-- Mailserver (in-game mail) information. DO NOT EDIT -->
<mailserver>
<host>channels.eqemulator.net</host>
<port>7779</port>
</mailserver>
<zones>
<!-- The defaultstatus is what status the new toons will have on your server -->
<defaultstatus>0</defaultstatus>
<!-- Sets port range for world to use to auto configure zones DO NOT EDIT RIGHT NOW-->
<ports low="7000" high="7100"/>
</zones>
<!-- Set username to root and password is your MySQL password and db to peq -->
<database>
<host>localhost</host>
<port>3306</port>
<username>root</username>
<password>6harrier8z</password>
<db>peq</db>
</database>
<!-- Launcher Configuration DO NOT EDIT-->
<launcher>
<!-- <logprefix>logs/zone-</logprefix> -->
<!-- <logsuffix>.log</logsuffix> -->
<!-- <exe>zone.exe</exe> -->
<!-- <timers restart="10000" reterminate="10000"> -->
</launcher>
<!-- File locations. DO NOT EDIT -->
<files>
<!-- <spells>spells_us.txt</spells> -->
<!-- <opcodes>opcodes.conf</opcodes> -->
<!-- <logsettings>log.ini</logsettings> -->
<!-- <eqtime>eqtime.cfg</eqtime> -->
</files>
<!-- Directory locations. DO NOT EDIT -->
<directories>
<!-- <maps>Maps</maps> -->
<!-- <quests>quests</quests> -->
<!-- <plugins>plugins</plugins> -->
</directories>
</server>
Uleat
04-24-2012, 08:45 PM
The first thing is that your eqhost should be set to 5998 for a titanium client. I noticed that you are using port forwarding. Is this a public or private setup? Your configuration is dependent upon what setup ou want to use.
Is it:
A private network-based setup with a local login server?
A private network-based setup with a remote login server (i.e., www.eqemulator.net)?
A single computer connected to an ISP IP address?
etc...?
If you're using a local login server scheme (and not the minilogin), check out my post on solo computer setup here:
http://www.eqemulator.org/forums/showthread.php?t=35222
(I don't know how to make it focus on my post, but it's down near the bottom on the first page.)
Then, if you're on a private network, make the changes for a lan setup (changing 127.0.0.1 to 192.168.xxx.xxx where appropriate..but not the database.) This same setup will work if your hosting a public server as well, as long as your use the port forwarding. If it's a private server, clear out the port forwarding or you could get unwanted outside traffic.
(It could be a typo, but make sure your port forwarding 'range' is 7000 to 7100 and not just 7000 to 7001.)
jshows1
04-24-2012, 09:20 PM
I appreciate the response, Uleat. To answer your question, I'm using a single computer to login to a server on the same pc.
I don't really care to have it setup as an online server, I just happened to come across Huppy's post here:
http://www.eqemulator.org/forums/showthread.php?t=32980
It was very thorough and seemed to work when I setup the server portion.
Back to your info, I'm looking at the post you gave in your link. Since I want to run a solo server from the same machine, should I follow that information you posted in the other post?
Also, I'm using rev2133. Should I not be using that one? If not, should I source in the db that you mentioned in the other post?
Uleat
04-24-2012, 09:37 PM
Using rev2133 should be fine. I'm on 2135 myself. Yes, just follow the instructions on that link and it should work. My reference to the 2098 and 1735 was only for the EQEmuLoginServer. Only after changing the two configuration files should you look at replacing your login server files if it still doesn't work. Usually it will let you log in and not show any servers on the server page.
I followed Huppy's myself and had the same problems you're running into. Some of it is outdated and some is a bit quirky. As long as you installed all of the support software it should work when properly configured. Don't forget to clear out the port forwarding settings if you're not hosting a public server.
I should be online for another hour or so..let me know if you're still having problems.
jshows1
04-24-2012, 09:59 PM
Using rev2133 should be fine. I'm on 2135 myself. Yes, just follow the instructions on that link and it should work. My reference to the 2098 and 1735 was only for the EQEmuLoginServer. Only after changing the two configuration files should you look at replacing your login server files if it still doesn't work. Usually it will let you log in and not show any servers on the server page.
I followed Huppy's myself and had the same problems you're running into. Some of it is outdated and some is a bit quirky. As long as you installed all of the support software it should work when properly configured. Don't forget to clear out the port forwarding settings if you're not hosting a public server.
I should be online for another hour or so..let me know if you're still having problems.
Ok I appreciate it. I copied in the 5 files you mentioned into my Eqemu folder:
EQEmuLoginServer.exe
EQEmuAuthCrypto.dll
login.ini
login_opcodes.conf
login_opcodes_sod.conf
I then made the changes you mentioned below that (in the eqemu_config.xml, etc). Next I changed my eqhost.txt to 5998 like you mentioned.
When I got to the bottom part of your other post where you mention "tblserveradminregistration" under the peq section of through Navicat, I don't see that. I'm wondering if I'm missing some files and should start over lol.
Looking back at Huppy's post, I don't see that mentioned. Perhaps that's why I missed something. I'm pretty pc savy, however I do admit that I'm a little ignorant with databases, etc. I tried to take everything step by step, but I'm wondering if I missed something because he took for granted that it was so simple he didn't mention.
Anyway, do you think I should start over? if so, what guide should I follow for a single player server?
EDIT: I'm going to head to bed. I'll butt heads with this again tomorrow. If you can give me any words of wisdom,Uleat, I'll certainly heed them! I'll try again tomorrow and see what I can come up with. Thanks again for your help.
lerxst2112
04-24-2012, 10:47 PM
This guide explains how to set up the login server database entries. It's in step 3 I think, after the regular database setup.
http://www.eqemulator.org/forums/showthread.php?t=31783
Uleat
04-24-2012, 11:08 PM
Yeah, Huppy's guide doesn't mention the tblserveradminregistration table..it presumes that you're using the default administrator when you 'UPDATE' the tblworldserverregistration and use 'Admin', 'Password' and '1' for the admin name, admin password and admin id. Some people have issues with this and it is also another reason that a server will not show up at server select.
If you changed those when you entered that update statement and/or changed the admin/password in config settings, and didn't update the database to reflect those changes you will have a blank server select screen.
If you're still having problems when you start tomorrow, post your program versions and we'll see if there issues there too.
Uleat
04-25-2012, 12:31 AM
Also, you can sidestep the whole admin/worldserver registration issue by the following settings:
|eqemu_config.xml|
<loginserver>
<host>127.0.0.1</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver>
|login.ini|
unregistered_allowed = TRUE
This will bypass the registered server verification process and log your world server in as an unregistered 'Standard Server' instead of a 'Preferred Server.' You will receive an EQEMULoginServer [Database_Error], but it will not prevent your EQEmu server from logging into it.
I don't think deleting the account/password matters, but I tried it on mine and had no problem logging on. If this doesn't work, then something else is still wrong.
jshows1
04-25-2012, 10:06 AM
ok looking at Kavren's thread here:
http://www.eqemulator.org/forums/showthread.php?t=31783
And Huppy's thread here:
http://www.eqemulator.org/forums/showthread.php?t=32980
I'm trying to piece together the info I need.
When I get down to where I'm trying to setup the database and login info (looking at Kavren's post where he says "Setup PEQLoginDB DB and Logins") I start to get a little confused.
This is what he says:
Setup PEQLoginDB DB and Logins
• Open Navicat lite
• double click on local
• right click on local and create a new database
• name it PEQLoginDB
• Now open a command prompt and go to the below folder
• (C:\EQEmuSVNFiles\EQEmu\trunk\EQEmuServer\EQEmuLog inServer\login_util)
• run this command:
• mysql -uUSERNAME -pPASSWORD PEQLoginDB < EQEmuLoginServerDBInstall.sql
• Here's an SQL statement to make accounts. Save the below statement as accounts.sql onto your server’s desktop.
• INSERT INTO tblLoginServerAccounts (AccountName, AccountPassword, AccountEmail, LastLoginDate, LastIPAddress) VALUES('Admin', sha('password'), 'admin@somewhere.com', now(), '127.0.0.1');
• Edit the above statement as follows:
• After “VALUES”, edit 'Admin' and 'password' to what you would like the login information to be. Edit 127.0.0.1 to the i.p. address of the client machine you will be logging in from.
• For security purposes, you can delete the Admin account that's entered by default in tlbloginserveraccounts by left-clicking on it so it's yellow, and then pressing CTRL+DEL.
• On to Setting up the world server. Here's the sql statement to make the world server entry. Save the below statement as worldreg.sql onto your servers desktop.
• INSERT INTO `tblworldserverregistration` (`ServerID`, `ServerLongName`, `ServerTagDescription`, `ServerShortName`, `ServerListTypeID`, `ServerLastLoginDate`, `ServerLastIPAddr`, `ServerAdminID`, `Note`) VALUES ('1', 'NameOfServer', 'ServerTagDescription', 'ShortNameOfServer', '2', NULL, NULL, '1', NULL);
• Edit the above statement as follows:
• After VALUES, edit the following:
• NameOfServer is the actual name of the server.
• ShortNameOfServer is the shortname for client files in your game directory (i.e. UI_Soandso_ShortNameOfServer.ini).
• ServerTagDescription is what you will see in parenthesis after the server's name - i.e. NameOfServer(Come and have fun!)
• The number 2 signifies what kind of server it is. 1 = Legends, 2 = Preferred, 3 = Standard.
• In navicat, right click the PEQLoginDB DB and select “Execute SQL File…” and choose accounts.sql from your desktop. Do the same again but choosing worldreg.sql from your desktop.
Now, I'm sure I'm missing something here. Where he says "Here's an SQL statement to make accounts. Save the below statement as accounts.sql onto your server’s desktop." How? How do I make an SQL statement?
on the next line he mentions tblLoginServerAccounts which I don't see anywhere.
Also farther down the list he mentions "INSERT INTO `tblworldserverregistration`"
I also noticed, Uleat, where you mention in your post here:
http://www.eqemulator.org/forums/showthread.php?t=35222 that in your database under PEQ I should have a heading called tblserveradminregistration. Same thing here, and I'm sure you are both talking about the same thing. For some reason, I don't see that under my PEQ database. Is it something I need to add? and if so, how? You mentioned this a few posts back but I didn't quite understand. Do I need the tblserveradminregistration or no?
I apologize for being so dense. I'm really trying to understand these steps but am having difficulty.
I'm thinking maybe this is where my issues are coming into play as there are discrepancies between Huppy's post and Kavren's. I'm sure both posts are excellent sources of information, but I must be overlooking something obvious. Usually that's my problem.
jshows1
04-25-2012, 03:16 PM
Looking under my PEQ tables in Navicat, I see where I should have the tblworldserverregistration and tblLoginServerAccounts. For some odd reason, they're not there.
Another thing I noticed, when I start up my server with my start.bat file, I get this message in the world.exe window:
[WORLD_LS]Connecting to login server...
[WORLD_LS_ERR] Could not connect to login server: 127.0.0.1:5998 TCPConnection::Connect(): connect() failed. Error: 10061
also, world.exe is listed as an exception in my firewall settings, so I know that's not the problem.
Cilraaz
04-25-2012, 04:26 PM
The world server is trying to connect to it locally (127.0.0.1), so it's not your firewall or router at that point. Do you have minilogin running? It seems to me that the process it's trying to connect to simply isn't there.
jshows1
04-25-2012, 04:37 PM
The world server is trying to connect to it locally (127.0.0.1), so it's not your firewall or router at that point. Do you have minilogin running? It seems to me that the process it's trying to connect to simply isn't there.
hmm now this is something else I didn't know about. If the minilogin is something I have to start, then no. Is that the same as eqemuloginserver.exe? I tried starting that.....and when I attempt to log in, it tells me I have the wrong password. Looking at the cmd, I can see it trying to log in.
If that's not it, then I'm not seeing the minilogin.
lerxst2112
04-25-2012, 04:57 PM
Unless you add a delay to the batch file it will always fail once then retry and succeed.
Those tables are created when you source EQEmuLoginServerDBInstall.sql as shown in the guide.
jshows1
04-25-2012, 05:16 PM
ok I downloaded the minilogin and I assume I put it into my Eqemu folder? I found a thread on the minilogin and how to set it up (I like to try to follow written directions before I ask for help if I can!) but the post is from 2004. A lot of the info in it is talking about things that I can't find anywhere in my login file or anything like that.
I'm a little confused about all of this. Neither Huppy's post or Kavren's post mention a minilogin. Is there quite a bit of information that is assumed to be known already by the user? I must be missing something here.
I followed the Eqemu play guide, and setup my files the way it says, then I followed the above guides in an attempt to setup a local server.
But for some reason, it seems like there is some assumed knowledge that I'm missing.
I resetup my server with the info from Uleat which was very helpful in getting me to at least get the server up.
So I start the minilogin, I then start the server and it seems to start up fine now. But when I login to the server from my Titanium eqgame.exe shortcut, it just times out.
What information do you guys need to see in order to know what I'm doing wrong?
lerxst2112
04-25-2012, 05:58 PM
Huppy's guide is designed for you to use the public loginserver so your server appears on the list of all the other servers here.
The guide I posted a link to is designed to allow you to use eqemuloginserver locally.
Minilogin is old, you should use eqemuloginserver is you can. The guide I linked is not difficult to follow, it's only a few steps and you're done.
jshows1
04-25-2012, 06:04 PM
Huppy's guide is designed for you to use the public loginserver so your server appears on the list of all the other servers here.
The guide I posted a link to is designed to allow you to use eqemuloginserver locally.
Minilogin is old, you should use eqemuloginserver is you can. The guide I linked is not difficult to follow, it's only a few steps and you're done.
Ok I'll go back and uninstall everything and try again wih Kavren's guide. I was using his, but got stuck on the portion where it tells you to look at the info in tblworldserverregistration and tblLoginServerAccounts. For some reason, they don't show up in the tables of my peq database, so I was stuck at that point.
I'll delete my peq database and all of my Eqemu files (in my root folder) and start over.
I'll post here later if I am still having problems. Hopefully by deleting the peq database and redoing everything, the tbl tables will show up. Thanks, Lerx.
Uleat
04-25-2012, 08:48 PM
EQEmuLoginServer uses an account/password scheme for logging onto the server, where Minilogin uses IP address verification. I agree with lerxst on this and you should be using the eqemulogin.
If you happen to download the rev2098.rar file, there was a file called ServerStart.bat, which starts all of the required programs.
If not, open Notepad (don't create a new text document and open it or you'll be stuck with a file called ServerStart.bat.txt, which won't work and is a pain to rename in Windows if you don't know how..) and copy this into it:
@echo off
Echo Starting EQEmuLoginServer
cd C:\eqemu
start eqemuloginserver.exe
echo
echo
cd C:\eqemu
start world.exe
echo waiting a bit for world to finish loading...
echo.
echo.
ping -n 10 127.0.0.1 > nul
echo starting zone
start eqlaunch.exe zone
exit
Now, click save and called it ServerStart.bat and that should work for your server starter.
As far as Navicat (or HeidiSQL), it is not required to make the server run. It's only there to make editing your database easier.
MySQL is your database server and is where your World and Login server's go to set and retrieve information. The name 'PEQ' is the name you gave to the particular database for use with this world server.
In Huppy's instructions where it say to create a new session, you are creating a Navicat-unique identifier called 'PEQLoginDB' which is only a tag that identifies this particular MySQL server.
When you log into Navicat (Navigate Catalogue, I presume) you will actually see four (4) databases: MySQL, PEQ, Test, and something else..I'm not on my server computer and can't get the exact names, but you get the gist.
When you set the database in the config files, that tells the server programs to use a particular database from your MySQL database server..and that happens to be 'PEQ.' All of the tables that you need will be under the PEQ tree.
I'll continue in a little bit, but want to get this post up first...
jshows1
04-25-2012, 09:52 PM
Thanks for the info Uleat.
I seriously can’t figure out what I’m doing wrong. SO, I’ll post my step by step process to see if you guys can pick up on my error(s). You know how it is, after hours of staring at something; it helps to get some different eyes to look at your work.
So to start, I’m using Kavren’s guide found here:
http://www.eqemulator.org/forums/showthread.php?t=31783
Phase 1: Install and Gather Starting Supplies:
I’m using Perl 5.12 (32 bit), MySQL 5.1.54 (32 bit), a demo version of Navicat, TortoiseSVN 1.7.6 (64 bit), Microsoft Visual C++ 2008, Zlib.
I installed all of the above programs first.
Next I created a folder called “EQEmuSVNFiles” in my C:\ drive (all of the file locations I will use going forward in this post will be based on exactly where Kavren says to do it in his guide).
I then created a subfolder in that folder called “EQEmu”.
I then right clicked on EQEmu and went to SVN checkout with http://projecteqemu.googlecode.com/svn/
Next I created a subfolder called DB and did an SVN checkout with
http://projecteqdb.googlecode.com/svn/trunk
Next, Kavren says to install Perl 5.10. I previously installed version 5.12 since I couldn’t seem to find an install version of 5.10 anywhere online. Other posts have mentioned that version 5.12 works with Microsoft Visual C++2008, so I’m going with that.
Next I installed MySQL 5.1.54 (I tried using 5.08 like he mentions in the guide, but I could never get the service to start at the end of the config). When the option came to configure, I chose detailed configuration>>server machine>>multifunctional database>>online transactional processing (OLTP)>>Unchecked Enable Strict Mode but enabled TCP/IP Networking (port 3306)>>best support for multilingualism>>checked both install as windows service and include bin directory windows PATH>> then put in a new password and hit execute.
I then started Microsoft Visual C++ 2008 and made sure I had the appropriate directories included:
Include files: C:\mysql\include
Include files: C:\perl\lib\CORE
Include files: C:\zlib\include
Library files: C:\mysql\lib\opt
Library files: C:\perl\lib\CORE
Library files: C:\zlib\lib
Phase 2: Compile
In Microsoft Visual C++ 2008 I went to file>>open>>project/solution and browsed to C:\EQEmuSVNFiles\EQEmu\trunk\EQEmuServer and selected server.sln.
I then unloaded the queryserv so that I had only the 5 projects needed.
Next I hit build/clean solution and got 5 succeeded, 0 failed.
Then I went to the configuration manager and selected releasebots.
I then went into eqwparser.cpp as well as embperl.cpp and changed both instances of 510 to 512 (since I’m using version 5.12 of Perl).
Finally I went to build/build solution. After, I got the message of 5 succeeded 0 failed.
I then created a folder in my C:\ drive called EQEmu
I then copied the following files into my EQEmu folder:
Changelog.txt
Chatserver.exe, EMuShareMem.dll, World.exe, Zone.exe from the build directory.
Eqlaunch.exe from the EQlaunch\release directory (Interesting thing here: The file was named eqlaunch.exe.intermediate.manifest so I deleted everything behind the .exe hoping this is right!)
mail_opcodes.conf, opcodes.conf, patch_6.2.conf, patch_Anniversary.conf, patch_SoD.conf, patch_SoF.conf, patch_Titanium.conf from the Utils directory (It also asked to transfer patch_live.conf but there was NO file named this. Also what about patch_HoT.conf, patch_Underfoot.conf, and patch_VoA.conf? I know these expansions are newer than this guide. Will it mess me up if I transfer these over? What if I don’t? I didn’t because I’m going literally step by step on the guide).
I then copied ALL of the files from the default folder into my EQEmu folder.
Phase 3: Setup Databases, Adjust Server Settings and Gather More Files
Now time to source in my database. This is where I’m not sure if I did it exactly right or not. In the guide he talks about rev774. Obviously when I did it we were on rev2133.
I then navigated to C:\EQEmuSVNFiles\DB\peqdatabase and unzipped peqdb_2133.sql into the same folder.
I opened Navicat and made a new connection. I then double clicked on the connection, right clicked on it and made a new database called PEQ.
Next I opened a command prompt and navigated to the above mentioned folder.
I then ran these commands (replacing username/password with my info):
mysql -uUSERNAME -pPASSWORD PEQ < peqdb_Rev2133.sql
mysql -uUSERNAME -pPASSWORD PEQ < load_player.sql
Next Kavren says it’s time to install EQEmuLoginServer:
I extracted and copied EQEmuLoginServer.exe into my C:\EQEmu folder (NOTE: He did NOT say to copy anything else from the zip, so I didn’t).
He then says to navigate to C:\EQEmuSVNFiles\EQEmu\trunk\EQEmuServer\EQEmuLogi nServer\login_util and copy the eqemulogin.ini and login_opcodes.conf to your server folder (C:\EQEmu). The problem is, there is NO eqemulogin.ini so I copied login.ini. Please let me know if this is wrong. I’m following this guide as literal as I can.
I then navigated to C:\EQEmuSVNFiles\EQEmu\trunk\EQEmuServer\EQEmuLogi nServer\login_util\ms\debug and copied EQEmuAuthCrypto.dll to my server folder (C:\EQEmu)
Next was time to setup PEQLoginDB and Logins:
He says to right click on my connection in Navicat and create a new database called PEQLoginDB. I did that next.
Next I opened a command prompt, navigated to C:\EQEmuSVNFiles\EQEmu\trunk\EQEmuServer\EQEmuLogi nServer\login_util and ran the following command:
mysql -uUSERNAME -pPASSWORD PEQLoginDB < EQEmuLoginServerDBInstall.sql (again replacing username/password with the one I had chosen for my database).
I then went into tblLoginServerAccounts and set user/pw to Admin/Password. He says to change 127.0.0.1 to the p address of the client machine I will be playing on. Does this mean the 192.168.1.xx? That’s what I changed it to.
Next I went into tblworldserverregistration and made the changes he suggested to make in there.
The next thing the guide says to do is to edit the eqemu_config.xml. Below is what my file looked like after I made the suggested changes:
<?xml version="1.0">
<server>
<world>
<shortname>Jermanfu</shortname>
<longname>World of Jermanfu</longname>
<!-- Only specify these two if you really think you need to. (read: You don't) -->
<address>192.168.1.50</address>
<localaddress>192.168.1.50</localaddress>
<!-- Loginserver information. Defaults shown -->
<loginserver>
<host>192.168.1.50</host>
<port>5998</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>192.168.1.50</host>
<port>7778</port>
</chatserver>
<!-- Mailserver (in-game mail) information. Defaults shown -->
<mailserver>
<host>192.168.1.50</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>root</username>
<password>6harrier8z</password>
<db>peq</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>
I then opened up eqemulogin.ini ( I assume since there was no file by that name I was to edit login.ini):
This is where things differ, his eqemulogin.ini is a bit different from the login.ini. From what I gathered from other posts, I made mine look like this:
[database]
host = localhost
port = 3306
db = PEQLoginDB
user = root
password = 6harrier8z
subsystem = MySQL
[options]
unregistered_allowed = TRUE
reject_duplicate_servers = FALSE
trace = TRUE
world_trace = FALSE
dump_packets_in = TRUE
dump_packets_out = TRUE
listen_port = 5998
local_network = 192.168.1.
[security]
plugin = EQEmuAuthCrypto
mode = 5
[Titanium]
port = 5998
opcodes = login_opcodes.conf
[SoD]
port = 5999
opcodes = login_opcodes_sod.conf
[schema]
account_table = tblLoginServerAccounts
world_registration_table = tblWorldServerRegistration
world_admin_registration_table = tblServerAdminRegistration
world_server_type_table = tblServerListType
Next I setup my maps and Quest SVN Folders:
I went to my EQEmu folder and did an SVN checkout on the maps folder using this link:
http://eqemumaps.googlecode.com/svn/trunk/Maps
Next I did the same thing with my quest folder using this link:
http://projecteqquests.googlecode.com/svn/trunk/quests
I then copied the files from the quests\plugins folder to the EQEmu\plugins folder.
I then copied spells_en.txt and spells_us.txt from my Titanium EQ folder to the EQEmu parent folder.
I then made a batch file which says exactly this:
@echo off
Echo Starting EQEmuLoginServer
cd C:\eqemu
start eqemuloginserver.exe
echo
echo
cd C:\eqemu
start world.exe
echo waiting a bit for world to finish loading...
echo.
echo.
ping -n 10 127.0.0.1 > nul
echo starting zone
start eqlaunch.exe zone
exit
When I run start.bat I get an error that says this: "Unsupported 16 bit application. This program or feature "\??\C:\EQEmu\eqlaunch.exe cannot start or run due to incompatibility with 64-bit versions of Windows."
Well I'm omw to bed. Another LONG day of messing with this lol. But I am a patient man. I guess I have to be with all the mistakes I make. Anyway, Uleat or anyone else, if you guys can find my mistakes....PLEASE let me know what I need to change. Thanks!
lerxst2112
04-25-2012, 09:57 PM
There was absolutely no need to start over. I linked you the guide so you could follow the few simple steps to letting you use eqemuloginserver on your own machine. Nothing else needed to change from Huppy's guide at all, and since it is more recent it was probably a bit easier to follow.
sorvani
04-25-2012, 10:12 PM
You are fighting too many differnt things at one time.
I would personally go back to huppy's guide.
Skip the step about downloading zlib, it is in the SVN now.
When you set up your include directories, obviously set the zlib includes to the SVN copy since you no longer need to download it independently.
Change the 2 Perl510 references to Per512 as you have obviously been doing.
Do not uncheck QueryServ it builds just fine now, and is actually used for the Looking for Guild tool recently implemented.
Build your start.bat file and edit your eqemu_config.xml to point to the public login server.
Port forward your router, or temporarily put your PC in your router's DMZ.
Launch your server, make sure it shows up in the list, and that you can log in to it.
At this point you have a public working server. Now go follow the link lerxst2112 referenced to you and set up your own eqemuloginserver.
Uleat
04-25-2012, 11:14 PM
Real quick..the file that you renamed is the problem with the startup. Executable files (*.exe, *.com, etc...) are files that have been compiled from source code (text files) into a binary executable. The file that you renamed is actually a *.manifest file created by VC and not a compiled binary nor a source code file. Delete the file that you renamed from the source file directory and then come back to the parent source file directory and right-click it, then select SVN Update to ensure that no needed files were deleted.
If you had 5 successfully build, you should have 5 files to copy in your /build/ directory..At least all of mine are there in the Win32 build. Each file will be named based on the name of each project in the Server.sln. I actually have 6 builds using VC9.0 and Win32, but I know there are differences that I haven't played with yet.
Again, you should be using the <eqemu_config.xml> and <login.ini> versions that I post earlier. If you choose to use 192.168.1.50 address for everything, you must use 127.0.0.1 for the database settings in each file or the server programs won't be able to locate it..unless you set up your mysql server to run at 192.168.1.50:3306..but let's not even go there. (Using your network address will work, but adds a tiny bit of not-needed overhead for every packet sent and received, and you could run into the firewall issues Cilraaz alluded to.)
Checklist still inc..
jshows1
04-25-2012, 11:34 PM
ok thanks a bunch for the help guys. You have all been very helpful and patient with me. I really do appreciate it.
After listening to Uleat, Sorvani, and Lerxst2112, I think I've gotten my files MOSTLY straightened out. I think I'm very close to being up and running.
When I start my batch file, I get three windows up and the 5 zones running with no errors that I can see.
When I log into my Titanium client, I immediately get an "invalid username/password" message. So I obviously have something wrong.
Uleat, I believe I have my files set the way you described in your other post. But to be sure, I'll post them here. If anyone can take a look and possibly tell me why I'm getting the invalid username/password message when logging in, that would be great. I have a feeling my error is being narrowed down to something in one of these files. if not, maybe you guys can point me to where it will be:
EQEmu_Config.xml
<?xml version="1.0">
<server>
<world>
<shortname>Jermanfu</shortname>
<longname>World of Jermanfu</longname>
<!-- Only specify these two if you really think you need to. (read: You don't) -->
<address>127.0.0.1</address>
<localaddress>127.0.0.1</localaddress>
<!-- Loginserver information. Defaults shown -->
</world>
<loginserver>
<host>127.0.0.1</host>
<port>5998</port>
<account>Admin</account>
<password>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>342342908712123</key>
<!-- Enable and set the port for the HTTP service. Defaults are shown -->
<http port="9080" enabled="false" mimefile="mime.types" />
<!-- Chatserver (channels) information. Defaults shown -->
<chatserver>
<host>127.0.0.1</host>
<port>7778</port>
</chatserver>
<!-- Mailserver (in-game mail) information. Defaults shown -->
<mailserver>
<host>127.0.0.1</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>127.0.0.1</host>
<port>3306</port>
<username>root</username>
<password>password</password>
<db>peq</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>
login.ini
[database]
host = 127.0.0.1
port = 3306
db = PEQ
user = root
password = password
subsystem = MySQL
[options]
unregistered_allowed = TRUE
reject_duplicate_servers = FALSE
trace = TRUE
world_trace = FALSE
dump_packets_in = FALSE
dump_packets_out = FALSE
listen_port = 5998
local_network = 127.0.0.
[security]
plugin = EQEmuAuthCrypto
mode = 5
[Titanium]
port = 5998
opcodes = login_opcodes.conf
[SoD]
port = 5999
opcodes = login_opcodes_sod.conf
[schema]
account_table = tblLoginServerAccounts
world_registration_table = tblWorldServerRegistration
world_admin_registration_table = tblServerAdminRegistration
world_server_type_table = tblServerListType
eqhost.txt
[LoginServer]
Host=127.0.0.1:5998
Uleat
04-26-2012, 01:14 AM
Did you create a 'tblLoginServerAccounts' entry? This is the actual eq client account user/password that you will use to log into the game with. The password needs to be security hashed as well and can't (to my knowledge) be hashed by simply changing it in Navicat. You can check to see if it is hashed in Navicat by looking at the data field. If you can see the actual password, or don't have an entry in this table at all, you will need to use one of the following:
--If you have already created a login account, but need to hash the password--
UPDATE tblLoginServerAccounts SET tblLoginServerAccounts.AccountPassword = sha('password') WHERE tblLoginServerAccounts.AccountName = 'yourloginname'
password = your password, yourloginname = your login name =)
These must be enclosed by the single quotes ' '
--If you need to add a new user account to the login table--
INSERT INTO tblLoginServerAccounts (AccountName, AccountPassword, AccountEmail, LastLoginDate, LastIPAddress) VALUES ('yourloginname', sha('password'), 'fakeemailaddress', now(), '127.0.0.1')
Everything in the VALUES section is enclosed in ' ' because it is an actual value with the exception of now(). That is because it is a mysql command that inserts a current timestamp into its place. You could manually put a date/time in single quotes if you know the format it uses.
(You can 'Run' these as a 'Query' in Navicat/HeidiSQL or use it from the MySQL command line tool. Just make sure to add a semi-colon ( ; ) to the end of the line if you use the MySQL command line. If you forget and you wind up with a new line (->), just type a semi-colon on this line and hit enter again. And again, don't forget to 'Use peq' first.)
Under eqemu_config, you might change the tcpip = "localhost" to "127.0.0.1" as well. Not sure if that would keep you from logging in, but it keeps everything "neat."
What revision of EQEmuLoginServer did you finally end up using? Now that you have a "configured" |login.ini| file, if you change the revision that you use, you will just need to make sure that instead of those 5 files, you copy over the 4 remaining files. If you copy |login.ini| again, it will overwrite your configured version with a non-configured version.
Also, I'm not sure if the database name is case-sensitive, but you could verify what Navicat indicates it to be and then ensure both files use the same.
Everything else in your configs looks right for a local/solo setup.
If this works, let us know..if not, we'll see what we need to do next.
Checklist on hold..back to working on something better!
Noport
04-26-2012, 03:57 AM
you tell me what you would like to use jshows1:
minilogin.exe & eq_crypto.dll for personal use or private
eqemulogin.exe for personal use or private so you and your friends can login to your server
eqemulogin.exe for public so any one from eqemulator.org an or your friends can login to your server
5.10 perl use with vs2008 only
5.12 perl use with vs2010 only
follow:
http://www.eqemulator.org/forums/showthread.php?t=32980
http://www.eqemulator.org/forums/showthread.php?t=29043
you'll have to excuse Akkadius he just recalled the name of the program he used or is using in school HookedOnPhonics
you'll have to excuse chrsschb who just learned something new about eqemulogin and fliped his desk when he found out we wasn't using eqemulator.net server.
http://www.eqemulator.org/forums/showthread.php?t=35057
jshows1
04-26-2012, 08:51 AM
Ok I'm VERY CLOSE! At least I can login now. But when I do, there are no servers listed! lol
I know this is not a unique problem. I remember response about this same issue here:
http://www.eqemulator.org/forums/showthread.php?t=35222
So I followed his steps:
eqemu_config.xml
<?xml version="1.0">
<server>
<world>
<shortname>Jermanfu</shortname>
<longname>World of Jermanfu</longname>
<!-- Only specify these two if you really think you need to. (read: You don't) -->
<address>127.0.0.1</address>
<localaddress>127.0.0.1</localaddress>
<!-- Loginserver information. Defaults shown -->
</world>
<loginserver>
<host>127.0.0.1</host>
<port>5998</port>
<account>Admin</account>
<password>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="127.0.0.1" port="9000" telnet="disable"/>
<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>342342908712123</key>
<!-- Enable and set the port for the HTTP service. Defaults are shown -->
<http port="9080" enabled="false" mimefile="mime.types" />
<!-- Chatserver (channels) information. Defaults shown -->
<chatserver>
<host>127.0.0.1</host>
<port>7778</port>
</chatserver>
<!-- Mailserver (in-game mail) information. Defaults shown -->
<mailserver>
<host>127.0.0.1</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>127.0.0.1</host>
<port>3306</port>
<username>root</username>
<password>password</password>
<db>peq</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>
login.ini
[database]
host = 127.0.0.1
port = 3306
db = PEQ
user = root
password = password
subsystem = MySQL
[options]
unregistered_allowed = TRUE
reject_duplicate_servers = FALSE
trace = TRUE
world_trace = FALSE
dump_packets_in = FALSE
dump_packets_out = FALSE
listen_port = 5998
local_network = 127.0.0.
[security]
plugin = EQEmuAuthCrypto
mode = 5
[Titanium]
port = 5998
opcodes = login_opcodes.conf
[SoD]
port = 5999
opcodes = login_opcodes_sod.conf
[schema]
account_table = tblLoginServerAccounts
world_registration_table = tblWorldServerRegistration
world_admin_registration_table = tblServerAdminRegistration
world_server_type_table = tblServerListType
eqhost.txt
[LoginServer]
Host=127.0.0.1:5998
I also noticed that I had to configure a couple of other things, so here are the database commands I used(yes I did use Admin/Password just for ease):
tblLoginServerAccounts
INSERT INTO tblLoginServerAccounts (AccountName, AccountPassword, AccountEmail, LastLoginDate, LastIPAddress) VALUES('Admin', sha('password'), 'admin@somewhere.com', now(), '127.0.0.1');
tblworldserverregistration
INSERT INTO `tblworldserverregistration` (`ServerID`, `ServerLongName`, `ServerTagDescription`, `ServerShortName`, `ServerListTypeID`, `ServerLastLoginDate`, `ServerLastIPAddr`, `ServerAdminID`, `Note`) VALUES ('1', 'World of Jermanfu', 'Ding!', 'Jermanfu', '2', NULL, NULL, '1', NULL);
So, looking at this information, is there anything I missed or typed wrong? Also, is there another file I'm forgetting to adjust? Again, everything seems to work fine except there is no server listed on the server screen.
EDIT: Uleat, to answer your question, I ended up using the eqemuloginserver.exe rev1765. I also made sure to copy all of the required files from that particular download so I wouldn't be mixing files.
Cilraaz
04-26-2012, 09:15 AM
Minilogin is old, you should use eqemuloginserver is you can.
My bad on the old terminology. When I set up my first server years ago, minilogin was the standard. When I came back and set up a new server recently, I used the public login server. Sorry for any confusion that I caused.
jshows1
04-26-2012, 10:05 AM
My bad on the old terminology. When I set up my first server years ago, minilogin was the standard. When I came back and set up a new server recently, I used the public login server. Sorry for any confusion that I caused.
Hey! Don't worry about it. You were trying to help. :)
I really appreciate all the help this community has given me so far. Some places people are really rude and not very helpful towards newbies. But everyone here has been warm and welcoming as well as eager to help. I truly appreciate it.
jshows1
04-26-2012, 01:19 PM
Just wanted to update everyone who has been so great in helping me, I finally got my server up and running!!
Thanks to all of the wonderful help from Uleat, lerxst2112, and everyone else here who was so gracious in helping me. It was due to your patience and willingness to help that I was able to get it up and running.
I'll be sure to pass anything along if I see anyone else struggling like I was. Now....time to get lost in EQ....after all....I'm in MY world now! :)
Uleat
04-26-2012, 09:11 PM
Oh great..another evercrack addict...
If we haven't heard from you in a week, we're doing an intervention!!
Congrats man!
samlin010
11-03-2017, 05:19 AM
Where can i fetch EQEmuAuthCrypto.dll ?
anyone can post one? millions of thanks
my email address is samlin010@163.com
Movement
11-03-2017, 09:45 PM
"The game then attempts to log me in, but after about 10 seconds (since it's not longer then 10 seconds, I assume it's not a patch issue) it says "a connection to the server could not be reached...""
Loginserver issue. Check your xml files, also check your login.ini
SHIT! Just realized this was a MASSIVE thread necro by the previous poster (I'm lookin at YOU samlin010!), as the OP was made in 2012.. fuck me! /facepalm
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.