PDF Guide is Back Up!!!
Hope you guys enjoy the additions to the guide. You can find it at its old resting place
here∞. Right click on the link and select Save Target As.. to save the file to your computer for easy later reference.
Requires Adobe Acrobat which is available
here∞.
Cheers!!
NOTES:
Updated 03/07/2008
- ActivePerl: if you can not find DBD-mysql, use DBIx-MySQLSequence
-
- MySQL InnoDB Tablespace Settings: The picture shows Decision Support (DSS)/OLAP while the text reads Online Transaction Processing (OLTP). Use Online Transaction Processing (OLTP)
-
- PEQ's CVS address and sourcing: this has changed! See below or read this post∞ for the proper information.
Windows Server Setup Guide
0.7.0-992 - MySQL 5.0.37 - Angelox/PEQ CVS DB
Updated 05/03/2007
So you want to set up a server. There are tons of benefits to making your own server, like the ability to invite all your friends from live, make them all lvl 200, summon them the best equipment, and then go raid each Plane and kill all the mobs and Boss mobs.
You can have one up and running in no time.
Just follow these instructions to set up a server.
Things to Know First PLEASE READ
First off, this guide is in no way perfect. I have tried to correct things like typos, incorrect grammar, and things of that nature. I have also tried to break things down pretty far to help even the freshest of the newbies. Some things may seem strung out, but just bear with it. Also, this guide does work if you follow it to the key.
I performed each step as I was writing it to make sure that it did work. And then I had someone else do it after I cleaned everything off. But in case I did make a mistake while transferring it to the Wiki, I will need YOU THE READER, to let me know.
Click
HERE∞ after setting up a forum account. This will bring up the PM page so you can tell me about the problem. DO THIS FIRST, INSTEAD OF POSTING IT ON THE FORUMS. The reason I ask you to do this is so that I have a chance to fix it without everyone being bothered on the forums. Once I know this works for everyone You wont see this link here any more, so use it while you can.
You should read up on a few things first if you haven't already. First would be the
Play Guide. This will tell you about what is required to play the client once you get your server going, along with how to set it up. Also you should take a look at the following post on the forums;
http://www.eqemulator.net/forums/announcement.php?f=586∞
http://www.eqemulator.net/forums/showthread.php?t=17237∞
http://www.eqemulator.net/forums/showthread.php?t=17698∞ Only need to read the first post on this one. If you don't know what backpatching is, don't even ask.
http://www.eqemulator.net/forums/showthread.php?t=20609∞
These are mostly for new users, if you are new, I urge you to look at them to prevent some unnecessary bannage later on in the forums.
Programs and Files Needed
You will need to download or copy over the following components in order setup your server. I suggest making a folder somewhere on your computer to put all the downloads into, as there are several.
Emulator
EQEmu 0.7.0.1129 Revision 222∞ - This SVN site is the current place for getting the server code.
EQEmu 0.7.0.1129∞ - Note that this code version is outdated (and currently unneeded), but leaving the link here for reference.
Map Pack & New Map Pack∞
Database and Quest Programs
MySQL v5.0.37∞
ActivePerl v5.8.8.820∞
WinCVS∞
DLL Files
MSVCP71.dll and MSVCR71.dll∞
Only if you are not installing Everquest Titanium on the same computer. If you are, these files are already present after you install EQ
Everquest Files
Spells_en.txt &
Spells_us.txt - These are obtained from your Everquest Titanium Installation. You must have these files from it, but the client does not have to be installed in order for the emulator to work. Note: There is now an option to use the new Spells table in the database so that these files are not required. It currently requires editing a line in the source code file spdat.h and recompiling the source. This may become the default in the future, but currently it is probably for slightly advanced users.
Optional
These two programs are optional. You can use other things, but for reference sake, these are what I used when making this guide.
7Zip∞ - Used for working with the compressed Files
NaviCat∞ - Allows you to work on your database
Once you have obtained all these components, lets move on.
WinCVS Installation
WinCVS is used to access and download the latest source of EQEmu, Project EQs Database/Quest files. We are going to put in on now just in case you may need it later if you opt to use PEQs database. You have a choice, but we are going to do this just in case.
Installation is simple. Extract the files from the Zip and run wincvs_setup.exe file. Use all of the default settings in the installer, and once it is done, it will ask you if you want to run CVSNT. Make sure this is checked and click Finish. You now are in a new installer. Just leave all settings at default and continue through.
Your now done with
WinCVS, let s move on.
It has come to my attention that the latest release of
ActivePerl has a GUI style PPM. I am currently working with this to make sure that it can be used properly. If so, it wll be in my PDF Guide with screenshots. For now though, you will need to download AP from the following link, scroll down to the file labeled
ActivePerl-5.8.7.813-MSWin32-x86-148120.msi
ActivePerl 5.8.7.813∞
Double click on the
ActivePerl download and install it using the default settings. No changes are necessary. Once that is done, do the following
Click Start, then click Run, then type in ppm
Now enter the following, pressing Enter after each Install command.
Note: if you can not find DBD-mysql, use DBIx-MySQLSequence
Install DBI
Install DBD-mysql
Install IO-stringy
Now you re done with the setup for
ActivePerl, lets move on
Installing MySQL v5.0.37
Double click on the Mysql file that you downloaded starting the installation. Follow through the installation using all the default settings except make sure mysql is installed to C:\Mysql as the directory, by default I have found it installs else where and can make sourcing a bit messy, skipping past the sign-up screen. Once it is done, it will ask you if you want to run the Instance Configuration Wizard, make sure that it is checked and click finish.
Instance Configuration Wizard
Follow these instructions to ensure that
MySQL is set up properly.
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. Dont select Create An Anonymous Account. Click Next
Now click on Execute and wait for it to Finish. Once it is done, click Finish.
Optionally, you can check the box for for allowing Remote Connectivity to allow access to your database from outside your PC. Turning this off makes your database more secure, but if you need outside access, this needs to be enabled in the setup. Note that you can run the setup again at any time to change these settings.
You are now done with the
MySQL setup.
EQEmu Setup
Main Files
Now we are going to start on the setup for the emulator itself. You downloaded EQEmu v0.7.0.1129 Revision 222 at the beginning of the guide so now we need to open that Zip file. Once you have it open, extract it to a directory of your choosing (ie. C:\EQEmu), making sure to note where you put it.
Map Packs
Now you have to extract the map pack files. Extract the first one (the 300Mb one) first, putting the files into the map folder under the Emu directory where you extracted the main files from the previous step. (ie. C:\EQEmu\Maps\), and make sure that they extract to that directory, and not like this, EQEmu\Maps\Maps. This may happen depending on how you extract them but the end result should be that in your maps folder, there are several files with zone shortnames on them.
Now repeat the same step for the new map pack to enable maps for the new zones.
Configuring Your XML File
Now that you are done with that, we need to set up your eqemu_config.xml file. Right click on it then click on Open With -> Wordpad. When it comes up, you will see something like this.
<?xml version="1.0">
<server>
<world>
<shortname>whatever</shortname>
<longname>Your server name</longname>
<!-- Only specify these two if you really think you need to. -->
<!--<address>Serving Machines IP</address>-->
<!--<localaddress>127.0.0.1</localaddress>-->
<!-- Loginserver information. -->
<loginserver>
<host>eqemulator.net</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver>
<!-- 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. -->
<http port="9080" enabled="true" mimefile="mime.types" />
</world>
<!-- Database configuration, replaces db.ini. -->
<database>
<host>localhost</host>
<port>3306</port>
<username>root</username>
<password>Your Password</password>
<db>DBNAME</db>
</database>
</server>
The only things that you have to change are the
<shortname>,
<longname> at the top with your servers name (note that shortname is the name appended to the file names for client UI settings files, and longname is the name that will appear on the server list),
and the password
<password>,
<db> code at the bottom to reflect what you what your Mysql password is (from the Instance Configuration Wizard) and the database that you are going to use in a little bit.
For now leave the
<db> setting alone, as you will come back and change this.
Click File, then save as you are done with this for now.
Copying over your Spell files
As I made reference to these earlier in the Files Needed Section. You can find these in your Everquest Titanium Installation folder. Just simply copy them over to your EQEmu directory. The files are:
Spells_en.txt
Spells_us.txt
Note that if you are using the new Spells table instead of these files for loading spells, you can skip this step as these files are no longer required. By default, you currently still need these files.
You are now done with 99% of the Emu set-up, minus the need to put in the proper name for the database, which we will find out what goes there next.
Database and Quest Installation
Now this part is the tough part. There are several steps you have to take, so you may want to take a break, collect yourself and evaluate all that you have done. Confirm that you have done all the prior steps, because if you made mistakes anywhere else, you need to correct them before moving on because the next parts are time consuming, and if you messed up on something earlier, chances are you will be repeating these steps over again, which is just a pain. When your ready to go, read on.
Choosing your database
There are currently two main databases to choose from, based on content, playability, and overall stability.
Project EQ
One of the most popular databases out there, featuring almost 100% content all the way up to Luclin, with some Planes of Power completed. It is in constant update and several people swear by it. PEQ is Live like, meaning that you will notice the same mobs, items, quest, NPC s and everything else as you play. This project is maintained by
CaveDude and more information can be found at
http://www.projecteq.net∞
Angelox s Classic Database
Another great database that doesn t get as much air time as PEQ. It features full content all the way up to Luclin also because it was built on PEQ s database. Angelox has taken the time to add a lot of content that is reminiscent of the Original Everquest. This is what sets it apart from PEQ, it is a great database with great quests. More information can be found at
http://eq.ismg.ch/mirkwood/news.php∞
So now that you know a little bit about both databases, the choice is yours on what you want to use for your server. Once your done, find the section below in reference to your choice. PEQ will be first, followed by Angelox s database.
Project EQ
First thing is that you will need to obtain the latest version of PEQ. Since it is constantly update, I can not give you a version number, but you will always get the newest when you download it, because you will be using
WinCVS that you installed at the beginning.
To download
Open up
WinCVS, close the Tip box and then click OK to the error about not having Python.
Now click on remote at the top and then click Check Out Module. Then enter the following information
Module name and Path on Server :
peq_db
Local Folder to Check Out To :
C:\peqdb
CVSROOT: (make sure this is checked)
:pserver:anonymous@peq.cvs.sourceforge.net:/cvsroot/peq
Now click OK to start the download. You should see several green texted items scrolling through the window. This will take a few minutes to complete so make sure you wait till it says Done. If at anytime it stops and give you a connection error, just repeat the check out module, all the information is still there so all you have to do is click OK again and retry it.
Once this is done, you will need to download the quest the same way.
Module Name and Path on Server :
peq_quests
Local folder to Check out to :
C:\peq_quest
CVSROOT
:pserver:anonymous@eqemuquests.cvs.sourceforge.net:/cvsroot/eqemuquests
Now that you have both things downloaded, lets go ahead and source in your database to
MySQL.
Sourcing in the Database
(((
IF AT ANY TIME YOU RECEIVE A ERROR WITH THESE STEPS, BE SURE TO CHECK YOUR SYNTAX )))
(((
IF THE ERROR IS STILL THERE, AND YOUR TYPING THINGS IN RIGHT, SEARCH )))
(((
THE FORUMS FOR A SOLUTION. )))
Click Start->Run-> and type in cmd to bring up your command prompt
Now type in cd \peqdb
You should be at C:\peqdb>
Now type in
and type in your password (from the Instance Configuration Wizard)
You will now see something like this,
Welcome to MySQL monitor. Commands end with ; or \g
Your MySQL connection ID is 2
Server Version: 5.0.37-community-nt MySQL Community Edition <GPL>
Type help; or \h for help. Type \c to clear the buffer.
mysql>
If that is correct, you now need to type in the following commands, pressing enter after each line.
Note: changed in accordance with [
http://eqemulator.net/forums/showthread.php?t=23536∞]
create database peq;
\u peq
source load_player.sql
(wait until this is done. 1~5 min)
To source the system, you will need to extract the peqdb_XXXXx.sql.gz (Do this with
WinRAR∞)
XXXXx corresponds with the current PEQ-CVS version. For example, for
peqdb_1102.sql.gz, replace
XXXXx with
1102
See
this thread∞ for more information.
type in (
again, replacing the XXXXx with the current PEQ-CVS version):
(wait until this is done.)
Once that is done, you need to run one more code while your in here,
set password for 'root'@'localhost' = OLD_PASSWORD('newpwd');
^^^ Change
NEWPWD to your password that you used in the Instance Configuration Wizard, and be sure to leave the quotes in there.
Now you can close the Command Prompt.
Okay you are now done with your
MySQL configuration, all that s left to do is get the quest you downloaded into the EQEmu Folder.
Open up the C:\Peq_quest folder and select all the files/folders in there and copy them over to your EQEmu\quests folder.
You will also want to look in your EQEmu\quests folder and find a folder named "plugins". Then, copy that folder directly to your C:\EQEmu directory.
The plugins are responsible for item turn ins and spell scribing, so if you do not have these in the right place, some parts of your quests will not work.
That's it, now skip past the next section for Angelox s Database and read on.
Angelox s Classic Database
To install Angelox s Classic Database, point your favorite web browser to
http://eq.ismg.ch/mirkwood/news.php∞ You have to sign up for a account in order to access the download s page so do this now. Once your done, go back to that link, and then click on Downloads on the right hand side, and then click on the Database board link.
Download the following components to C:\axdb\ :
(AS OF 4/20/2007)
ax_classic_full_1a.tar.gz
ax_classic_core_update_1b.tar.gz
ax_classic_core_update_1c.tar.gz
and any other updates past 1c (if available).
If you not seeing these files, or are seeing something totally different Angelox may have change something so just Private Message him or me regarding this and we will point you in the right direction.
Once you have these done, right click on them, then go to 7zip -> Extract here, doing this for each package.
This will create another package that you will once again have to 7zip -> Extract here.
The end result of unzipping will give you three different sql files, and two folders named Quests and Add-Ons, along with 3 files that have weird names to them, just delete those. As of this guide writing, their names are mhrJKb, NO9cZa, and UPbymb.
OK, now that you have the three .sql files, its time to source them into
MySQL.
Sourcing in the Database
(((
IF AT ANY TIME YOU RECEIVE A ERROR WITH THESE STEPS, BE SURE TO CHECK YOUR SYNTAX )))
(((
IF THE ERROR IS STILL THERE, AND YOUR TYPING THINGS IN RIGHT, SEARCH )))
(((
THE FORUMS FOR A SOLUTIONS, OR PM ME AND I WILL TRY TO HELP )))
Click Start->Run-> and type in cmd to bring up your command prompt
Now type in cd\axdb
You should be at C:\axdb>
Now type in
and type in your password (from the Instance Configuration Wizard)
You will now see something like this,
Welcome to MySQL monitor. Commands end with ; or \g
Your MySQL connection ID is 2
Server Version: 5.0.37-community-nt MySQL Community Edition <GPL>
Type help; or \h for help. Type \c to clear the buffer.
mysql>
If that is correct, you now need to type in the following commands.
source ax_classic_full_1a.sql (wait for it to finish. 10 ~ 30 min)
source ax_classic_core_update_1b.sql (wait for it to finish. 10 ~ 30 min)
source ax_classic_core_update_1c.sql (wait for it to finish. 10 ~ 30 min)
Once that is done, execute the following command,
set password for 'root'@'localhost' = OLD_PASSWORD('newpwd');
^^^- Change
NEWPWD to your password that you used in the Instance Configuration Wizard, and be sure to leave the quotes in there.
Now open up Navicat, connect to the ax_classic database, then click on the variables table. Click on the word MEMO at the top, now locate the
LoginType column and change the value field from minilogin to public. Also, open up the Launcher table and change the launcher name from "zones" to "zone".
Okay you are now done with your
MySQL configuration, all that s left to do is get the quests you downloaded into the EQEmu Folder.
Open up the C:\axdb\quests\ folder and select all the files/folders in there and copy them over to your EQEmu\Quest folder.
You will also want to look in your EQEmu\quests folder and find a folder named "plugins". Then, copy that folder directly to your C:\EQEmu directory.
The plugins are responsible for item turn ins and spell scribing, so if you do not have these in the right place, some parts of your quests will not work.
Final Configurations
Almost done now. All that is left to do is to add which database you chose into your eqemu_config.xml file from earlier using the following values
If PEQ = <db>peq</db>
If Angelox s = <db>ax_classic</db>
You will also need to copy the two DLL files that you downloaded earlier into your C:\Windows\
System32\ directory if you do not have Everquest Titanium Installed.
Creating a Simple Server Boot up script
Open up Notepad via clicking Start, Run, and typing in Notepad. Once that is up, enter the following code,
@echo off
start world.exe
cls
echo Wait for World to finish loading... Press Enter when done.
pause
start eqlaunch.exe zone
exit
Once this is done, click on file and then save as. Change the Save As File Types at the bottom to All Files and save under start.bat in your EQEmu directory. You should now have a file in your EQEmu directory that says Start and then next to it says MS-DOS Batch File. If it says Text Document instead of Batch file, delete and try again, making sure to select All Files and add the .bat at the end of the word start.
When you have it right, right click on that file, then go to Send To -> Desktop (as Shortcut), creating a quick link to start up the world from your desktop.
For Client set-up, refer to the beginning of this guide under the Playing on Other s Servers.
You re all done with the setup of your server. If you have followed this guide to the letter, as I have while I wrote it, when you click on the Start shortcut that we placed on your desktop you should load up with no problems.
Here is what it should look like when you run start.
You will see a 2 windows come up, one will say
Wait for World to Finish LoadingPress Enter to Continue
And the other will say several lines of code, give it a second and it should stop, with the final two lines reading
[DEBUG] [WORLD__LS] Connected to Loginserver: eqemulator.net:5998
[DEBUG] [WORLD__LS] Loginserver provided YOUREXTERNALIP as world address
If you see the line above, click back on Window 1 and then go ahead and press enter. You will now see a window come up and display absolutely nothing, this is your Zone Launcher. Give it roughly 30 seconds to connect to the World Server. Once you ve waited, go back to the World window.
At the bottom you should see several lines that say something about launcher connected, zones, and ports 7000, 7001, 7002, ect.. Also, that blank window will also say 7005: sleeping at the top of it if you did everything properly.
If you are having issues with the eqlaunch.exe file PM me about it, and in the mean time, go to your EQEmu directory, and open up the zone.exe how ever many times you need it, (normally 5 times). There is some confusion in this, and I am still working the problems out with it.
That s it! You re now ready to login in to your own server and experiment away. Search around on the wiki for more information on how to set privileges on your account to enable GM commands.
Hints
If you receive a bunch of errors, go to the forums and search for those errors. If you can not find anything, PM and I will try to point you in the right direction, or post a thread under the General Support: Windows Servers board.
If your intending on playing just on your LAN, You will need to obtain the
MiniLogin. Click
here∞ for a link to download it, and
here∞ on how to set it up.
The Wiki is filled with information on how to make the most out of your new server. Visit it often until my full guide is done to learn how to do things like create spawns, merchants, buff bots, quests, and so forth.