Scenario:
1: Start server.bat
Code:
@echo off
start EQEmuLoginServer.exe
start world.exe
echo waiting for the world to finish before starting zone...
sleep 10
start eqlaunch zone
2: Wait till servers are all running.
3: Launch "D:\EverQuest\eqgame.exe patchme"
4: Log in, using account specified in MySQL
Code:
INSERT INTO `account` (`id`, `name`, `charname`, `sharedplat`,
`password`, `status`, `lsaccount_id`, `gmspeed`, `revoked`, `karma`,
`minilogin_ip`, `hideme`, `rulesflag`, `suspendeduntil`) VALUES
(1, 'Iskat', '', 0, 'my_password', 250, NULL, 0, 0, 0, '127.0.0.1',
0, 0, '0000-00-00 00:00:00');
5: Discard error/crash message of EQEmuLoginServer.exe
6: Exit EverQuest from empty/blank server select screen.
7: Scratch head cluelessly as to what is being done wrong.
System details:
OS: Windows Server 2003 x64 R2 Enterprise
Processor: i7 @ 3.2GHz
RAM: 6GB DDR3
SWAP: 24GB on a dedicated SSD
Error message:
Quote:
Microsoft Visual C++ Debug Library
Debug Error!
Program: I:\EQEmu\EQEmuLoginServer.exe
HEAP CORRUPTION DETECTED: after Noprmal block (#566) at 0x0073A1D8
CRT detected that the application wrote to memory after end of heap buffer.
(Press Retry to debug the application)
[Abort] [Retry] [Ignore]
|
eqemulogin.ini
Code:
Port=5999
DumpPacketsIn=true
DumpPacketsOut=true
Trace=false
DatabaseServerName=127.0.0.1
DatabaseCatalogName=peq
DatabaseUserName=root
DatabaseUserPassword=xxx
OPCodePathAndFileName=login_opcodes.conf
eqemu_config.xml
Code:
<?xml version="1.0">
<server>
<world>
<shortname>Vasadise</shortname>
<longname>The Memory of Vasadise</longname>
<!-- Only specify these two if you really think you need to. (read: You don't) -->
<!-- <address>everquest.homelinux.net</address> -->
<!-- <localaddress>192.168.1.103</localaddress> -->
<!-- Loginserver information. Defaults shown -->
<loginserver>
<host>everquest.homelinux.net</host>
<port>5999</port>
<account>Vasadise</account>
<password>xxx</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="localhost" port="9000" telnet="disable"/>
<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>NRKP3</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>localhost</host>
<port>3018</port>
</chatserver>
<!-- Mailserver (in-game mail) information. Defaults shown -->
<mailserver>
<host>everquest.homelinux.net</host>
<port>3018</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>127.0.0.1</host>
<port>3306</port>
<username>root</username>
<password>xxx</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>
Directory listing for EQEmu Server bin files. (I:\EQEmu)
Code:
bash$ cd I:/EQEmu
bash$ ls -l
total 19083
-rwxrwxrwx 1 user group 1851904 Aug 31 17:04 Chatserver.exe
-rw-rw-rw- 1 user group 187904 Aug 31 17:04 EMuShareMem.dll
-rw-rw-rw- 1 user group 287232 Aug 31 06:32 EQEmuAuthCrypto.dll
-rwxrwxrwx 1 user group 1453056 Jul 14 2009 EQEmuLoginServer.exe
drwxrwxrwx 1 user group 0 Aug 31 16:55 Maps
-rwxrwxrwx 1 user group 2793472 Aug 31 17:05 World.exe
-rwxrwxrwx 1 user group 5452800 Aug 31 17:08 Zone.exe
-rw-rw-rw- 1 user group 306714 Jul 9 10:05 changelog.txt
-rw-rw-rw- 1 user group 0 Aug 31 06:42 commands.pl
-rw-rw-rw- 1 user group 120 Jun 15 2009 compatible_content.txt
-rw-rw-rw- 1 user group 2333 Sep 1 04:10 eqemu_config.xml
-rw-rw-rw- 1 user group 211 Sep 1 02:24 eqemulogin.ini
-rw-rw-rw- 1 user group 688 Aug 31 23:27 eqemulogin2.ini
-rwxrwxrwx 1 user group 138240 Aug 31 12:54 eqlaunch.exe
-rw-rw-rw- 1 user group 36 Sep 1 04:22 eqtime.cfg
-rw-rw-rw- 1 user group 0 Aug 31 06:42 log.ini
-rw-rw-rw- 1 user group 298 Aug 31 06:42 login_opcodes.conf
-rw-rw-rw- 1 user group 298 Aug 31 06:42 login_opcodes_sod.conf
drwxrwxrwx 1 user group 0 Aug 31 23:49 logs
-rw-rw-rw- 1 user group 300 Aug 31 06:42 mail_opcodes.conf
-rw-rw-rw- 1 user group 1077 Aug 31 06:42 mime.types
-rw-rw-rw- 1 user group 16690 Aug 31 06:42 opcodes.conf
-rw-rw-rw- 1 user group 17669 Aug 31 06:42 patch_6.2.conf
-rw-rw-rw- 1 user group 16596 Aug 31 06:42 patch_Anniversary.conf
-rw-rw-rw- 1 user group 17664 Aug 31 06:42 patch_Live.conf
-rw-rw-rw- 1 user group 17486 Aug 31 06:42 patch_SoD.conf
-rw-rw-rw- 1 user group 21919 Aug 31 06:42 patch_SoF.conf
-rw-rw-rw- 1 user group 18406 Aug 31 06:42 patch_Titanium.conf
-rw-rw-rw- 1 user group 0 Aug 31 06:42 plugin.pl
drwxrwxrwx 1 user group 0 Aug 31 17:02 plugins
drwxrwxrwx 1 user group 0 Aug 31 17:02 quests
-rw-rw-rw- 1 user group 2149759 Oct 17 2005 spells_en.txt
-rw-rw-rw- 1 user group 4772239 Oct 28 2005 spells_us.txt
-rwxrwxrwx 1 user group 169 Sep 1 04:07 start_server.bat
drwxrwxrwx 1 user group 0 Aug 31 16:55 templates
-rw-rw-rw- 1 user group 0 Aug 31 06:42 worldui.pl
bash$
MySQL Server Settings
Code:
# The following options will be passed to all MySQL clients
[client]
# password = your_password
port = 3306
socket = "I:/mysql/mysql.sock"
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port= 3306
socket= "I:/mysql/mysql.sock"
basedir="I:/mysql"
tmpdir="I:/tmp"
datadir="I:/mysql/data"
skip-locking
key_buffer = 512M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
#Time Outs
interactive_timeout = 100
wait_timeout = 100
connect_timeout = 10
# Maximum connections allowed
max_connections = 500
max_user_connections = 50
max_connect_errors = 10
# commented in by lampp security
#skip-networking
# Disable Federated by default
skip-federated
# Replication Master Server (default)
# binary logging is required for replication
# log-bin deactivated by default since XAMPP 1.4.11
#log-bin=mysql-bin
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1
# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000
# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = "I:/mysql/"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "I:/mysql/"
innodb_log_arch_dir = "I:/mysql/"
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
I don't think there's any more detailed information I can really provide. This is my second time using EQEmuLoginServer, the second time having this exact issue, and the second time asking for help for it, I don't want to go back to minilogin for a second time either, because building a php-sql script to update user's IP's to be allowed to log in is a pain in the ass for that user.