Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 02-10-2018, 05:28 PM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default Install Issue: World starts in Down status

Hi everyone,

I used to play with EQEmu a lot several many ago (around the 2009 timeframe or so). I just recently got the urge to setup my own private server for internal use (i.e. not exposing anything to the internet) and am trying to do a fresh install. I see many things have evolved since the last time I looked at EQEmu (for one, MiniLogin appears to be no more) so it took me a bit to get a feel for the new state of things but I think I have it down for the most part. However, I’m still having issues getting my install working.

I have everything installed and all of the EXE processes load just like I remember they used to, but as soon as I login with the EQ Client (SoD) I see my server but it's always in a Down state. The logging output from the LoginServer process indicates the client connected and authenticated properly, though an earlier log message indicates my World server “didn't attempt to login but unregistered clients are allowed.” No matter what I try I can't get past this step, after multiple attempts at a fresh install and configure.

For every install I've attempted, I'm using VirtualBox to create a VM for the EQEmu server and all related parts. I've tried doing the install in the following ways:

1. Windows 10 x64, build EQEmu from source, using XAMPP to install perl
2. Windows 10 x64, build EQEmu from source, installing perl directly via perl installer
3. Windows 10 x64, using the Windows installer found here - https://github.com/EQEmu/Server#-windows
4. Windows 10 x86, build EQEmu from source, installing perl directly via perl installer
5. Windows 7 x64, build EQEmu from source, installing perl directly via perl installer
6. Windows 7 x86, build EQEmu from source, installing perl directly via perl installer

Build notes:

* For each attempt I built a new VM Guest from scratch and installed the OS fresh.
* For each dependency I've worked to install the exact version of each component as specified in the Windows install guide (ActivePerl 5.12.3.1.1204, MySQL 5.1.73).
* I tried both 64 and 32 bit versions of both Windows 10 and 7 to rule out any issues due to Windows version or the CPU architecture.
* The host machine is an Intel core i7 2600 setup with 32GB RAM and SSD storage for host and guest. Not the latest and greatest but more than powerful enough to host a server
* The VM Guest is connected to the Host via the "Bridged Network" option in VirtualBox, which means it is seen as another device by my home router and gets its own IP address and can communicate with other devices outside the host.
* I've disabled Windows Firewall on the guest to prevent access issues, and confirmed via ping that the guest can communicate with the host over IPv4, and the host can do the same with the guest.

I've dug through the various config files trying various things and nothing resolves it. The only thing I have yet to try is installing directly on the host and not using a VM at all but I'd really prefer not to. My machine already has a bunch of software installed that I use for work so I was hoping to keep everything within a VM (except for the EQ Client of course) to keep everything nicely segregated.

Resources used to perform the build process:

