Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-23-2009, 06:14 PM
vales
Discordant
 
Join Date: May 2006
Posts: 458
Default

Note; Since this guide was originally written, it has been added to the EQEmu Wiki and is more current there. So, please see the Wiki page here for the most updated version of these instructions:
http://www.eqemulator.net/wiki/wikka.php?wakka=ValesEQ


Those are SVN addresses. Basically you use something like TortoiseSVN to download the stuff as the developers update them.

If you follow this guide, it shows you how to download and compile your own server. I'll see if I can make a guide with pictures so it can be explained better, but for now, I can walk you through the basic stuff. This guide is to use the latest stuff without compiling your own source.

I'm assuming you already have MySQL and Perl (version 5.10) installed, so I'll skip those parts. If you haven't follow Steps 2-3 from the link above.

This should allow you to run the latest binaries with Bots, database and the new EQEMuLoginServer. The new EQEMuLoginServer is like a mini-login server, so it should probably used over the old and outdated MiniLogin server.

This will be for a completely new install, so back up your database just in case before you start.

I'll try to make this super-easy.


First, download the compiled server binaires.

Download Revision 774 with Bots here. Extract it. You should see a folder after you've extracted it called build - all your files are in there. This will be referred to as the server folder for this tutorial.



Preface - Checking out the latest sources.

1.) Download and install Tortoise SVN. After it's installed, navigate to your MySQL installation folder. In that directory, you should see a folder named bin - this is where you'll download the database to.


2.) Right-click the folder and select SVN Checkout. In the new window that pops up, where it says URL of Repository at the top, paste in: http://projecteqdb.googlecode.com/svn/trunk. The line under that where it says Checkout directory: is the location of the folder you are downloading it to - keep an eye on that to make sure it's the correct folder.


3.) Click "OK", and let it update. Once this is done, navigate to the folder and you should see a file called: peqdb_Rev781.sql.gz. Extract it with 7-zip (freeware) or something similar like WinRAR (30-day trial). This is the "bulk" of the database. Now keep an eye on the revision number as it signifies the coalation between the server number. In this case, it's: peqdb_Rev781.sql. This means that you can run it since it's compatible with the server revision which is Rev774. If you update to a newer server rev, then you need to update the database if the rev version of the server surpasses the database.

Now to source the database in.



Setup - Importing the Database.

4.) Start MySQL by: Start > MySQL > MySQL Server 5.0 > MySQL Command Line Client. If there's a password for your database, enter it and hit Enter.
You should see: mysql> _.

Since this is a new installation, you can type: CREATE DATABASE [name];, where [name] is the name you want for the database (exclude the [brackets]). I'll use PEQ as an example. So it would be: CREATE DATABSE PEQ;

Then type: use PEQ (or whatever siginifies your database.) It should then say: Database changed.

Then type: source peqdb_Rev781.sql;

Then type: source load_player.sql;

And lastly: source load_bots.sql;

Once it's done, you're all set! Now all that's left is to double-check the revisions and set up the new EQEMuLoginServer.


5.) Download the EQEMuLoginServer files here. Once downloaded, extract it. Copy the EQEMuLoginServer.exe to your server folder.


6.) As explained above in Step 2, create a new folder and name it something easy to remember like EQEmu Server Files or something.
Right-click that folder, and paste in the SVN address: http://projecteqemu.googlecode.com/svn.


7.) Go to the folder where you downloaded the server sources and navigate to: trunk > EQEmuServer > EQEmuLoginServer > login_util.

Then copy: eqemulogin.ini, login_opcodes.conf to your server folder.

And finally, go to login_util > ms > debug and copy the EQEmuAuthCrypto.dll file to your server folder.


8.) Download and install HeidiSQL or something to make it much easier for this part.

Launch HeidiSQL and use your MySQL credentials to login (click Save + Connect to remember your login info - not recommended on public computers for obvious reasons).


9.) In the upper-left panel, you should see the name of your database (PEQ). Right-click somewhere in the panel and choose Create Database from the menu. Give it a name like: PEQLoginDB then click OK.

Click your database name (PEQLoginDB) in the upper-left panel so it's yellow to make sure it's selected. Now press CTRL+O (or from the top menu: Import > Load SQL file...). Then navigate to the folder where you downloaded the server files: trunk > EQEmuServer > EQEmuLoginServer > login_util. Then select: EQEmuLoginServerDBInstall.sql and click Open.

