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