Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Support > Archive::Tutorials/Howto's > Tutorials--Outdated Use the Wiki > Tutorials::Discussion

Tutorials::Discussion Discuss Tutorials here. Do NOT POST tutorials here, they belong on the wiki.

Reply
 
Thread Tools Display Modes
  #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
  #2  
Old 10-18-2004, 07:34 PM
Chrysm
Sarnak
 
Join Date: Oct 2002
Location: New Orleans, LA
Posts: 71
Default

Ok, I followed this guide and it still did not work... when I made the char and tried to enter world, it dropped me.

Here is what I did to fix:
(this assumes you have fresh database etc and are starting from scratch)

Install the eqemu 6.0-DR1
Modify your files etc as stated before
now for the database part of it


source all this stuff
(don't forget use eq
Step 1. Download ProjectEQ's 5.8 Classic database from http://www.projecteq.net
Step 2. Source that file into your database.
Step 3. http://www.eqemulator.net/sql/aa_levels.sql
Step 4. http://www.eqemulator.net/sql/altadv_vars.sql
Step 5. http://www.eqemulator.net/sql/wr_update.sql
Step 6. http://www.eqemulator.net/sql/aa_actions.sql
Step 7. http://www.eqemulator.net/sql/aa_swarmpets.sql
Step 8. http://www.eqemulator.net/sql/fishing.sql
Step 9. http://www.eqemulator.net/sql/timers.sql
Step 10. http://www.eqemulator.net/sql/traps.sql
Step 11. ALTER TABLE items ADD attuneable tinyint(3) unsigned NOT NULL default '0';

Step 12. ALTER TABLE items CHANGE 'unknown008' 'SpellCharges' INT(11) DEFAULT '0' NOT NULL;

If you are using minilogin source this

Step 13. INSERT INTO variables (varname, value, information) VALUES ('LoginType', 'Minilogin', 'Set this to Minilogin to login using a minilogin server ');

Step 14. alter table account add minilogin_ip varchar(32) not null;

Step 15. insert into account (name,status, minilogin_ip) values('THE_NAME_YOU_USE_TO_LOG_IN', 250, 'IP_OF_COMP_RUNNING_EQ');

Ok, now to enable the expansions:

Step 16. update variables set value=255 where varname like 'expansions';

Don't worry about errors saying something already exists, at least you know it's there heh... better than missing something.

Ok, so what I did was start minilogin, world.exe and wait for it to say connected to login server 127.0.0.1:5999, then boot5zone.bat ... Here is where I tried to log in early and kept getting error 1017... you have to wait for all 5 zones to go into sleep mode... then you can log in. Log in make your char AND MAKE SURE NOT TO SELECT TUTORIAL!! Uncheck that or you will freeze up and have to reboot and start the minlogin etc over again.

Make your char log in, and enjoy
__________________
Tuesdays in the 80's I was in bed by 8... and home by 11... OH!
~Quagmire, The Family-Guy
Reply With Quote
  #3  
Old 12-15-2004, 10:19 PM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

Unless a senor dev contradicts me, I would like to see the privileges granting modified in the 2 tutorials that explain how to setup a server.

Granting all privileges on *.* is almost like creating a new root acount.
It's giving rights to the eqemu user on all the DBs of your server. This may allow him to create new mysql accounts, flush privileges, drop some databases, create new ones...
We certainly don't need this. It may be inoffensive on private lan servers, but a terrible breach on public servers where almost stranger are given rights on the database.

Please correct this by according the rights only on the eqemu database. Mysql documentations and the post i made on howto install a linux server contain this. (basically, create the eq db first, then give rights on it after).
__________________
Muuss - [PEQGC] Dobl, the ogre that counts for 2 !
http://www.vilvert.fr/page.php?id=10
Reply With Quote
  #4  
Old 01-17-2005, 12:48 PM
Kakraaz
Fire Beetle
 
Join Date: Jan 2005
Posts: 6
Default

is it possible to make a new account on mysql or delete your old one? i used it along time ago and forgot my password...(im on main step 3 on the grant privileges part) and i have already tried uninstalling it and reinstalling it...it saves my acct...
Reply With Quote
  #5  
Old 01-17-2005, 02:04 PM
Malignus Wingnut
Hill Giant
 
Join Date: Sep 2004
Posts: 233
Default

1) Post your error in the ERROR GUIDE...that's what it's for.

Secondly, find my.ini located in c:\windows\, delete this file, run winmysqladmin.exe again and you can pick a new user/pw.
Reply With Quote
  #6  
Old 03-02-2005, 03:43 AM
Malignus Wingnut
Hill Giant
 
Join Date: Sep 2004
Posts: 233
Default

3/2/05 - I'm back, and I've returned to the EQEmu project. I know everyone is having trouble installing IO::Scalar, and I've had to recently wipe my computer twice now....anyways, when i went back to set my server back up, I had all of the same problems that you guys had, IO::Scalar would install, i would get the "Installed" message when running the line of code, but I would get that damn wraptie error. All i can say to you people, is one day when i finally decided to try again, I uninstalled perl completely, deleted the folder, and re installed, the install worked. Here's EXACTLY what i did.