In the Query window at the center of the screen, you should see the SQL entry. Above that, you should see a left-most blue arrow pointing to the right. Press that to execute the query. Or press F9.

Almost there! Now to make accounts and set up the server to log in.


10.) Here's an SQL file to make accounts. Make sure your PEQLoginDB is selected, and import this query. You can save this as an .sql file, or copy/paste it in the Query window in HeidiSQL and import it.
Quote:
insert into tblLoginServerAccounts (AccountName, AccountPassword, AccountEmail, LastLoginDate, LastIPAddress) values('Admin', sha('password'), 'admin@somewhere.com', now(), '127.0.0.1');
The red text is where you would enter your account info to log in.

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.


11.) Setting up the world server. Here's the sql file to make the world server entry.
Quote:
INSERT INTO `tblworldserverregistration` (`ServerID`, `ServerLongName`, `ServerTagDescription`, `ServerShortName`, `ServerListTypeID`, `ServerLastLoginDate`, `ServerLastIPAddr`, `ServerAdminID`, `Note`) VALUES ('1', 'NameOfServer', 'ServerTagDescription', 'ShortNameOfServer', '2', NULL, NULL, '1', NULL);
Again, the red text is what you want to modify with your server name.
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 green number 2 signifies what kind of server it is. 1 = Legends, 2 = Preferred, 3 = Standard.



Finalizing - Setting up for launch and connections.

Now the last part is to make sure everything is set up so you can connect. I'll be using an example of setting up the server on the same LAN connection while letting people outside of your LAN to be able to connect to your server.


12.) First of all, lets open up the eqemu_config.xml file in your server directory.

Up at the top of the file, you should see:
Quote:
<world>
<shortname>NameOfServer</shortname>
<longname>ShortNameOfServer</longname>
The red text should match with what you put in Step 11 above.


Quote:
<!-- Only specify these two if you really think you need to. (read: You don't) -->
<address>server.dyndns.org</address>
<localaddress>192.168.0.1</localaddress>
server.dyndns.org should be your dyndns address, and the 192.168.0.1 should be the LAN IP of the server's PC.


Quote:
<!-- Loginserver information. Defaults shown -->
<loginserver>
<host>server.dyndns.org</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver>
server.dyndns.org should be your dyndns name.


Quote:
<!-- Database configuration, replaces db.ini. Defaults shown -->
<database>
<host>localhost</host>
<port>3306</port>
<username>MySQL Account</username>
<password>MySQL Password</password>
<db>peq</db>
</database>
MySQL Account and Password is self explanitory. It's the login information you used for HeidiSQL. peq is the name of the database.



13.) Save your changes and open up eqemulogin.ini.

Quote:
Port=5998
DumpPacketsIn=true
DumpPacketsOut=true
Trace=true
DatabaseServerName=localhost
DatabaseCatalogName=PEQLoginDB
DatabaseUserName=MySQL Login
DatabaseUserPassword=MySQL Password
OPCodePathAndFileName=login_opcodes.conf
PEQLoginDB is the name of the Login Database in Step 9. MySQL Login and Password is the same as in Step 8.



Maps, Quests and Spells - Keeping them updated.

This is how to keep all of your maps and quests updated.

MAPS
14.) In your server folder, right-click the Maps folder and select SVN Checkout. In the URL of Repository section, paste: http://eqemumaps.googlecode.com/svn/trunk/Maps
This can take a very long time to download as the map files are pretty large. 3.37 GB as of now.


QUESTS
15.) In your server folder, right-click the quests folder and select SVN Checkout. In the URL of Repository section, paste: http://projecteqquests.googlecode.com/svn/trunk/quests
This keeps your quests updated, and is highly recommended to maintain as it's updated regularly!


SPELLS
16.) In your EverQuest installation directory, find: spells_en.txt and spells_us.txt. Copy them to your server folder. This allows the server to read data from these files to ensure that the spells work as they should. You do not need to copy these files everytime you update, but do make sure they're there before reporting any bugs about spells.




Setting up a .batch file.

17.) Make a .bat file to launch the server if you haven't already. Just make a new text file called startup.bat (you may need to change the extension from .txt to .bat). Then copy this text:

