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-25-2018, 06:14 PM
GNUK
Fire Beetle
 
Join Date: May 2017
Posts: 4
Question Private login server issue

Hi,

Had some MSDN credits not being used so I spun up a Windows server in Azure and used Akka's Windows installer to set everything up.

The default eqeqmu_config.json works fine out of the box and I can connect via the public login server, see my server in the list, connect without issue, create a character etc.

However if I try to get the private login server working it's not going well!

First issue was the login server was reporting:

Code:
[Login Server] Logging System Init.
[Login Server] Config System Init.
[Login Server] MySQL Database Init.
[Login Server] Server Manager Initialize.
[Login Server] Client Manager Initialize.
[Login Server] Server Started.
[Login Server] New world server connection from 10.0.0.4:58649
[Error] Handle_NewLSInfo error, remote address was null, defaulting to stream address 10.0.0.4.
However after scouring the forums I found adding the address and localaddress values to the eqemu_config.json removed this error:

Code:
"world" : {
			   "address" : "10.0.0.4",
			   "localaddress" : "10.0.0.4",
Code:
[Login Server] Logging System Init.
[Login Server] Config System Init.
[Login Server] MySQL Database Init.
[Login Server] Server Manager Initialize.
[Login Server] Client Manager Initialize.
[Login Server] Server Started.
[Login Server] New world server connection from 10.0.0.4:58727
[World Server] Server GNDEV - Sandpit(GNDEV) successfully logged in.
If I point my eqhosts.txt at the external ip/dns name of the server it allows me to login and see the server available in the server select screen. However as soon as I press "Play Everquest" the client hangs and the login server reports:

Code:
[Login Server] Logging System Init.
[Login Server] Config System Init.
[Login Server] MySQL Database Init.
[Login Server] Server Manager Initialize.
[Login Server] Client Manager Initialize.
[Login Server] Server Started.
[Login Server] New world server connection from 10.0.0.4:58727
[World Server] Server GNDEV - Sandpit(GNDEV) successfully logged in.
[Login Server] New SoD client connection from <myIP>:58187
[Login Server] Application packet received from client (size 14)
[Login Server] Session ready received from client.
[Login Server] Application packet received from client (size 36)
[Login Server] Login received from client.
[Login Server] Application packet received from client (size 12)
[Login Server] Server list request received from client.
[Login Server] Application packet received from client (size 16)
[Login Server] Play received from client, server number 1 sequence 5.
[Login Server] Application packet received from client (size 12)
[Login Server] Client disconnected from the server, removing client.
I've scoured the forums and tried every fix and hack people have found, I've tried tweaking everything I can think of in the eqemu_config.json and login.ini but I cannot for the life of me find a configuration that doesn't hang the client and disconnect me from the server.

I guess it could potentially be a network/routing issue, but I'm more at home in DBA country than NetOps

JSON and INI info is below but I'd be massively grateful for any advice!

JSON:

Code:
{
     "server" : {
          "chatserver" : {
               "host" : "10.0.0.4",
               "port" : "7500"
          },
          "database" : {
               "db" : "peq",
               "host" : "localhost",
               "password" : "eqemu",
               "port" : "3306",
               "username" : "root"
          },
          "mailserver" : {
               "host" : "10.0.0.4",
               "port" : "7500"
          },
          "qsdatabase" : {
               "db" : "peq",
               "host" : "localhost",
               "password" : "eqemu",
               "port" : "3306",
               "username" : "root"
          },
          "webinterface" : {
               "port" : "9081"
          },
          "world" : {
			   "address" : "10.0.0.4",
			   "localaddress" : "10.0.0.4",
               "http" : {
                    "enabled" : "true",
                    "mimefile" : "mime.types",
                    "port" : "9080"
               },
               "key" : "<key>",
               "loginserver1" : {
                    "account" : "",
                    "host" : "login.eqemulator.net",
                    "legacy" : "1",
                    "password" : "",
                    "port" : "5998"
               },
               "loginserver2" : {
                    "account" : "<account>",
                    "host" : "10.0.0.4",
					"legacy" : "0",
                    "password" : "<password>",
                    "port" : "5998"
               },
               "longname" : "GNDEV - Sandpit",
               "shortname" : "GNDEV",
			   "locked" : "false",
               "tcp" : {
                    "ip" : "127.0.0.1",
                    "port" : "9001"
               },
               "telnet" : {
                    "enabled" : "true",
                    "ip" : "0.0.0.0",
                    "port" : "9000"
               }
          },
          "zones" : {
               "defaultstatus" : "0",
               "ports" : {
                    "high" : "7400",
                    "low" : "7000"
               }
          }
     }
}
INI:

Code:
[database]
host = localhost
port = 3306
db = peq
user = root
password = eqemu
subsystem = MySQL

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

[security]
plugin = EQEmuAuthCrypto
mode = 5

[Titanium]
port = 5998
opcodes = login_opcodes.conf

[SoD]
port = 5999
opcodes = login_opcodes_sod.conf

[schema]
account_table = loginserver_server_accounts
world_registration_table = loginserver_world_server_registration
world_admin_registration_table = loginserver_server_admin_registration
world_server_type_table = loginserver_server_list_type
Reply With Quote
  #2  
Old 02-25-2018, 10:08 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Do you have a world account setup in your 'tbl' files?

If not, try changing:
Code:
unregistered_allowed = FALSE
to TRUE.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #3  
Old 02-25-2018, 10:08 PM
kokey98
Hill Giant
 
Join Date: Dec 2012
Location: terra firma
Posts: 131
Default

what's different from my files is below the first bit here.

i did two possible things that made mine load up after the json conversion... one was to change 'localhost' to a numerical ip address 127.0.0.1 for any relevant address.

i also *may* have had my vpn on at that time too. that messes with my local ip. it very well could have just been this, but super easy to try it and fail with little effort.

i assume you have an account and password setup for local login server since there are <> tages in your post? if not remove <account> etc if there is none.

differences in login.ini -- unregistered allowed is true for mine. and auto-create accounts is true. only relevant if you overlooked... if dont on purpose, nm.

if it's not public, remove the login.eqemulator.net. simpler is better.

oh legacyt mode... make sure only for login.eqemulator... if loginserver is new source don't have that tag active for it or paste it in there.

one other portion looks different
"tcp" : {
"ip" : "127.0.0.1",
"port" : "9000",
"telnet" : "enable"
}
i don't have 'telent' in it's own brackets like you. port is differnt... leads to - double check firewall rules for open ports.

i'v also been having this random problem logging into servers on the emulator loginserver. i have not tried my home server, lately. i just got kicked in the same fashion as you describe 4-5 times in a row.. i spaced it out, so it wasn't a timeout or spamming server.

crash report each time. been happening off and on alot lately. usually after 1 time it starts working. today, not so much.
Reply With Quote
  #4  
Old 02-26-2018, 05:20 PM
GNUK
Fire Beetle
 
Join Date: May 2017
Posts: 4
Default

Quote:
Originally Posted by Uleat View Post
Do you have a world account setup in your 'tbl' files?

If not, try changing:
Code:
unregistered_allowed = FALSE
to TRUE.
Thanks Uleat. I have loginserver_server_admin_registration and loginserver_world_server_registration populated properly and I can see the World Server process logs in OK (credentials in the json match the table values).

Tried setting unregistered_allowed back to true but still disconnects the client when connecting via private login server.
Reply With Quote
  #5  
Old 02-26-2018, 05:37 PM
GNUK
Fire Beetle
 
Join Date: May 2017
Posts: 4
Default

Quote:
Originally Posted by kokey98 View Post
what's different from my files is below the first bit here.

i did two possible things that made mine load up after the json conversion... one was to change 'localhost' to a numerical ip address 127.0.0.1 for any relevant address.

i also *may* have had my vpn on at that time too. that messes with my local ip. it very well could have just been this, but super easy to try it and fail with little effort.

i assume you have an account and password setup for local login server since there are <> tages in your post? if not remove <account> etc if there is none.

differences in login.ini -- unregistered allowed is true for mine. and auto-create accounts is true. only relevant if you overlooked... if dont on purpose, nm.

if it's not public, remove the login.eqemulator.net. simpler is better.

oh legacyt mode... make sure only for login.eqemulator... if loginserver is new source don't have that tag active for it or paste it in there.

one other portion looks different
"tcp" : {
"ip" : "127.0.0.1",
"port" : "9000",
"telnet" : "enable"
}
i don't have 'telent' in it's own brackets like you. port is differnt... leads to - double check firewall rules for open ports.

i'v also been having this random problem logging into servers on the emulator loginserver. i have not tried my home server, lately. i just got kicked in the same fashion as you describe 4-5 times in a row.. i spaced it out, so it wasn't a timeout or spamming server.

crash report each time. been happening off and on alot lately. usually after 1 time it starts working. today, not so much.
Thanks kokey98.

I should have mentioned anything yellow in brackets was sensitive info that was removed, that isn't what is in the actual file.

I've updated any references to localhost in the json to 127.0.0.1, removed the "legacy" : "0" and tried merging the telnet details into the other settings but the issue remains.
Reply With Quote
  #6  
Old 02-26-2018, 05:55 PM
GNUK
Fire Beetle
 
Join Date: May 2017
Posts: 4
Default

Maybe it is networking that is the issue. The initial connection seems to work and login server reports the connection and presents the server list, just the handover to whatever happens when you hit "Play Everquest" that seems to be the stumbling block.

I nabbed the Azure config from the Wiki (http://wiki.eqemulator.org/p?Hosting...Azure&frm=Main) assuming that it's still accurate.

I've left most settings pretty relaxed for testing, not restricting incoming connections to any particular IP range or anything.

Azure NSG settings:

Code:
Name                     : EQEMU
Protocol                 : UDP
SourcePortRange          : *
DestinationPortRange     : 5998,5999,9000,9001,7000-7100
SourceAddressPrefix      : *
DestinationAddressPrefix : *
Access                   : Allow
Direction                : Inbound
Windows Firewall settings:

Code:
DisplayName                             Enabled Direction Action
-----------                             ------- --------- ------
EQEmu Loginserver (SOD+) (5999) TCP        True   Inbound  Allow
EQEmu Loginserver (SOD+) (5999) UDP        True   Inbound  Allow
EQEmu Loginserver (Titanium) (5998) TCP    True   Inbound  Allow
EQEmu Loginserver (Titanium) (5998) UDP    True   Inbound  Allow
EQEmu World (9000) TCP                     True   Inbound  Allow
EQEmu World (9000) UDP                     True   Inbound  Allow
EQEmu World (9001) TCP                     True   Inbound  Allow
EQEmu World (9001) UDP                     True   Inbound  Allow
EQEmu Zones (7000-7500) TCP                True   Inbound  Allow
EQEmu Zones (7000-7500) UDP                True   Inbound  Allow
Any other suggestions? Would love to crack this as it seems like it should be possible!
Reply With Quote
  #7  
Old 02-26-2018, 10:02 PM
kokey98
Hill Giant
 
Join Date: Dec 2012
Location: terra firma
Posts: 131
Default

honestly, i'm scared to try mine now, lol. i'll edit this in a sec.. have to plop off vpn and it kills firefox process when i do it... once done online i'll go check it.

like i said, i've bene locked out of a server i've been playing lately and the behaviour is exactly the same. i haven't tried to troubleshoot it yet.

edit:

okay, it loaded up my issue is with the particular server, i guess. but it crashes after the character select, shows a few messages, bar fill to full blue etc.. then frozing screen until shows crash report window.

oh i don't use the libsodium because it's not accessible outside my lan.. potential difference of note. i don't know how to add the text input fields, so i'll just paste it below:

**************************eqemu_config.json******* *******************
{
"server" : {
"chatserver" : {
"host" : "",
"port" : "7500"
},
"database" : {
"db" : "peq",
"host" : "127.0.0.1",
"password" : "",
"port" : "3306",
"username" : ""
},
"mailserver" : {
"host" : "",
"port" : "7500"
},
"qsdatabase" : {
"db" : "peq",
"host" : "127.0.0.1",
"password" : "",
"port" : "3306",
"username" : ""
},
"world" : {
"http" : {
"enabled" : "true",
"mimefile" : "mime.types",
"port" : "9080"
},
"key" : "...",
"loginserver1" : {
"account" : "",
"host" : "127.0.0.1",
"password" : "",
"port" : "5998"
},
"longname" : "PocketEQ",
"shortname" : "PocketEQ",
"tcp" : {
"ip" : "127.0.0.1",
"port" : "9000",
"telnet" : "enable"
}
},
"zones" : {
"defaultstatus" : "200",
"ports" : {
"high" : "7100",
"low" : "7000"
}
}
}
}
**************************END eqemu_config.json**************************
not saying that's 100% kosher, but it does work. minor edits, not even sure in my situatioon i need those ports open.. lol hope i'm not leaving a door open. i kill all sql/apache/eq related services unless it's actually in use and rarely in use. i'll make a thread one of these days to make sure.

edit: as i look at that above, is there an extra bracket, lol... don't feel like counting.

****** login.ini **************
[database]
host = localhost
port = 3306
db = peq
user =
password =
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.51
auto_create_accounts = TRUE

[security]
plugin = EQEmuAuthCrypto
mode = 5

[Titanium]
port = 5998
opcodes = login_opcodes.conf

[SoD]
port = 5999
opcodes = login_opcodes_sod.conf

[schema]
account_table = loginserver_server_accounts
world_registration_table = loginserver_world_server_registration
world_admin_registration_table = loginserver_server_admin_registration
world_server_type_table = loginserver_server_list_type
******End login.ini **************

Same comment as above.

re-read the install wiki, make sure it's not some simple file that needs to be moved etc.. somethign easily overlooked.

think i'm deciding turning windows search off right now. anyway there are some ini files outside the main server directories that may need attending to... although if oyu used the isntaller, very probably not. i did manual and remember having to comment somethign out and remove a comment for apache 2.4+ etc then mysql.ini, um.. turning on somethign in there that i've forgotten since. (just removing a "#" comment i believe too). long preamble or similar symantics? had to do with what it was tolerant of or not tolerant of. Installer wouldn't make mistakes here.

edit: best answer: just re-do the installer... remove all, maybe make backup if unsure of dB etc.. if you haven't made any mass customizations that can't be re-implemented of course. you can do it in a modular way...maybe try just new binaries first through eq server management.pl, then a new dB after that. if still no go, delete it all and start fresh.
Reply With Quote
  #8  
Old 02-27-2018, 03:13 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

Usually when your getting the server in the server list and it kicks you back to login when you hit play it means 1 of 2 things.

1. Your firewall settings in your router/modem aren't allowing the zone connections through.
2. Your IP Settings in the eqemu.config aren't correct.
Also logging into the server using your private login from the same network the servers on won't test the connection because its not having to go through the firewall, Just as an FYI.
__________________
__________________
Supernova - GM/Developer
"Secrets of Faydwer"
Reply With Quote
  #9  
Old 02-27-2018, 06:43 PM
kokey98
Hill Giant
 
Join Date: Dec 2012
Location: terra firma
Posts: 131
Default

i missed a note you had about eqhost.txt.

should be "127.0.0.1xxx" xxxx- 5999 or 5998 depending on client.

(not in the eqmu json config! that's 5998 always, i believe - w/e wiki says)

for public login it requires the legacy=1. a private, newly compiled, loginserver is legacy=0, which i think is 'default' but double check that or just plop them in accordingly. if it's an old compiled loginserver.exe use =1. you'd have to check changelog for the horizon.

i've eliminated other possible causes of my problem and i'm done to 1 culprit - mq2 (statement, not request for help) and only for 1 toon on 1 server - other toons on that server work. it's allowed and i have no warp capabilities possible. plus, pretty sure i misread when the problem was occuring in the original post... i thought it was in character select screen and clicking "enter world" - so not related. sorry if that morsel wasted any time.

since you have likely 'done' a few things.. each time you do 1 more thing it's a higher % you compound the problem or make it more difficult to troubleshoot or undo or plain screw it up in a 2nd+ way. when you are 100% frustrated, start fresh.

good luck, hope it ends well.
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 07:42 PM.


 

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