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_Rev
781.sql. This means that you can run it since it's compatible with the server revision which is Rev
774. 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!