Code:
@echo off
start EQEmuLoginServer.exe
start world
echo waiting for the world to finish before starting zone...
sleep 10
start eqlaunch zone
Now you can launch the startup.bat file and it should launch all of the server executables so you can play.



Connecting - Changing your eqhost.txt file

18.) Since you are on the same LAN, your eqhost.txt file should be as follows:
Quote:
[LoginServer]
Host=server.dyndns.org:5998
or
Quote:
[LoginServer]
Host=192.168.1.0:5998
The red text should reflect the LAN IP of the server's PC (i.e. 192.168.1.0). It would depend on your router/firewall setup, so I won't go into details here since there's plenty of topics on the forum about this.


If other people outside of your LAN are trying to connect, their eqhost.txt file should read:
Quote:
[LoginServer]
Host=server.dyndns.org:5998
server.dyndns.org should be the name of your dyndns service.



-=-=-=- End tutorial! -=-=-=-



This should cover anyone wanting to set up a server. Hope it's informative as I have blisters on my fingers from typing all of this. If there's anything missing, let me know as I'll gladly update this topic with relevant information as soon as I give my carpal tunnel a rest.

Now go play!

Last edited by trevius; 12-29-2009 at 06:32 AM..
Reply With Quote
  #2  
Old 07-28-2009, 12:32 AM
Shiny151
Hill Giant
 
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
Default

Wow vales this is awesome! I've been looking for a complete updated fresh install guide. Thank you!
Reply With Quote
  #3  
Old 07-28-2009, 04:34 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Feel free to create a new wiki page for this guide or combine it with the existing one for Windows in the Wiki. That will make it easy for anyone to update it if anything changes or add more to it to make it more complete. Thanks for the Guide, Vales. I copied this out of the thread you posted it in and made it into a sticky since it definitely has some good info.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #4  
Old 07-28-2009, 05:01 PM
vales
Discordant
 
Join Date: May 2006
Posts: 458
Default

Oh snap! It's a sticky!

Yep will add it to the wikki when I get a chance. I was going to grab some screenshots as well, but will also need people to verify it works to make sure the changes go in the first time around.

Thanks again!
Reply With Quote
  #5  
Old 07-30-2009, 01:21 PM
Burgh
Fire Beetle
 
Join Date: Jul 2009
Location: Oregon
Posts: 4
Default

I tried a reinstall of mysql so I could do this fresh, and it won't continue the setup wizard without my old password. I did the first setup yesterday, and still can't seem to remember what I used as a password. Is there a way to find out in a file somewhere?
Reply With Quote
  #6  
Old 07-31-2009, 12:36 PM
Shiny151
Hill Giant
 
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
Default

To anyone using this guide as a fresh/new server install. I have never setup a server before and I followed this guide to a T and was able to get my server and client running on the same machine with no problem. As of this writing I also used the two most brand spanking new versions of MySQL and ActivPerl installations.

I didn't use the bot installation as vales suggested so I get a couple of errors in my launcher but I'm not concerned with these and they do not effect gameplay if you're not using them. The one mistake I made was installing/checking out (with SVN) the quests and maps into a subfolder OF quests and maps; thus, build/quests/quests and build/maps/maps which is wrong; it should just be build/maps and build/quests. Otherwise when you log into your server the NPCs won't respond to hails for quest info and pathing is jacked up.

My client crashed on the first launch because my resolution is so high on my LCD monitor (1920x). After setting my res. down to 1400x the client loaded and I went to options and bumped the res to 1600. I logged out and then relaunched in a screen res of 1920 and then it worked fine.

I also started very light with the eqemu_config.xml file. I used the bare minimum configuration to enable my local client login. I didn't use the FULL version because I'm getting some odd heap dump CRT errors. I will slowly add the additional configuration lines to troubleshoot where the crashes are coming from.

I hope this helps other noobs like myself getting a server going for the first time.

-Shiny
Reply With Quote
  #7  
Old 07-31-2009, 12:54 PM
vales
Discordant
 
Join Date: May 2006
Posts: 458
Default

Updated the tutorial on the wikki!

So if there's anything people need help with, I guess they can ask here. The wikki version allows me or anyone to edit it if there's anything wrong, so it's much easier to maintain. Be warned though, the formatting for the wikki was pretty tough as I had to reformat ALL of the text from this post to gel with the wikki. I spent the whole day yesterday doing that.

