--------------------------------------------------------------------------------------------------------------
READ THIS! OR I WON'T ANSWER YOUR QUESTIONS WHICH ARE ALREADY EXPLAINED HERE.
--------------------------------------------------------------------------------------------------------------
First of all: You'll need a lot of patience, because I don't think it will work for you on your first attempt, no matter which guide you follow. This tutorial aims at people who like to explore zones that they haven't visited yet, create their dream character or simply fool around in EQ, trying out different classes et cetera.
IMPORTANT: If your EQ is patched with the 16th June update, stop reading and choose another guide. That patch f*cks up Minilogin, which I use in this howto to set up the server.
I recommend reading The Big Lan Book simultaneously to this thread, to avoid wrong settings. There are some helpful links at the bottom of this page as well.
UPDATE: I've tried to spawn five zones with random ports (4662, 5663, 4673, 9673 and 2406) and it worked! I am certain that you can choose any port (besides the standard ports which are reserved for your ISP, I believe 80 is one of those) you like, since it connects through Minilogin (LAN) to the server.
UPDATE: If you don't want to know how to compile your own database, download Compiled.database.rar and extract it to your mysql\bin folder. Rename the folder, or change the name in "db.ini" (if you have no idea what I'm talking about, keep on reading, you'll see). "Test" database was created with:
MW055_alpha1.sql
MW055_alpha_02.sql
loot_update.sql
npc_types_update.sql
dumpeditems.sql
doorupdate-03-15-04.sql
Step 1: Downloads
UPDATE: Works with 0.5.6
[1.]
MySQL 4.0.18
[2.]
EQEmu 0.5.6 --- Download EQEmu-0.5.6-Win32.zip and EQEmu-0.5.6-Configuration.zip
[3.]
testbackup.rar (this is my backup database *.sql file)
[4.]
EQEmu.missing.files.rar
Step 2: Preparing the basis
[1.] Install MySQL to c:\mysql. It will eventually ask you for an username and password -> THESE ARE IMPORTANT! WRITE THEM DOWN IF NECCESARY! Example used in this guide,
User:
MySQLuser
Pass:
MySQLpass
[2.] Extract EQEmu-0.5.6-Win32.zip, EQEmu-0.5.6-Configuration.zip and EQEmu.missing.files.rar to c:\EQEmu
EQEmu folder now contains:
Quote:
[cfg]
[documents]
[Item Editor]
addon.ini
Boot5zones.bat
db.ini
db.sql
EMuShareMem.dll
eqtime.cfg
LoginServer.ini
MiniLogin.exe
MiniLoginAccounts.ini
spells_en.txt
spells_us.txt
Update_From_0.5.2.zip
World.exe
Zone.exe
|
[3.] Copy testbackup.sql (extracted from rar) to c:\mysql\bin
[4.] Create a mysql.bat file (right click desktop > new > Text document > name it mysql.bat) and insert
Quote:
cd\mysql\bin
mysql -u root mysql
|
Always start this when you need to work with your database. Run it now and proceed to step 3.
Step 3: Creating the database
UPDATE: You can accelerate the database sourcing by doing following (thanks to Monrezz)
Quote:
Useful to create a small bat file, or when you load mysql use the following command line:
mysql -b -u root -p eq
Replace root with the username found in LoginServer.ini, and replace eq with the name of your database (usually eq). On the next line you'll be prompted for a password, enter the one in LoginServer.ini. Then when you get an error it won't beep. makes sourcing around 100,000x faster
|
Quote:
mysql> grant all privileges on *.* to MySQLuser@localhost identified by 'MySQLpass' with grant option;
Query OK, 0 rows affected (0.22 sec)
mysql> create database eq;
Query OK, 1 row affected (0.00 sec)
mysql> use eq;
Database changed
mysql> source testbackup.sql;
Query OK, 0 rows affected (0.03 sec)
. . .
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO account (id, name, charname, packencrypt, sharedplat, password,
status, lsaccount_id, gmspeed, revoked) VALUES (1, 'eqemu', '', '', 0, 'eqemu', 250, NULL, 0, 0);
Query OK, 1 row affected (0.00 sec)
mysql> exit
|
Note: INSERT INTO account (id, name, charname, packencrypt, sharedplat, password,
status, lsaccount_id, gmspeed, revoked) VALUES (1, 'eqemu',
'',
'', 0, 'eqemu', 250, NULL, 0, 0);
These are 4 single ' !!
4. Changing EQEmu settings
a)
Boot5zones.bat
Quote:
REM: ****READ THE FOLLOWING REMARKS****
REM: There are other remarks in the original file, but I want to use this space for
REM: comments. You can erase everything in your Boot5zones.bat and paste the whole quote.
REM:
REM:
REM: IMPORTANT: Delete all spaces behind every line.
REM: -> If the cursor doesn't jump into the next line when you
REM: hit the right arrow key at the end of a line, hit backspace until
REM: it reaches the last character.
REM:
REM:--------------Start-----------------------
@echo off
if NOT exist spells_us.txt goto NOSPELL
start zone . localhost 7995 localhost
start zone . localhost 7996 localhost
start zone . localhost 7997 localhost
start zone . localhost 7998 localhost
start zone . localhost 7999 localhost
exit
cls
:NOSPELL
echo You did not copy the spells_en.txt from your everquest directory to this one. Please do so or zones will crash on startup.
PAUSE
REM:---------------END------------------------
|
b)
db.ini
Quote:
[Database]
host=localhost
user=MySQLuser
password=MySQLpass
database=eq
compression=off
|
c)
LoginServer.ini
Quote:
# READ README.TXT
[LoginServer]
loginserver=localhost
loginport=5999
worldname=my minilogin test
worldaddress=localhost
locked=false
account=eqemu
password=eqemu
[WorldServer]
Defaultstatus=0
Unavailzone=
[LoginConfig]
ServerMode=Standalone
ServerPort=5999
UplinkAddress=
UplinkPort=
UplinkAccount=
UplinkPassword=
[ChatChannelServer]
ChatChannelServer=localhost
|
d)
MiniLoginAccounts.ini
IMPORTANT: You HAVE to add a space after this line:
Quote:
localhost eqemu eqemu_ <-- that's supposed to be a space
|
e)
eqhost.txt in your Everquest folder
Quote:
[Registration Servers]
{
"localhost:5999"
}
[Login Servers]
{
"localhost:5999"
}
|
IMPORTANT: The port behind localhost: has to be the same as the one in LoginServer.ini.
5. Starting the server
a) Running Minilogin.exe
Quote:
LoginServer.ini read.
MiniLoginAccounts.ini read.
Server mode: Standalone
Login server listening on port:5999
|
b) Running World.exe
Quote:
[Status] CURRENT_WORLD_VERSION:EQEMu 0.5.6
[Status] Loading variables..
[Status] Loading zones..
[Status] Loading items..
[Status] EMuShareMem loaded
[Status] Loading items from database: count=26679, max id=68199
[Status] ./LoginServer.ini read.
[Status] Loading guild ranks..
[Status] Loading ./addon.ini..
[Status] Loading EQ time of day..
[Status] Reboot zone modes ON
[Status] Deleted 0 stale player corpses from database
[Status] Deleted 0 stale player backups from database
Warning: You need to get laid...
TCP listening on: localhost:9000
World server listening on: localhost:9000
Connected to LoginServer: localhost:5999
7982 New TCP connection: 127.0.0.1:2178
New zoneserver: #1 127.0.0.1:2178
Zoneserver SetConnectInfo: 127.0.0.1:2178: localhost:7995
|
c) Running Boot5zones.bat
Quote:
[Status] CURRENT_ZONE_VERSION: EQEMu 0.5.6
[Status] Loading Variables
[Status] Loading zone names
[Status] Loading items
[Status] EMuShareMem loaded
[Status] Loading npcs
[Status] Loading NPCTypes from database...
[Status] Loading npc faction lists
[Status] Loading NPC Faction Lists from database...
[Status] Loading loot tables
[Status] Loading Loot tables from database...
[Status] Loading doors
[Status] Loading Doors from database...
[Status] FileLoadSPDat() Loading spells from ./spells_us.txt
[Status] FileLoadSPDat() spells loaded: 5020
[Status] Loading guilds
[Status] Loading factions
[Status] Loading corpse timers
[Status] Loading what ever is left
[Status] Loading commands
[Status] command_init(): Warning: Command 'help' defaulting to access level 0!
[Status] command_init(): Warning: Command 'version' defaulting to access level 0
!
[Status] command_init(): Warning: Command 'serversidename' defaulting to access
level 0!
[Status] command_init(): Warning: Command 'loc' defaulting to access level 0!
[Status] command_init(): Warning: Command 'flag' defaulting to access level 0!
[Status] command_init(): Warning: Command 'si' defaulting to access level 0!
[Status] 160 commands loaded
[Status] Entering sleep mode
Connected to worldserver: localhost:9000
|
That's it. Your server's running right now. Make a shortcut to eqgame.exe and add "patchme" without the quotes to the 'Target' line. Run it. Log in using the info user: eqemu pw: eqemu. You should see your server "my minilogin test server". Hit Start, create a character and join your world. Type "#help" in the chat line for all ServerOP commands.
You're in your world now.
Helpful links:
Troubleshooting: Various errors
Some 1017 Error being fixed
Usual 1017 Error fix
1017 Error with WinXP
If you get database errors (2006, 2003 says something about database got lost or disconnected I believe) it's often fixed by ending mysql (taskmanager, mysqlsomething-nt.exe) and mysqladmin (tray icon, next to the clock) and restarting winmysqladmin.exe in the c:\mysql\bin folder.