The below text is a reformatted version of "ZandigSlaytanic" and "ValesEQ" work from the guides above.

Stated Objective
To create an EQEmu server that:
 Is compiled from the latest source
 Has the latest maps and quests (which are stored in an svn checked folders so they can be updated on the fly)
 Works as a dedicated LAN server

System
This was all done on a Windows Server 2003 Standard Edition (SP2) O.S. (32 bit). It is a VM. It had 1 gig of RAM, 1 cpu, and a 20 gig Hard Drive. The server was patched to August 2010.

Install Extraneous Software (winrar, etc )
 Install the following software (you can find links to this software at the bottom of this document, or just by googling it)
 Winrar
 Acrobat Reader
 TortoiseSVN

Create EQEmu and EQEmuDB SVN Folders
 Create a folder called "EQEmuSVNFiles" off of the root drive
 Create a subfolder called "EQEmu"
 Right-click that folder, and paste in the SVN address: http://projecteqemu.googlecode.com/svn/
 Create a subfolder called DB
 Right-click that folder, and paste in the SVN address: http://projecteqdb.googlecode.com/svn/trunk
Install ActivePerl
 Perl 5.10.0.1007 is what we'll use. You can find links to this software at the bottom of this document, or just by googling it.
 This is very important! If you have another version of perl currently installed, start at step 1. If you don't, start at step 5 and go on from there.
 Be sure to install to the directory of c:\Perl
 1. Backup any customizations that you need to.
 2. Uninstall it via control panel.
 3. Delete the c:\perl directory and empty it from the recycle bin.
 4. REBOOT!
 5. Install Perl 5.10.0.1007
 6. REBOOT! The next two steps will not work until you do (at least they wouldnt for me)
 Next make sure you are connected to the internet and type the following commands from a DOS command prompt
 ppm install DBI
 ppm install IO-stringy
Install MySQL

 MySQL 5.0.82 is what we'll use. You can find links to this software at the bottom of this document, or just by googling it.
 Make sure you install MySQL (assumed to be in c:\MySQL, which is the recommended location) with Developer Components (C Include Files / Lib Files). If you've already installed MySQL without this option just use your Windows Control Panel to Change and add the option.
 NOTE: In mysql 5.1.* they introduced a new reserved keyword 'range' into the sql language, unfortunately the items table in the peq database already has a field named "range". To avoid this conflict we're using a 5.0.* version.
 NOTE: This guide assumes you don't have mysql installed. If you do, please take the time to do backups of your data before proceeding. Make sure your data is backed up properly.
 Install mysql 5.0.82 as follows:
 Choose Custom Setup Type and Next
 Install all options, and change the install path to c:\mysql\
 It will install MySQL, show you a couple of ads and then you'll be able to "Configure the MySQL Server now" by checking a checkbox, do that now.
 Choose Detailed Configuration, Click Next
 Choose Server Machine, Click Next
 Choose Multifunctional Database, Click Next
 Click next again for InnoDB Tablespace Settings
 Choose Online Transaction Processing (OLTP), Click Next
 Check Enable TCP/IP Networking making sure the port Number is 3306, Un-Check enable Strict Mode, Click Next
 Choose Best Support for Multilingualism, Click Next
 Check for both Install As Windows Service (Service name should be MySQL), and for Include Bin Directory in Windows PATH, Click Next
 Now enter your New Root Password, Confirm, and do not check for remote machine Access. Don?t select Create An Anonymous Account. Click Next
 Now click on Execute and wait for it to finish. Once it is done, click Finish.
 You should now have the directories:
 C:\MySQL\include
 C:\MySQL\lib
Install Navicat lite

Install ZLib
 Install Zlib, in c:\zlib
 Copy ZLIB1.DLL to the SYSTEM or the SYSTEM32 directory.
Install Microsoft Visual C++ 2008 Express Edition and set it up
 Install Microsoft Visual C++ 2008 Express Edition. You can find links to this software at the bottom of this document, or just by googling it.
 Update your Microsoft Visual C+(+) 2008 Express Edition directories.
 Using Microsoft Visual C+(+) 2008 Express Edition, from the menu bar select:
 'Tools/Options/Projects and Solutions/VC+(+) directories' and add the following directories using the dropdown "Show directories for" box:
 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
 use the "New Line (Ctrl-Insert)" to add the above directories in the appropriate section.