I know there may be some stuff I might have missed, so feel free to post any discrepancies.

Oh yeah, link in my signature!
Reply With Quote
  #8  
Old 08-01-2009, 01:58 PM
spidey1170
Sarnak
 
Join Date: May 2009
Location: Alaska
Posts: 61
Default

Thank you for this excellent guide! I have a system that is up & running (again), with the new EQEmuLoginServer.exe =P

How can I set my account to be an admin on the server? I've tried to look for the old "level" in the PEQLoginDB database, but it doesn't exist. I've also tried sticking my same account information into tblserveradminregistration. It's just going to be me on this server & I'll get the living snot kicked outta me without good gear =).
Reply With Quote
  #9  
Old 08-01-2009, 03:07 PM
Jobe123
Fire Beetle
 
Join Date: Jan 2008
Posts: 16
Default

I know I am drudging this up from god knows how long ago, however I am having one small problem, and this guide is extremely well written.

On step 10 and 11 where it says to copy the text or Import as SQL files I am a bit lost. I do not know where to paste these lines in at, and the import function seems off to me as simple as the rest of this was. Everything else is smooth as silk. Also after you do step 10 and 11 is there a save button? I cannot seem to find one and don't want to mess things up by redoing steps that may force this not to work.

All I really need is clarification of step 10 and 11 and I should be fine, Sorry to bother you with such trivial questions but I am 100% new at this and this guide is quite amazing, just had one question.
Reply With Quote
  #10  
Old 08-01-2009, 03:33 PM
spidey1170
Sarnak
 
Join Date: May 2009
Location: Alaska
Posts: 61
Default

Jobe,

I used a CL (command line) input into mysql for this:

Click on START

Then choose RUN and type CMD, this will pull up a command line interface

Next, type (without quotes): "mysql -u root -p"
Enter your password when prompted

Type "\u peq" and hit ENTER

Then you are able to type in the sql query, hit ENTER and it should work. Hope that helps =)...
Reply With Quote
  #11  
Old 08-01-2009, 03:40 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

Just to add on.. You can specify the database in the command line also.

Code:
mysql -u root -D peq -p
Reply With Quote
  #12  
Old 08-01-2009, 06:38 PM
Jobe123
Fire Beetle
 
Join Date: Jan 2008
Posts: 16
Default

thanks, also if anyone wants to feel free to answer a few more questions... what do I set my dydns to so I am able to get it connected to the loginserver? is it my IP address?
Reply With Quote
  #13  
Old 08-02-2009, 01:32 PM
tnance1337
Fire Beetle
 
Join Date: Jul 2008
Location: f
Posts: 8
Default

Total newbie to this sort of thing, but not a complete idiot and easily trainable. Having trouble with logging into my server.

Not quite sure what I'm doing wrong here. I've completed all steps exactly (to my knowledge) yet when I try to connect my client (using the account name and password I created in tblloginserveraccounts), I keep getting the username and password does not exist error.

EQEmu Login Server window shows that my client is trying to connect but shows "could not find user 0". Not sure what to do for this...looked around on the forums for an hour or so and can't quite figure it out.

Obviously my settings are correct (I think) just something missing somewhere that recognizes the correct username and password. I've tried deleting and re-entering (in heidisql) the sql entry for tblloginserveraccount multiple times with different usernames and passwords, but nothing seems to work. The data tab definitely shows the same user and pass as I'm entering in.

I'm sure it's something simple, but I'm just not familiar enough with this to understand why it's not working. Any help is appreciated.
Reply With Quote
  #14  
Old 08-02-2009, 02:24 PM
vales
Discordant
 
Join Date: May 2006
Posts: 458
Default

You guys are free to discuss support for the server setup guide, but I won't be updating it here anymore (since I can't). I hightly recommend checking out the revised guide in my signature - now hosted on the wikki.

If there's anything as far as support questions go, feel free to post here and and someone is bound to offer some help when they can.
Reply With Quote
  #15  
Old 08-02-2009, 02:45 PM
tnance1337
Fire Beetle
 
Join Date: Jul 2008
Location: f
Posts: 8
Default

I'm guessing you don't know the answer to my problem, Vales? Lol. I've gone back and run the setup again from the guide in your sig and still same result.
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 06:26 PM.


 

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