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; 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! 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. 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!!!**** 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] --------------------------------------------------------------- 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. |
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 |
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). |
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...
|
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. |
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 ^^. |
My solution to IO::Scalar
The problem begins at:
Code:
RESTART YOUR COMPUTER BEFORE PROCEEDING Code:
perl -MCPAN -e shell Code:
install IO::Scalar |
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 |
The link to download the Kunark database (www.peqserver.com) is no longer valid.
The kunark database should be downloaded from www.projecteq.net. |
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. |
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.
|
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? :) |
There is a link to the router guide that I made a while ago...look at the guide.
|
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...:( |
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. |
All times are GMT -4. The time now is 09:45 AM. |
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.