Compile
(Phase 2)
Now on to the compiling
 Using Microsoft Visual C+(+) 2008 Express Edition do the following:
 First choose which version of EQEmu you want to compile: (the most stable and recommended is located in the directory 'trunk/EQEmuServer') There may also be a 'branches' directory containing directories of usually test code that is not yet official which you may want to compile and test. However 'trunk/EQEmuServer' is recommended and is now current.
 'File/Open/Project/Solution' and open the file 'Server.sln' (it should have a small number 9 in the upper right corner of the icon).
 Now select: 'Build/Clean Solution'
 Then: 'Build/Configuration Manager'
 and change the "Active solution configuration" to: 'Release' and click "Close"
 NOTE: to enable the use of Bots on your server select 'ReleaseBots' and click "Close"
 More information on the Bots system can be found here:http://www.eqemulator.net/forums/forumdisplay.php?f=676
 Finally select 'Build/Build Solution' and it will begin to compile which will take some time. During compiling you will get a bunch of warnings which can be ignored.
 After compiling finishes you should have:
 Build: 5 succeeded, 0 failed, 0 up-to-date, 0 skipped
 Create a folder called EQEmu off of your root drive
 Now use the following files and folders from your new build, and place them in your newly created EQEmu folder:
 changelog.txt
 BUILD directory: Chatserver.exe, EMuShareMem.dll, World.exe, Zone.exe
 EQLAUNCH/RELEASE directory: eqlaunch.exe
 UTILS directory: mail_opcodes.conf, opcodes.conf, patch_6.2.conf, patch_Anniversary.conf, patch_Live.conf, patch_SoD.conf, patch_SoF.conf, patch_Titanium.conf
 UTILS directory: all of the files in the DEFAULTS folder
 Place all the subfolders and files from the *defaults* dir into the "EQEmu" folder,
 Then place into said "EQEmu" folder: Chatserver.exe, EMuShareMem.dll, World.exe, Zone.exe, eqlaunch.exe, mail_opcodes.conf, opcodes.conf, patch_6.2.conf, patch_Anniversary.conf, patch_Live.conf, patch_SoF.conf, patch_Titanium.conf

Setup Databases, Adjust Server Settings, and Gather More Files
(Phase 3)
Setup PEQ DB
 Navigate to folder c:\EQEmuSVNFiles\DB that you created and setup earlier. You should see a file called: peqdb_RevXXXX.sql.gz. Extract it. This is the "bulk" of the database. Now keep an eye on the revision number as it signifies the correlation between the server number. Example: If you have a Server Rev774, you can run peqdb_Rev859.sql since it's compatible with the server revision which is Rev774. If you update to a newer server revision, then you need to update the database if the revision of the server surpasses it. I.E. DB Rev# > Server Rev#
 Open Navicat lite
 double click on local
 right click on local, new database
 name the new database PEQ
 Now open a command prompt and go to the folder that has the peqdb_RevXXXX.sql you just extracted
 run this command
o mysql -uUSERNAME -pPASSWORD PEQ < peqdb_RevXXXX.sql
o mysql -uUSERNAME -pPASSWORD PEQ < load_player.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.
Install EQEmuLoginServer
 Download and extract the EQEmuLoginServer.zip file. You can find links to this software at the bottom of this document. Copy the EQEMuLoginServer.exe into C:\EQEmu folder.

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.

Finalize Connection Settings (eqemu_config.xml, eqemulogin.ini)
 First of all, lets edit the eqemu_config.xml.full file in your server directory. Make sure you use the eqemu_config.xml.full one and not the eqemu_config.xml. The .full version has the whole configuration and what we need to edit inside. You can just delete the eqemu_config.xml and then delete the .full extension at the end of the file.
 Up at the top of the file, you should see:
 <world>
 <shortname>NameOfServer</shortname>
 <longname>ShortNameOfServer</longname>
 The NameOfServer and ShortNameOfServer text should match with what you put in to the tblworldserverregistration table above just a few steps back. Please keep in mind that the word Server should not be included in the server's actual name.
 <!-- 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>
 Uncomment out the <-- and --> so it looks like the text above
 server.dyndns.org should be your dyndns address (I just use my internal IP since Im on a LAN)
 and the 192.168.0.1 (or whatever you choose your static IP to be) should be the LAN IP of the server's PC

 <!-- 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 are the username and password you made when install MySQL
 The username is most likely root and then whatever you used for your password
 peq is the name of the database
 Save your changes and open up eqemulogin.ini located in the server folder
 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
 MySQL Login and MySQL Password is the same as what you used above just a moment ago

Setup Maps and Quest SVN Folders
 This is how to keep all of your maps and quests updated. In your server folder, you might see a file called .keep located in your Maps and Quests folder. Delete this file before continuing with the following. Also, keep in mind that when you do download to make sure that there aren't duplicate folders in the directory such as maps/maps.
 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
 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!
 NOTE: The plugins folder in the quests directory will have the plugins that go in the server directory plugins, copy them from the quests/plugins folder to the build/plugins folder.

Import Spell files
 In your EverQuest installation directory on you client PC, find: spells_en.txt and spells_us.txt. Copy them to your EQEmu 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 every time you update, but do make sure they're there before reporting any bugs about spells.

Create BAT Launcher file
 A .bat file makes launching the server much easier, and far less tedious. It also accomplishes launching the correct number of zone servers automatically. 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:
 @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.

Remove Glooming Deep as the starting point
 Open up Navicat
 Open peq
 Open tables
 Open rule_values
 Find entry World:EnableTutorialButton (record 107-ish)
 Change to false