1) Install perl 5.8
2) Skip to step 2e) in the real guide.
3) RUN NMAKE.EXE IN YOUR PERL/BIN FOLDER BEFORE PROCEEDING
4) Follow step 2f)
5) DO NOT RESTART COMPUTER AFTER TYPING Perl -MCPAN -e shell AND INSTALLING AUTOMATICALLY. SKIP DIRECTLY TO THE install IO::Scalar COMMAND!!

No guarantees on this one guys, just my experience.

And just a note if you're wondering why my reply is here, its cuz my post up top is too long ^^.
Reply With Quote
  #7  
Old 03-02-2005, 04:47 AM
sysadmin
Hill Giant
 
Join Date: Feb 2005
Posts: 163
Default My solution to IO::Scalar

The problem begins at:

Code:
RESTART YOUR COMPUTER BEFORE PROCEEDING
Solution is to add this line AFTER reboot:

Code:
perl -MCPAN -e shell
before this line:

Code:
install IO::Scalar
Reply With Quote
  #8  
Old 03-03-2005, 07:34 PM
ndnet
Hill Giant
 
Join Date: Oct 2003
Posts: 105
Default

If the IO::Scalar automated BS is messing up for you, here's an alternative method of installing IO::Scalar.

Visit http://cpan.uwinnipeg.ca/module/IO::Scalar - Click the "Download" link next to IO-Stringy (IO::Scalar's parent package)

Extract the file somewhere memorable. Open a command window (Start->Run->"cmd") and navigate to the folder including it (e.g. "cd \perl\IO-stringy-2.110\").

Now that you're in the folder, execute these commands:

Code:
 perl Makefile.PL
 nmake
 nmake test
 nmake install
Reply With Quote
  #9  
Old 03-11-2005, 02:06 PM
RangerDown
Demi-God
 
Join Date: Mar 2004
Posts: 1,066
Default

The link to download the Kunark database (www.peqserver.com) is no longer valid.

The kunark database should be downloaded from www.projecteq.net.
__________________
<idleRPG> Rogean ate a plate of discounted, day-old sushi. This terrible calamity has slowed them 0 days, 15:13:51 from level 48.
Reply With Quote
  #10  
Old 03-12-2005, 10:16 AM
Daften
Fire Beetle
 
Join Date: Feb 2004
Posts: 2
Default

I followed the directions exactly as stated but at the very last step(always has to happen at the end, eh? ) when I open Boot5zones.bat 5 zones are automatically opened and I don't get to replace my internal nor external IP. So when I log in, I see my server however I am not able to log into it because it's locked. (I've tried saving "true" and "false" in my eqemu directory, and each time I log in and reboot World.exe and Boot5zones.bat it still shows up as locked.)

Any suggestions? Thanks in advance.
Reply With Quote
  #11  
Old 03-12-2005, 10:57 AM
tallerin
Hill Giant
 
Join Date: Mar 2005
Posts: 165
Default

For the boot 5 zones right click it then select edit NOT open then change the int/ext ips. for the locked server might be from the wrong ip's in the boot 5 zones but dunno for sure worked flawlessly for me.
Reply With Quote
  #12  
Old 03-12-2005, 11:23 AM
Daften
Fire Beetle
 
Join Date: Feb 2004
Posts: 2
Default

Okay, thanks. I dunno how I could have missed the edit

My server is now "up" But I can't log into it. I'm on a router >_< *sigh* another tutorial to go through,eh?
Reply With Quote
  #13  
Old 03-13-2005, 07:32 AM
Malignus Wingnut
Hill Giant
 
Join Date: Sep 2004
Posts: 233
Default

There is a link to the router guide that I made a while ago...look at the guide.
Reply With Quote
  #14  
Old 03-18-2005, 12:16 PM
raistlinist
Fire Beetle
 
Join Date: Mar 2005
Posts: 4
Default

hi all, i got a problem and a need help, thx in advance i really want to play eq

im stuck at the main step 3 when i ran winsqladmins...exe i wrote a pass n username lets say username : bob and password : wayhne

and when i type GRANT ALL PRIVILEGES ON *.* TO bob@localhost IDENTIFIED BY 'wayhne' WITH GRANT OPTION; in mysql.exe i doesnt work

it says error 1045 : Acces denied for user @localhost' <Using password : NO>
i tried to type CD C:\mysql\bin and its not working for me maybe i misunderstood
something or scalar isnt installed properly ... HELP PLZ ! i want to play sniff...:(
Reply With Quote
  #15  
Old 03-18-2005, 03:58 PM
Malignus Wingnut
Hill Giant
 
Join Date: Sep 2004
Posts: 233
Default

You see the thing is...99% of people who follow my guide get stuck because they DO NOT read every step in detail. I suggest you go back, and read the optional troubleshooting guide to the grant all privileges option... It clearly states what to do.

Make sure you have typed everything properly, be assured there are no typos.

Finally, the lines of code (CD c:\.....) DO NOT apply to everyone. Some people have a newer version of MySQL which installs defaultly to c:\program files\mysql instead of just c:\mysql. Be sure that YOU know where YOUR copies of programs are installed and use your brain and replace lines of code with what suits your configuration.
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 02:18 AM.


 

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