World with no Items
I have EQemu running on a Windows Vista server and am using the Mini Login. I ran the PEQServerPack-Maps-4.0-1110a.exe and created a character with Status of 250. None of the NPC have any items when I click on them. When I try to summon an individual item "#summonitem 15050" or "#giveitem 1001" I receive an error of "no such item".
I can use other GM Commands so the problem appears to be that the game does not recognize the item table and/or needs some sort of spawn command? I have searched the Forums and ran out of keywords to try. Probably a simple solution but it evades me. |
PEQServerPack-Maps-4.0-1110a.exe is horribly outdated (their site is down so I can't check but I'm sure it hasn't been updated in a year or so), so you may want to try downloading the latest binaries from the googlecode page. As of writing this, it's revision 774. Grab the one you want - if you want the bots, grab the Revision774-Bots.zip. If not, then get the regular version.
Then download the database here and source it in. Then you'll want the latest quests and maps. If you want to keep current, follow the compiling guide here. By compiling your own sources, you can stay on top of changes and fixes and make your general playing experience much more enjoyable. Once you've got everything, make sure you keep an eye on the database version and server revision numbers. If you've followed the instructions above, you should have Revision 774 of the server, and pewdb_Rev781.sql.gz. This means that the database revision is higher than the server files - which is fine to an extent. I'll explain later. But for now, just recognize that the server revision supports the database since it's lower and you shouldn't have any issues. If anything, just grab the latest server binaries, database, maps and quests files and you should be golden. |
Thanks, I will give that a try. Appreciate the help.
|
Hi There,
I am also running that same version, so I wonder if the problems I posted are related to this.... That being said, all the pages you linked except for the first one have no files for me...am I doing something wrong? Thanks, Dave |
Those are SVN addresses. Basically you use something like TortoiseSVN to download the stuff as the developers update them.
If you follow this guide, it shows you how to download and compile your own server. I'll see if I can make a guide with pictures so it can be explained better, but for now, I can walk you through the basic stuff. This guide is to use the latest stuff without compiling your own source. I'm assuming you already have MySQL and Perl (version 5.10) installed, so I'll skip those parts. If you haven't follow Steps 2-3 from the link above. This should allow you to run the latest binaries with Bots, database and the new EQEMuLoginServer. The new EQEMuLoginServer is like a mini-login server, so it should probably used over the old and outdated MiniLogin server. This will be for a completely new install, so back up your database just in case before you start. I'll try to make this super-easy. First, download the compiled server binaires. Download Revision 774 with Bots here. Extract it. You should see a folder after you've extracted it called build - all your files are in there. This will be referred to as the server folder for this tutorial. Preface - Checking out the latest sources. 1.) Download and install Tortoise SVN. After it's installed, navigate to your MySQL installation folder. In that directory, you should see a folder named bin - this is where you'll download the database to. 2.) Right-click the folder and select SVN Checkout. In the new window that pops up, where it says URL of Repository at the top, paste in: http://projecteqdb.googlecode.com/svn/trunk. The line under that where it says Checkout directory: is the location of the folder you are downloading it to - keep an eye on that to make sure it's the correct folder. 3.) Click "OK", and let it update. Once this is done, navigate to the folder and you should see a file called: peqdb_Rev781.sql.gz. Extract it with 7-zip (freeware) or something similar like WinRAR (30-day trial). This is the "bulk" of the database. Now keep an eye on the revision number as it signifies the coalation between the server number. In this case, it's: peqdb_Rev781.sql. This means that you can run it since it's compatible with the server revision which is Rev774. If you update to a newer server rev, then you need to update the database if the rev version of the server surpasses the database. Now to source the database in. Setup - Importing the Database. 4.) Start MySQL by: Start > MySQL > MySQL Server 5.0 > MySQL Command Line Client. If there's a password for your database, enter it and hit Enter. You should see: mysql> _. Since this is a new installation, you can type: CREATE DATABASE [name];, where [name] is the name you want for the database (exclude the [brackets]). I'll use PEQ as an example. So it would be: CREATE DATABSE PEQ; Then type: use PEQ (or whatever siginifies your database.) It should then say: Database changed. Then type: source peqdb_Rev781.sql; Then type: source load_player.sql; And lastly: source load_bots.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. 5.) Download the EQEMuLoginServer files here. Once downloaded, extract it. Copy the EQEMuLoginServer.exe to your server folder. 6.) As explained above in Step 2, create a new folder and name it something easy to remember like EQEmu Server Files or something. Right-click that folder, and paste in the SVN address: http://projecteqemu.googlecode.com/svn. 7.) Go to the folder where you downloaded the server sources and navigate to: trunk > EQEmuServer > EQEmuLoginServer > login_util. Then copy: eqemulogin.ini, login_opcodes.conf to your server folder. And finally, go to login_util > ms > debug and copy the EQEmuAuthCrypto.dll file to your server folder. 8.) Download and install HeidiSQL or something to make it much easier for this part. Launch HeidiSQL and use your MySQL credentials to login (click Save + Connect to remember your login info - not recommended on public computers for obvious reasons). 9.) In the upper-left panel, you should see the name of your database (PEQ). Right-click somewhere in the panel and choose Create Database from the menu. Give it a name like: PEQLoginDB then click OK. Click your database name (PEQLoginDB) in the upper-left panel so it's yellow to make sure it's selected. Now press CTRL+O (or from the top menu: Import > Load SQL file...). Then navigate to the folder where you downloaded the server files: trunk > EQEmuServer > EQEmuLoginServer > login_util. Then select: EQEmuLoginServerDBInstall.sql and click Open. In the Query window at the center of the screen, you should see the SQL entry. Above that, you should see a left-most blue arrow pointing to the right. Press that to execute the query. Or press F9. Almost there! Now to make accounts and set up the server to log in. 10.) Here's an SQL file to make accounts. Make sure your PEQLoginDB is selected, and import this query. You can save this as an .sql file, or copy/paste it in the Query window in HeidiSQL and import it. Quote:
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. 11.) Setting up the world server. Here's the sql file to make the world server entry. Quote:
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 green number 2 signifies what kind of server it is. 1 = Legends, 2 = Preferred, 3 = Standard. Finalizing - Setting up for launch and connections. Now the last part is to make sure everything is set up so you can connect. I'll be using an example of setting up the server on the same LAN connection while letting people outside of your LAN to be able to connect to your server. 12.) First of all, lets open up the eqemu_config.xml file in your server directory. Up at the top of the file, you should see: Quote:
Quote:
Quote:
Quote:
13.) Save your changes and open up eqemulogin.ini. Quote:
Maps, Quests and Spells - Keeping them updated. This is how to keep all of your maps and quests updated. MAPS 14.) 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. 3.37 GB as of now. QUESTS 15.) 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! SPELLS 16.) In your EverQuest installation directory, find: spells_en.txt and spells_us.txt. Copy them to your 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 everytime you update, but do make sure they're there before reporting any bugs about spells. Setting up a .batch file. 17.) 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: Code:
@echo off Connecting - Changing your eqhost.txt file 18.) Since you are on the same LAN, your eqhost.txt file should be as follows: Quote:
Quote:
If other people outside of your LAN are trying to connect, their eqhost.txt file should read: Quote:
-=-=-=- End tutorial! -=-=-=- This should cover anyone wanting to set up a server. Hope it's informative as I have blisters on my fingers from typing all of this. ;) If there's anything missing, let me know as I'll gladly update this topic with relevant information as soon as I give my carpal tunnel a rest. Now go play! :grin: |
Should:
15.) In your server folder, right-click the quests folder and select SVN Checkout. In the URL of Repository section, paste: http://projecteqquests.googlecode.co...nk/quests/Maps actually be: http://projecteqquests.googlecode.com/svn/trunk/quests |
vales-
For steps 14.) and 15.) I noticed that the default local location for the quest and map files is build/maps/maps and build/quests/quests. Does it matter or should they be manually directed to download/checkout in the build/maps and build/quests folder? Thanks |
Quote:
|
Then type: source peqdb_Rev781.sql;
This step required several hours for me. |
Quote:
Quote:
Quote:
Quote:
|
Quote:
I had to let it run overnight. The other scripts ran quickly though. |
Then type: source load_player.sql;
And lastly: source load_bots.sql; SQL kept failing on these two so I ran the individual scripts they called from the Player_Tables folder and they executed quickly. Might have been a path issue since Player_Tables is a subfolder of peqdatabase and the calling scripts are in peqdatabase. |
Thank you very much for the assistance Vales. I think I am getting closer.
I ran EQEmuLoginServer.exe, no problem. I ran world.exe and received the following error: Failed to connect to database: Error: #1049: Unknown database 'eq' I am not sure why it is looking for database "eq" the eqemu_config.xml is: <?xml version="1.0"> <server> <world> <shortname>Slobovia</shortname> <longname>Slobovia</longname> </world> </server> <!-- Loginserver information. Defaults shown --> <loginserver> <host>localhost</host> <port>5998</port> <account></account> <password></password> </loginserver> <!-- Database configuration, replaces db.ini. Defaults shown --> <database> <host>localhost</host> <port>3306</port> <username>root</username> <password>EDITED</password> <db>PEQ</db> </database> |
Quote:
On another note, in step 14.) i have about 400 files or so and the Maps folder weighs in at 600+ MB. This step mentions 3+ GB. What am I missing? My private server is up and running based on Vales instructions. Everything seems to be running well. I have a couple of errors in my log tied to Bots but I didn't install the Bots feature so I'm not worried here. A couple of other seemingly minor errors which I will try to figure out. Kudos to Vales for this post; this has been one of the most helpful posts on setting up a private server for the newer content I have ran across. |
Quote:
Database is definitely named "PEQ" not "EQ". I can "USE" PEQ from MYsql and see it in Navicat. Don't know why World.exe is looking for 'eq'. My build/maps folder contains 602 files and is 3.38 GB. Perhaps your SVN Checkout was incomplete? Agree with the kudos to Vales. I am much closer to getting this thing running (and on a current rev) thanks to his post. |
Quote:
Quote:
Forgot to add that if you download the binaries from the google site, make sure you use the eqemu_config.xml.full one and not the eqemu_config.xml. Just edit out the .full at the end of the file, and you should be good to go. I just looked at it, and the default of that file is set to eq instead of what you specify it to be. If you just use that file, and edit in your information, then you should be good to go. I knew there was something missing from the guide. :rolleyes: Make sure you take out the comment lines in the file at the top as well. |
Quote:
Thanks for confirming. Perhaps vales can shed some light on your EQ database issue. |
I am close enough to smell it but not close enough to step in it. I can start EQ, login to EQemulator.net using the appropriate account info and see the available worlds, except for mine which is missing. When I change all various "host" and "addresses" settings to point to the EQEmuLoginServer running on my server (instead of EQemulator.net) I get the "Error - The username and/or password were not valid. Please check them and try again." I added my AccountName and AccountPassword to the tblloginserveraccounts table of database peqlogindb with a LastIPAddress of 127.0.0.1 and added the same info to the accounts table of database PEQ.
For now, I only need to get it running for local login. I might open it to others after I experiment with it for awhile. I am sure it is just something simple that I am getting crossed between all the "host", "address" and "port" entries but much like the jitterbug it just plum evades me. EQEmuLoginServer v1.0 ALPHA Using Port: 5998 Dumping Inbound Packets. Dumping Outbound Packets. Tracing ON. Database Server: localhost Database Catalog: PEQloginDB Datebase UserName: EDITED Database Password: EDITED Server (TCP) listener started. Total World Server TCP Connections is 0. Total World Server Registrations is 0. New Server TCP connection from 127.0.0.1:50840 Received server Opcode (blah, blah, blah) Updating status for server: Slobovia EQlaunch [Debug] Starting Log: logs/eqemu_debug_5128.log [Debug] [LAUNCHER_INIT] Loading server configuration.. [Debug] [NET_WORLD] WorldConnection connect: Connecting to the server slobovia.no-ip.biz:9000 failed: TCPConnection::Connect() failed. Error: 10061 [Debug] [LAUNCHER_ERROR] worldserver.connect() FAILED! Will retry. [Debug] [LAUNCHER_INIT] Starting main loop... [Debug] [NET_WORLD] Connected to World: slobovia.no-ip.biz:9000 (blah, blah, blah, then it starts the dynamic zones 1-5) C:\EQemu Server\build\World.exe [Debug] Starting Log: logs/eqemu_debug_world_0944.log [Debug] [World__INIT] Loading server configuration.. [Debug] [WORLD__INIT] Log settings loaded from log.ini [Debug] [WORLD__INIT] CURRENT_WORLD_VERSION:EQEMu 0.7.0 [Debug] [WORLD__INIT] Connecting to MySQL... [Status] Starting Log: logs/eqemu_world_0944.log [Status] Using database 'PEQ' at localhost:3306 [Debug] [WORLD__INIT] HTTP world service disabled. [Debug] [WORLD__INIT] Loading variables.. [Debug] [WORLD__INIT] Loading zones.. [Debug] [WORLD__INIT] Clearing groups.. [Debug] [WORLD__INIT] Clearing raids.. [Debug] [WORLD__INIT] Loading items.. [Status] EMuShareMem loaded [Status] Loading items from database: count=76214 (blah, blah, blah, set rules, launch zones) eqhost.txt [LoginServer] Host=eqemulator.net:5998 eqemu_config.xml <?xml version="1.0"> <server> <world> <shortname>Slobovia</shortname> <longname>Slobovia</longname> <!-- Only specify these two if you really think you need to. (read: You don't) --> <!-- <address>slobovia.no-ip.biz</address> --> <!-- <localaddress>192.168.1.101</localaddress> --> <!-- Loginserver information. Defaults shown --> <loginserver> <host>localhost</host> <port>5998</port> <account></account> <password></password> </loginserver> <!-- Server status. Default is unlocked --> <!--<locked/>--> <!-- <unlocked/> --> <!-- Sets the ip/port for the tcp connections. Both zones and console (if enabled). Defaults are shown --> <tcp ip="slobovia.no-ip.biz" port="9000" telnet="disable"/> <!-- 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. Defaults are shown --> <http port="9080" enabled="false" mimefile="mime.types" /> </world> <!-- Chatserver (channels) information. Defaults shown --> <chatserver> <host>channels.eqemulator.net</host> <port>7778</port> </chatserver> <!-- Mailserver (in-game mail) information. Defaults shown --> <mailserver> <host>channels.eqemulator.net</host> <port>7779</port> </mailserver> <zones> <defaultstatus>20</defaultstatus> <!-- Sets port range for world to use to auto configure zones --> <ports low="7000" high="7100"/> </zones> <!-- Database configuration, replaces db.ini. Defaults shown --> <database> <host>localhost</host> <port>3306</port> <username>EDITED</username> <password>EDITED</password> <db>PEQ</db> </database> <!-- Launcher Configuration --> <launcher> <!-- <logprefix>logs/zone-</logprefix> --> <!-- <logsuffix>.log</logsuffix> --> <!-- <exe>zone.exe or ./zone</exe> --> <!-- <timers restart="10000" reterminate="10000"> --> </launcher> <!-- File locations. Defaults shown --> <files> <!-- <spells>spells_us.txt</spells> --> <!-- <opcodes>opcodes.conf</opcodes> --> <!-- <logsettings>log.ini</logsettings> --> <!-- <eqtime>eqtime.cfg</eqtime> --> </files> <!-- Directory locations. Defaults shown --> <directories> <!-- <maps>Maps</maps> --> <!-- <quests>quests</quests> --> <!-- <plugins>plugins</plugins> --> </directories> </server> eqemulogin.ini Port=5998 DumpPacketsIn=true DumpPacketsOut=true Trace=true DatabaseServerName=localhost DatabaseCatalogName=PEQloginDB DatabaseUserName=EDITED DatabaseUserPassword=EDITED OPCodePathAndFileName=login_opcodes.conf Startup EQemu.bat @echo off start EQEmuLoginServer.exe start world echo waiting for the world to finish before starting zone... sleep 10 start eqlaunch zone Directory Structure C:\EQemu Server\build (logs, Maps, plugins,quests, templates,worldui, .exe, .ini, .conf) C:\EQEmu Server Files (svn folders: branches, tags, trunk,wiki) C:\MySQL\MySQL Server 5.1\bin\projecteqdb\peqdatabase C:\ProgramData\MySQL\MySQL Server 5.1\data\peq C:\ProgramData\MySQL\MySQL Server 5.1\data\peqlogindb |
You've got some errors in your setup there. ;)
=== Then delete the red text and change it to the orange one if there is. eqhost.txt [LoginServer] Host=change this to your LAN IP of the server:5998 If everyone on your network is on the same LAN, then you can just change it to your server's LAN IP. :) eqemu_config.xml <?xml version="1.0"> <server> <world> <shortname>Slobovia</shortname> <longname>Slobovia</longname> <!-- Only specify these two if you really think you need to. (read: You don't) --> <!-- <address>slobovia.no-ip.biz</address> --> <!-- <localaddress>192.168.1.101</localaddress> --> <!-- Server status. Default is unlocked --> <!--<locked/>--> <!-- <unlocked/> --> <!-- Sets the ip/port for the tcp connections. Both zones and console (if enabled). Defaults are shown --> <tcp ip="slobovia.no-ip.biz - change it to localhost" port="9000" telnet="enable"/> |
Vales, I appreciate your patience and the restraint you have exercised in not pointing out exactly how clueless I am. I guess I just don't test well. I made the changes you noted in red and orange above.
When I use 192.168.1.1 in eqhost.txt and as the local address in eqemu_config.xml then I receive the error: "A connection to the server could not be reached. Please check your internet connection to make sure you are online." I have opened the relevant ports and even tried temporarily disabling (and applying change) Windows Firewall. When I use 192.168.1.101 in eqhost.txt and as the local address in eqemu_config.xml then I receive "Error - The username and/or password were not valid. Please check them and try again." I have tried three different login accounts and verified them by checking the table in HeidiSQL. |
No problem. :) It's all a learning process, and we were all there at one time or another.
Just missed the loginserver part of your config file. Sorry about that. Try this: Quote:
Quote:
Quote:
And finally, if that fails... It could be that your router doesn't support NAT routing. A lot of older routers have this issue. What you could to test it out is put your dyndns name in your eqhosts.txt file like so: Quote:
Then go to C:/windows/system32/drivers/etc, and open your hosts file with notepad or something. You should see: Code:
127.0.0.1 localhost Add this line: Code:
slobovia.no-ip.biz 192.168.1.101 What this does is loops your connection and reroutes it to your server's PC - assuming 192.168.1.101 is the LAN IP to your server. So any PC with this modified host file will have their connection rerouted. :) |
Vales - Fantastic guide thanks very much
|
All times are GMT -4. The time now is 08:45 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.