Compile
(Phase 2)
Now on to the compiling
 Using Microsoft Visual C+(+) 2008 Express Edition do the following:
 First choose which version of EQEmu you want to compile: (the most stable and recommended is located in the directory 'trunk/EQEmuServer') There may also be a 'branches' directory containing directories of usually test code that is not yet official which you may want to compile and test. However 'trunk/EQEmuServer' is recommended and is now current.
 'File/Open/Project/Solution' and open the file 'Server.sln' (it should have a small number 9 in the upper right corner of the icon).

The part where it says to choose which version of EQEmu you want to compile: (the most stable and recommended is located in the directory 'trunk/EQEmuServer

Fantastic guide so far. Everything has been moving smoothly up until I went to compile the first database... instead of getting
"• Build: 5 succeeded, 0 failed, 0 up-to-date, 0 skipped"

I'm getting
"• Build: 3 succeeded, 2 failed, 0 up-to-date, 0 skipped"

To be honest I'm a rank amature when it comes to DB construction, so I'm not entirely sure what errors are normal and which I should pay attention to.

I'm running a AMD Athlon 1800+, 1.54ghz, 1gig ram with all of the suggested files installed... though... I noticed that rather than running Perl 5.10.0.1007, the link I followed went to version 5.12.2.1202.

Could this be the source of the issue or am I barking up the wrong tree?

*Edit, installing the suggested version of Perl and trying again... will update or delete this post if it solves the issue.

Last edited by Fulcrum; 09-17-2010 at 02:19 PM..
Reason: I'm an idiot?

Fantastic guide so far. Everything has been moving smoothly up until I went to compile the first database... instead of getting
"• Build: 5 succeeded, 0 failed, 0 up-to-date, 0 skipped"

I'm getting
"• Build: 3 succeeded, 2 failed, 0 up-to-date, 0 skipped"

To be honest I'm a rank amature when it comes to DB construction, so I'm not entirely sure what errors are normal and which I should pay attention to.

I'm running a AMD Athlon 1800+, 1.54ghz, 1gig ram with all of the suggested files installed... though... I noticed that rather than running Perl 5.10.0.1007, the link I followed went to version 5.12.2.1202.

Could this be the source of the issue or am I barking up the wrong tree?

*Edit, installing the suggested version of Perl and trying again... will update or delete this post if it solves the issue.

Unfortunately, I could find no legal version of 5.10.0.1007, however I downloaded and installed 5.10.1.1007 which, so far, appears
to function as expected, even though in it's release notes that it is incompatible in certain circumstances with the 5.10.0.* version.

The first server build seemed to go successfully once I made this change.

Quote:

Originally Posted by Andrew80k

What are you using to compile? Are you trying to compile the source for the server, or what? The "DB" should be mysql and should be good to go from a normal install.

Yes, I misspoke myself. MySQL has installed correctly, I'm compiling the server code as we speak. All the downloads and installs so far have gone flawlessly with a scant few exceptions... this guide is fantastic.

Wow... I wish i had kept going with my server back when the guide didn't have such a crippling C++'y design to it *as far as compuker literacy goes, i'm just short of having just crawled out from under a rock!*... And all the stuff you have to download... oy, *insert profane verbidge/nounidge here*. Just looking at the very first section of the guide, i may never get my server up and going...

__________________
Paranoia: You THINK every one/thing is against you...
Psychosis: EVERYTHING IS AGAINST YOU!!

My favorite quote, from Empire Earth's Flamethrower unit, "PREPARE TO DIE!!"
I think, rocks might actually be more computer literate than I. But running this monkey show on a 2003 laptop doesn't help any!!

Wow... I wish i had kept going with my server back when the guide didn't have such a crippling C++'y design to it *as far as compuker literacy goes, i'm just short of having just crawled out from under a rock!*... And all the stuff you have to download... oy, *insert profane verbidge/nounidge here*. Just looking at the very first section of the guide, i may never get my server up and going...

Have you even given it a shot? What's new now that you didn't have to do back before the "crippling C++'y design"? I've been doing mine for 3 years and there's nothing new now from a server perspective. There are some new clients. If you don't want to compile the source, then don't. Use one of the pre-compiled sets.

Here is where you find it Fulcrum using either of the two recommended databases:

Heidi SQL:

double click on your PEQ database
scroll down until you see rule_values - click on that.

Over on the right of the screen you shoule see 5 tabs at the top
Host, Database:peq, Table:rule_vales, data, query.

Click on the Data tab - that will bring up a lot of rule sets.
Sort rule_name by clicking on the top of the colum so it is in decending alphabetical order.
Scroll down to World:EnableTutorialButton and change that to false.

Done!

In Navicat:

Double click on your database
double click on tables
scroll down to rule_values - double click. A new screen should appear with all the rule values.
Sort rule_name by right mouse click on the top of the column, go to sort, sort ascending
Scroll down to World:EnableTutorialButton and change that to false.

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.