View Single Post
  #1  
Old 09-30-2004, 02:11 PM
Malignus Wingnut
Hill Giant
 
Join Date: Sep 2004
Posts: 233
Default HOWTO: Host a 6.0 Server on Windows (Perl Quests enabled!!)

12/12/04 - Got a problem? Head on over to my new error post and tell me what it is. Link is:

http://www.eqemulator.net/forums/viewtopic.php?t=18921


11/3/04 - I've rewritten most of the guide, it should flow better now. As of now i would STRONLGY advise using the peq kunark database. Soon i will add an update on how to make any database 6.0 DR1 compatible, but until then, use kunark ^^.


COLOR CODES:


RED - Main steps
YELLOW - Substeps
CYAN (Light Blue) - Notes


MAIN STEP ONE - DOWNLOADS

1a) MySQL - used for database editing.

http://dev.mysql.com/get/Downloads/M...m/pick#mirrors


1b) EQEmu 6.0 - Perl Enabled

http://adam.eqemulator.net/11-09-04_Compiled_Perl.zip

1c) Loginserver.ini, Boot5zones.bat, and db.ini (EQEmuConfig.zip)

http://home.comcast.net/~molimo140/EQEmuConfig.zip




1d) Active Perl - Used for writing quests.

Perl 5.8 http://downloads.activestate.com/Act...SWin32-x86.msi

AND

NMAKE.EXE

http://home.comcast.net/~molimo140/NMAKE.EXE


1e) Databases:
Pick a database, the newest one is:

Kunark DB can be located at www.peqserver.com


1f)Default.pl
http://home.comcast.net/~molimo140/default.pl

1g)Plugin.pl
http://home.comcast.net/~molimo140/plugin.pl


1h) Additional Database Files

http://home.comcast.net/~molimo140/DBUpdate.zip



---------------------------------------------------------------
MAIN STEP TWO - INSTALLING OF STUFF

2a) Install MySQL, run the program I had you download.

2b) Extract the contents of 11-9-04_Compiled_Perl.zip to C:\eqemu

2c) Extract the contents of EQEmuConfig.zip to C:\eqemu

EDIT::Also copy spells_us.txt from your Everquest directory to C:\EQEmu.

2d) Install Perl 5.8

2e) Copy NMAKE.exe (downloaded above) into C:\perl\bin

2f) Install IO::Scalar

Open a Command Prompt (Start menu -> run -> type cmd -> hit enter

type

Code:
perl -MCPAN -e shell


It will ask you if you want to configure Manually. Say no.

RESTART YOUR COMPUTER BEFORE PROCEEDING.

When that is done type
Code:
install IO::Scalar

Once complete it will say Install OK (or something to that effect).

IF YOU GET AN ERROR MESSAGE saying it failed to install, It should say something at the bottom as an alternate method of installing IO::Scalar. Type what it says to. If that doesn't work.. I dont know, because by this point i had it installed successfully.

To make sure IO::Scalar is installed properly, type

Code:
perl -MIO::Scalar -e "print 'Installed'"


If it was installed properly, you should see the word "Intalled" on your command prompt.

wIf you are having trouble installing IO::Scalar, and you have typed 'make install IO::Scalar' into cmd prompt and it still refuses to install, visit http://search.cpan.org.

Search for Scalar.PM and WrapTie.PM (they should both be at the top of their search page when you search for them.) Download them. (You may have to copy the code from the website, paste it into notepad, and the select Save As (ALL FILES) and make sure to add the extension .PM to the end of the file name.

Copy both these files to your C:\perl\lib\io Directory and that should do it.

NOTE:: This is NOT fully tested and may/may not work for you.

2g) Copy necessary perl files
Copy Plugin.pl to your C:\EQEmu directory

Create a new folder in your eqemu directory called Quests.

Copy default.pl into the quests directory.




2h) Extract your database that you downloaded to C:\mysql\bin

2i) Extract the contents of DBUpdate.zip to C:\ mysql\bin.
-----------------------------------------------------

MAIN STEP THREE - MYSQL

3a) Go to C:\mysql\bin and run WinMySQLAdmin.exe

A window should pop up asking you for a username and a password. Pick both and write them down, you will need them later.

You can now close this.

3b) In C:\mysql\bin, run mysql.exe

Type into the window:

Code:
GRANT ALL PRIVILEGES ON *.* TO Username@localhost IDENTIFIED BY 'Password' WITH GRANT OPTION;


Replace Username with the username you selected above, and Password with the password you selected above.

It should say something like:

Code:
Query OK, 1 Rows Affected, (0.0)sec

Note: If you get an error when typing the grant all privileges line:

1) Make SURE you copied the line of code EXACTLY as written and changed username/password. (you need the ''s(apostrophes) around the password. 'example' not "example" or example.)

2) Try opening a command prompt. Type:

Code:
CD C:\mysql\bin

then type

Code:
mysql -u root mysql

And proceed to type the grant all privileges command again.
--------------------------------

Now type:

Code:
Create Database eq;


You can name your database whatever you want (Replace eq with whatever), however for simplicity I am using eq.

Should say

Code:
Query OK, 1 Rows Affected, (0.0)sec

Next type:

Code:
Use eq;


This sets what database is being currently used. All changes made will be made to the database that is being used.