• Windows Install guide on wiki (http://wiki.eqemulator.org/p?Complet...Guide&frm=Main)
• Private Login Server setup guide (http://wiki.eqemulator.org/p?Windows...Guide&frm=Main)

I’ve probably spent 15 hours or so on this throughout the last 2 weeks trying to get it working and I’m really out of ideas at this point. Hoping that someone here with more knowledge of the server can determine the problem as it feels like there’s probably something simple that I’m just missing. I will attach my configuration files for review but please let me know if you need anything else.

Appreciate any help anyone can offer

P.S. For background, I’m a professional software engineer by day (13 years’ experience) so none of these technologies (C++, perl, MySQL) are foreign to me. It’s been about 10 years since I touched C++ or perl on a regular basis so I’m a bit rusty on those, but I can follow the source code fairly well to see what it’s doing.
Reply With Quote
  #2  
Old 02-10-2018, 05:32 PM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default eqemu_config.json

NOTE: I've obfuscated the password here but it is properly set within my config file

Code:

{
	"server": {
		"zones": {
			"defaultstatus": "20",
			"ports": {
				"low": "7000",
				"high": "7100"
			}
		},
		"database": {
			"password": "<my pwd>",
			"db": "peq",
			"host": "127.0.0.1",
			"port": "3306",
			"username": "root"
		},
		"world": {
			"shortname": "DW",
			"longname": "D's World",
			"address": "192.168.0.8",
			"localaddress": "127.0.0.1",
			"loginserver": {
				"password": "",
				"host": "127.0.0.1",
				"port": "5998",
				"account": ""
			},
			"tcp": {
				"port": "9000",
				"telnet": "disable",
				"ip": "192.168.0.8"
			},
			"key": "some long random string",
			"http": {
				"mimefile": "mime.types",
				"port": "9080",
				"enabled": "false"
			}
		},
		"mailserver": {
			"host": "127.0.0.1",
			"port": "7778"
		},
		"chatserver": {
			"host": "127.0.0.1",
			"port": "7778"
		},
		"qsdatabase": {
			"host": "127.0.0.1",
			"port": "3306",
			"username": "root",
			"password": "<my pwd>",
			"db": "peq"
		}
	}
}
Reply With Quote
  #3  
Old 02-10-2018, 05:33 PM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default login.ini

Note: The VM's IP address on the network is 192.168.0.8

Code:

[database]
host = 127.0.0.1
port = 3306
db = peq
user = root
password = <my pwd>
subsystem = MySQL

[options]
unregistered_allowed = TRUE
reject_duplicate_servers = FALSE
trace = TRUE
world_trace = FALSE
dump_packets_in = FALSE
dump_packets_out = FALSE
listen_port = 5998
local_network = 192.168.0.

[security]
plugin = EQEmuAuthCrypto
mode = 5

[Titanium]
port = 5998
opcodes = login_opcodes.conf

[SoD]
port = 5999
opcodes = login_opcodes_sod.conf

[schema]
account_table = tblLoginServerAccounts
world_registration_table = tblWorldServerRegistration
world_admin_registration_table = tblServerAdminRegistration
world_server_type_table = tblServerListType
Reply With Quote
  #4  
Old 02-10-2018, 05:37 PM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default

A few additional notes:

* wget.exe was located in the server folder, but I had to manually add it to the PATH variable in Windows (guide didn't specify that)
* The guide mentioned pulling in the lua51.dll into the main server folder, which I did, but the first time I ran the server it complained about not having the other dependency dll files used during compile, so I copied the dll files for the other dependencies in there as well (libsodium, mysql, openssl,zlib)
Reply With Quote
  #5  
Old 02-10-2018, 06:29 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Running eqemu_server.pl manually gives you an option to pull in the required dlls and I'll pretty sure those are all 32-bit builds.

Have you checked the logs for issues?


EDIT: You're completely offline, I take it? That first line won't help...
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #6  
Old 02-10-2018, 10:36 PM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default

Sorry, not completely offline. The VM has full access to the internet, I'm simply not publishing the EQEmu server to the public loginserver so that's what I mean't by offline.

Log files were the first thing I looked at but unfortunately the log files didn't have many entries in them. The logs folder has 4 logs in it

* query_server_3660 - empty
* zone-dynamic_01 - empty
* ucs_6000.log:

Code:
[02-10-2018 :: 15:03:59] [UCS Server] Loaded default rule set 'default'
* world_4536.log:

Code:
[02-10-2018 :: 15:03:54] [World Server] Checking Database Conversions..
[02-10-2018 :: 15:03:55] [World Server] Loading variables..
[02-10-2018 :: 15:03:55] [World Server] Loading zones..
[02-10-2018 :: 15:03:55] [World Server] Clearing groups..
[02-10-2018 :: 15:03:55] [World Server] Clearing raids..
[02-10-2018 :: 15:03:55] [World Server] Clearing inventory snapshots..
[02-10-2018 :: 15:03:55] [World Server] Loading items..
[02-10-2018 :: 15:03:55] [World Server] Loading skill caps..
[02-10-2018 :: 15:03:55] [World Server] Loading guilds..
[02-10-2018 :: 15:03:55] [World Server] Loaded default rule set 'default'
[02-10-2018 :: 15:03:55] [World Server] Loading EQ time of day..
[02-10-2018 :: 15:03:55] [World Server] Loading launcher list..
[02-10-2018 :: 15:03:55] [World Server] Reboot zone modes OFF
[02-10-2018 :: 15:03:55] [World Server] Deleted 0 stale player corpses from database
[02-10-2018 :: 15:03:55] [World Server] Loading adventures...
[02-10-2018 :: 15:03:55] [World Server] Purging expired instances
[02-10-2018 :: 15:03:55] [World Server] Loading char create info...
[02-10-2018 :: 15:03:55] [World Server] Server (TCP) listener started.
[02-10-2018 :: 15:04:00] [World Server] New Launcher connection from c0fe6e90-233a-4f27-b365-d12f5cddb555 at 127.0.0.1:50299
[02-10-2018 :: 15:04:00] [World Server] New UCS Server connection from aa41e416-bcb2-415f-bffd-1c5a5aa27853 at 127.0.0.1:50301
[02-10-2018 :: 15:04:00] [World Server] New Query Server connection from 217f4acb-2b14-4588-8f5a-468082b46ee0 at 127.0.0.1:50300
[02-10-2018 :: 15:36:48] [World Server] Removed Query Server connection from 217f4acb-2b14-4588-8f5a-468082b46ee0
[02-10-2018 :: 15:36:49] [World Server] Removed Query Server connection from aa41e416-bcb2-415f-bffd-1c5a5aa27853
[02-10-2018 :: 15:36:49] [World Server] Caught signal 2
[02-10-2018 :: 15:36:49] [World Server] World main loop completed.
[02-10-2018 :: 15:36:49] [World Server] Shutting down zone connections (if any).
[02-10-2018 :: 15:36:49] [World Server] Zone (TCP) listener stopped.
[02-10-2018 :: 15:36:49] [World Server] Signaling HTTP service to stop...
Nothing in there seems to indicate any problems as far as I can tell.
Reply With Quote
  #7  
Old 02-10-2018, 10:51 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Someone else recently posted an issue with only being to log in with a GM account.

Have you tried giving a user account status and logging in?

If you can get in that way, it definitely means your world server is in a 'locked' condition rather than 'not working.'


EDIT:

Odd... signal '2' is the result of a 'called' shutdown it seems.

I see 3 possible calls for that signal in project 'world' and not seeing anything in your log to indicate a malfunction just yet.


EDIT2:

Quote:
[02-10-2018 :: 15:04:00] [World Server] New Query Server connection from 217f4acb-2b14-4588-8f5a-468082b46ee0 at 127.0.0.1:50300
[02-10-2018 :: 15:36:48] [World Server] Removed Query Server connection from 217f4acb-2b14-4588-8f5a-468082b46ee0
My world logs have zone server connections between those two entries.
__________________
Uleat of Bertoxxulous

Compilin' Dirty

Last edited by Uleat; 02-10-2018 at 11:03 PM..
Reply With Quote
  #8  
Old 02-11-2018, 12:01 AM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default

Sorry for the confusion, I included the entire log file (which is very little) so it looks like everything listed happened all at once. The signal 2 happens about 30 minutes after the initial startup. I used ctrl+c to kill all 5 processes so that's what caused that.

I'll try creating a GM account directly in the DB and see if that works and let you know.
Reply With Quote
  #9  
Old 02-11-2018, 12:12 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Code:
			"address": "192.168.0.8",
			"localaddress": "127.0.0.1",
Try changing all ip address to "192.168.0.8" with the exception of database and qsdatabase.

Your login.ini file looks correct - if that hasn't changed since your posting.

That should allow all LAN clients to login to your server and just forego any port-forwarding for a non-public server.

That setup guide pretty much assumes you're always going to use the public login server.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #10  
Old 02-11-2018, 01:55 AM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default

Tried that but still no go :/

Updated world.log (pretty much the same thing)

Code:
[02-10-2018 :: 23:55:17] [World Server] Checking Database Conversions..
[02-10-2018 :: 23:55:17] [World Server] Loading variables..
[02-10-2018 :: 23:55:17] [World Server] Loading zones..
[02-10-2018 :: 23:55:17] [World Server] Clearing groups..
[02-10-2018 :: 23:55:17] [World Server] Clearing raids..
[02-10-2018 :: 23:55:17] [World Server] Clearing inventory snapshots..
[02-10-2018 :: 23:55:17] [World Server] Loading items..
[02-10-2018 :: 23:55:17] [World Server] Loading skill caps..
[02-10-2018 :: 23:55:17] [World Server] Loading guilds..
[02-10-2018 :: 23:55:17] [World Server] Loaded default rule set 'default'
[02-10-2018 :: 23:55:17] [World Server] Loading EQ time of day..
[02-10-2018 :: 23:55:17] [World Server] Loading launcher list..
[02-10-2018 :: 23:55:17] [World Server] Reboot zone modes OFF
[02-10-2018 :: 23:55:17] [World Server] Deleted 0 stale player corpses from database
[02-10-2018 :: 23:55:17] [World Server] Loading adventures...
[02-10-2018 :: 23:55:18] [World Server] Purging expired instances
[02-10-2018 :: 23:55:18] [World Server] Loading char create info...
[02-10-2018 :: 23:55:18] [World Server] Server (TCP) listener started.
[02-10-2018 :: 23:55:22] [World Server] New Launcher connection from 108265b2-3085-4ccc-b7cf-22f1cb92c3f3 at 127.0.0.1:49205
[02-10-2018 :: 23:55:22] [World Server] New UCS Server connection from 71481041-cb69-4f69-ac3f-c0db5b8c70d2 at 127.0.0.1:49207
[02-10-2018 :: 23:55:22] [World Server] New Query Server connection from c971299a-c99f-4857-ba5d-d1918cc55b00 at 127.0.0.1:49206
Updated eqemu_config.json with IP address changes.

Code:
{
	"server": {
		"zones": {
			"defaultstatus": "20",
			"ports": {
				"low": "7000",
				"high": "7100"
			}
		},
		"database": {
			"password": "abc123",
			"db": "peq",
			"host": "127.0.0.1",
			"port": "3306",
			"username": "root"
		},
		"world": {
			"shortname": "DW",
			"longname": "D's World",
			"address": "192.168.0.8",
			"localaddress": "192.168.0.8",
			"loginserver": {
				"password": "",
				"host": "192.168.0.8",
				"port": "5998",
				"account": ""
			},
			"tcp": {
				"port": "9000",
				"telnet": "disable",
				"ip": "192.168.0.8"
			},
			"key": "some long random string",
			"http": {
				"mimefile": "mime.types",
				"port": "9080",
				"enabled": "false"
			}
		},
		"mailserver": {
			"host": "192.168.0.8",
			"port": "7778"
		},
		"chatserver": {
			"host": "192.168.0.8",
			"port": "7778"
		},
		"qsdatabase": {
			"host": "127.0.0.1",
			"port": "3306",
			"username": "root",
			"password": "abc123",
			"db": "peq"
		}
	}
}
Didn't change anything in the login.ini

I'm wondering if maybe something has changed since the guide was written? Maybe it needs a newer version of MySql and/or perl? My programmer head is sitting here spinning trying to think of what could have changed
Reply With Quote
  #11  
Old 02-11-2018, 02:18 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Pretty sure all dependencies that existed at least 3 years ago haven't changed in that time.


When you start your server, do you have 4 or 5 windows up?

With login server, you should have 5.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #12  
Old 02-11-2018, 12:34 PM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default

Yep have all 5 windows. Here's a screenshot - https://drive.google.com/file/d/1MUn...ew?usp=sharing

Not a whole lot of output in any of them or anything indicating a problem
Reply With Quote
  #13  
Old 02-11-2018, 12:48 PM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default

One additional clue. I tried installing SoD client on the VM itself and connecting that way just to rule out any cross VM/host boundary issues...it opens and I get to the login screen but once I enter the password it just sits there.
Reply With Quote
  #14  
Old 02-12-2018, 03:16 AM
revan553
Fire Beetle
 
Join Date: Feb 2018
Posts: 11
Default

Happy to report that I've resolved the issue

Here's what got me across the finish line:

* Decided that looking for more detailed logging was going to be the solution to my problems
* Read the wiki page by Akkadius about the new logging system
* Updated all the relevant logs to level 3
* Eventually saw in world.exe that the zone kept going back and forth between started and stopped
* tried launching zone.exe manually, after which it popped up an error window about missing DLL MSVCR100.dll.
* Tracked that down to the fact that the Visual c++ redistributable package needed to be installed. Installed, restated VM and voila evertyhing launched properly.
* Launched client from the host machine and server was in an UP state. Logged in and created a character successfully.

Thanks for all your help.

I'm curious what step of the install guide I missed that resulted in the VC redist packages not being installed? I did install Visual Studio 2017, though I only installed the C++ module. Did I miss part of the guide where it mentioned to install them, or do we need to add that bit. Perhaps it's my fault since the Windows 7 VM I've created is from an ISO from 2012 and I haven't run the hours of windows updates on it yet.
Reply With Quote
  #15  
Old 02-13-2018, 12:35 AM
Darkscis
Sarnak
 
Join Date: Mar 2015
Posts: 62
Default

I don't believe the install guide mentions VC redist's. I think it's just knowledge you need to have from countless hours of installing custom packages. Should probably be added at some stage though.

Problem is, the version of VC redist you need is going to depend on whether you compile yourself or download pre-compiled; and version of Visual Studio you use.
Reply With Quote
Reply

Thread Tools
Display Modes

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 05:09 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