Should say

Code:
Database Changed.



Now type:

Code:
source databasename.sql;


Replace databasename.sql with whatever the database you downloaded happens to be called.

Lots and lots of

Code:
Query OK, 1 Rows Affected, 0.0sec

Will fly by... Eventually it will stop.

Now we can type:


Code:
source dbupdate.sql;
More stuff flies by, finally it stops and at this point you can type:

Code:
quit

And it will close.



------------------------------------------------------------------

MAIN STEP FOUR - EQEmu Folder

4a) Go to c:\eqemu

4b)Open up DB.ini

Should look like this:
Code:
# READ README.TXT!

[Database]
host=localhost
user=MySQLUsername
password=MySQLPassword
database=databasename


### --- This file tells world.exe what computer mySQL is on. Host should
### --- be left "localhost" unless mysql is on a differant computer than world.exe.



where it says user= and password=, enter the username and password you selected when you ran winmysqladmin.exe

Where it says database=, enter the name of the database you created. If you followed this guide exactly, it should read database=eq.

Save and close.

4c)Open up LoginServer.ini

Looks like this:

Code:
### --- This file tells world.exe what loginserver to connect to.
### --- Leave the account and password field BLANK.

### --- Public Login is un-supported as is LAN playing. We reccomend using the EQEmu.net Loginserver ALWAYS.

### --- NOTE: Starting 6-1-2002, you can no longer use the word "Server" in worldname.
### --- NOTE2: the word "Server" is added to each server automaticly.

# READ README.TXT

[LoginServer]
loginserver=newlogin1.eqemulator.net
loginport=5994
worldname=ServerName
worldaddress=EXTERNAL_IP_ADDRESS
locked=false
account=
password=


[WorldServer]
Defaultstatus=0
Unavailzone=

[ChatChannelServer]
worldshortname=
chataddress=
chatport=


Where it says worldname=, enter the name of your server. Whatever is there is what will show up on server select. Do not put the word Server in your server name, it is automatically added.

Where it says worldaddress=, enter your EXTERNAL IP ADDRESS.

You can find this by going to www.whatismyip.com

Where it says locked=, enter either true or false. This controls whether or not your server shows up as LOCKED on server select. In the locked state, only GM-Admins or higher can log in.

Leave everything else in this file alone.

Save and close.

4d)Open up Boot5Zones.bat, should look like this:

Code:
REM: ****Read this first!!!****

REM: This file requires your real IP in the place of "YourIP" when you are connecting
REM: To the EQEmu Loginserver.

REM: When you are using minilogin, Replace all IP Addresses to say 127.0.0.1

REM: If you still get errors try using localhost instead of 127.0.0.1

REM:--------------Start-----------------------
@echo off

if NOT exist spells_us.txt goto NOSPELL

start zone . EXTERNAL_IP_ADDRESS 7995 INTERNAL_IP_ADDRESS
start zone . EXTERNAL_IP_ADDRESS 7996 INTERNAL_IP_ADDRESS
start zone . EXTERNAL_IP_ADDRESS 7997 INTERNAL_IP_ADDRESS
start zone . EXTERNAL_IP_ADDRESS 7998 INTERNAL_IP_ADDRESS
start zone . EXTERNAL_IP_ADDRESS 7999 INTERNAL_IP_ADDRESS
exit
cls

:NOSPELL
echo You did not copy the spells_us.txt from your everquest directory to this one.  Please do so or zones will crash on startup.
PAUSE

REM:---------------END------------------------

Replace EXTERNALIP with your external ip address (www.whatismyip.com)

Replace INTERNALIP with your Internal IP address.

To find your internal ip address, open start menu, click on run, type cmd, hit return. When the command prompt comes up, type ipconfig, and hit enter. You will see several things:

IP Address.....................................192.16 8.x.x
Subnet Mask...................................255.255.255 .0
Default Gateway.............................192.169.0.1

Not necessarily in that order. Where it says IP Address, this is your internal ip address.

After you have made those changes,save and close.


-----------------------------------------------------------------------

MAIN STEP FIVE - STARTING YOUR SERVER

5a)Run World.exe in your C:\eqemu folder.

5b)Run Boot5Zones.BAT.

5c) Let them both run...log in and you're ready to connect.

(Make sure your eqhost.txt file is correct (in your Everquest directory. It should read:


Code:
[Loginserver]
host=newlogin1.eqemulator.net:5994


---------------------------------------------------------------

Final Notes

IF YOU ARE BEHIND A ROUTER, VIEW THIS THREAD:

http://www.eqemulator.net/forums/viewtopic.php?t=16747

To set yourself as a GM. Log into your server, at least once, dont have to create a character, then log out. Open up a command prompt (start -> run -> type cmd -> hit enter)

type

Code:
cd c:\eqemu


then

Code:
world.exe flag Username Status


Replace Username with your EQEmu server name (the one you use to log into server select with)

Replace Status with one of the following:

0 - Legit
10 - Semi-Legit
20 - Non-Legit
60 - Guide
80 - GM-Quest Troupe
100 - GM-Admin
150 - GM-Lead Admin
200 - GM-Mgmt <--- SERVER OP, the one you want for yourself.


That's it. As far as I know this works as of today... Any questions / comments / concerns...post below.
Reply With Quote