EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Config Issue, need some help :/ (https://www.eqemulator.org/forums/showthread.php?t=41350)

monteros 05-18-2017 02:40 PM

Config Issue, need some help :/
 
I am having a problem with my "local" login server, it was installed via Akkas' installer. It accepts logins, but doesn't show any servers in the "Server Select" window. Any thoughts on why the local world server wouldnt register with my local login server?

Thanks a ton!

Code:

<?xml version="1.0">
<server>
        <world>
               
                <shortname>CV</shortname>
                <longname>[CV] Crypic Virtue: Luclin</longname>


                <loginserver1>
                        <legacy>1</legacy>
                        <host>login.eqemulator.net</host>
                        <port>5998</port>
                        <account>anotherID</account>
                        <password>anotherPWD</password>
                </loginserver1>
                <loginserver2>
                        <host>127.0.0.1</host>
                        <port>5998</port>
                        <account>someID</account>
                        <password>somePWD</password>
                </loginserver2>


                <tcp ip="127.0.0.1" port="9001"/>
                <telnet ip="0.0.0.0" port="9000" enabled="true"/>

                <key>WXhTCfGCjNAW2SwEW0FIiuaNVMhQHHQ</key>

                <http port="9080" enabled="true" mimefile="mime.types" />
        </world>

        <chatserver>
                <host></host>
                <port>7500</port>
        </chatserver>

        <mailserver>
                <host></host>
                <port>7500</port>
        </mailserver>

        <zones>
        <defaultstatus>0</defaultstatus>

        <ports low="7000" high="7400"/>
        </zones>

        <database>
          <host>localhost</host>
          <port>3306</port>
          <username>root</username>
          <password>eqemu</password>
          <db>peq</db>
        </database>       

        <qsdatabase>
          <host>localhost</host>
          <port>3306</port>
          <username>root</username>
          <password>eqemu</password>
          <db>peq</db>
        </qsdatabase>

        <webinterface>
                <port>9081</port>
        </webinterface>

        <launcher>
        </launcher>

        <files>
        </files>
        <directories>
        </directories>
</server>

login.ini
Code:

[database]
host = localhost
port = 3306
db = peq
user = root
password = eqemu
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 = 127.0.0.1
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


Tamian 05-19-2017 01:43 AM

Please post the output of the "loginserver" window

monteros 05-19-2017 05:48 PM

Quote:

Originally Posted by Tamian (Post 254669)
Please post the output of the "loginserver" window

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 127.0.0.1:51492
[Error] Handle_NewLSInfo error, remote address was null, defaulting to stream ad
dress 127.0.0.1.
[World Server] Server ![CV] Crypic Virtue: Luclin(CV) attempted to log in but ac
count and password did not match the entry in the database.
[Login Server] New SoD client connection from 10.90.1.1:52409
[Login Server] Application packet received from client (size 14)
[Login Server] Session ready received from client.
[Login Server] Application packet received from client (size 44)
[Login Server] Login received from client.
[Login Server] Application packet received from client (size 12)
[Login Server] Server list request received from client.


Tamian 05-19-2017 08:18 PM

So, I recommend trying 3 things -- in this order:

First, in eqemu_config.xml, change:

<loginserver2>
<host>127.0.0.1</host>
<port>5998</port>
<account>someID</account>
<password>somePWD</password>
</loginserver2>


to

<loginserver2>
<host>AAA.BBB.CCC.DDD</host>
<port>5999</port>
<account>Admin</account>
<password>Password</password>
</loginserver2>

where AAA.BBB.CCC.DDD is your host address, and I really do mean 'Admin' and 'Password' - set it to those for now.

Second, in login.ini, change

listen_port = 5998
local_network = 127.0.0.1

to

listen_port = 5999
local_network = AAA.BBB.CCC.0

Again, AAA.BBB.CCC.0 being your client host -- but changing the last octet to 0

Then third, using SQLWorkBench or other utility, change ROW 1 (ServerID 1) in table loginserver_world_server_registration to:

ServerLongName: [CV] Crypic Virtue: Luclin
ServerTagDescription: [CV] Crypic Virtue: Luclin
ServerShortName: CV
ServerAdminID: 1
ServerTrusted: 1

Stop all the services, and then restart -- post what the login server screen shows again if does not work. Once working, create a new Admin User and Password (or change the existing) -- those are just the defaults for the initially sourced admin account.

While not associated with your question -- but with what looks like you are trying to do - may need to set one or both the following if you have both local and public login servers:

<!-- Only specify these two if you really think you need to. (read: You don't) -->
<address>AAA.BBB.CCC.DDD</address>
<localaddress>AAA.BBB.CCC.DDD</localaddress>

Have yet to get clarification on each, and still parsing, but was required in my configuration.

monteros 05-20-2017 04:45 PM

Quote:

Originally Posted by Tamian (Post 254678)
Stop all the services, and then restart -- post what the login server screen shows again if does not work...

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 SoD client connection from 10.90.1.1:53372
[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.
[Error] Mysql query returned no result: SELECT LoginServerID, AccountPassword FR
OM loginserver_server_accounts WHERE AccountName = 'testAccount'
[Error] User testAccount does not exist in the database, so we created it...
[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 12)
[Login Server] Client disconnected from the server, removing client.

Still no luck... great info though. I am double checking all my work - the only thing I wasn't sure on, was the last comment about local server and public server IPs... what file? Thanks.

I think it's the eqemu_config.xml but not sure... could you post an example of these settings for me to model and place them correctly in the file? Thanks a ton!

Tamian 05-21-2017 04:02 AM

Reread your post - what I responded was incorrect. Your login server is connecting, and you are logging in successfully -- but you said it is not showing you the server?

If you would like, PM me full copy of your eqemu_config.xml, login.ini, and eqhost.txt (from your client). What I also need is IP of router, IP of server, and IP of client. I am asking, as you have an unusual IP shown as the client --- one that makes more sense as a router.

monteros 05-21-2017 12:36 PM

Quote:

Originally Posted by Tamian (Post 254690)
Reread your post - what I responded was incorrect. Your login server is connecting, and you are logging in successfully -- but you said it is not showing you the server?

If you would like, PM me full copy of your eqemu_config.xml, login.ini, and eqhost.txt (from your client). What I also need is IP of router, IP of server, and IP of client. I am asking, as you have an unusual IP shown as the client --- one that makes more sense as a router.

I can do that, the client IP you are seeing is the result of NATing behind a commercial cloud based firewall and router. This is a VM existing in a hyperV cloud, and has a virtualized NAT based public IP.

You are correct, it does login, but the server select screen shows no servers at all. It's is like the login server is running, but the world server isn't registering as an available world for us to select.

I will compile the files you are looking for and PM them. Thank you for your help.

Also, just as an example, after logging in, which does work - this is what I see and hence the problem :)

https://drive.google.com/file/d/0B3q...ew?usp=sharing

monteros 05-22-2017 07:43 PM

First of all, thank you to everyone that helped, and a special thanks to Tamian for really helping me dig in deep and figure this out :) Thanks.

Root Cause: Ultimately the issue was related to this server being hosted in a cloud, and being behind a routed firewall with a public IP that was then NATed to an internal address on this hosts private network.

FIX:Here is the final eqemu_config.xml that worked: (please note the code in bold and yellow in this file was added at Tamian's recommendation, it was not in the original file that came with the prebuilt server install.)

Code:

<?xml version="1.0">
<server>
        <world>
               
                <shortname>CV</shortname>
                <longname>![CV] Crypic Virtue: Luclin</longname>

                <address>10.70.1.10</address>
                <localaddress>10.70.1.10</localaddress>


                <loginserver1>
                        <legacy>1</legacy>
                        <host>login.eqemulator.net</host>
                        <port>5998</port>
                        <account>yourWorldServerAccountName</account>
                        <password>yourPassword</password>
                </loginserver1>
                <loginserver2>
                        <host>127.0.0.1</host>
                        <port>5999</port>
                        <account>Admin</account>
                        <password>yourAdminPassword</password>
                </loginserver2>


                <tcp ip="127.0.0.1" port="9001"/>
                <telnet ip="0.0.0.0" port="9000" enabled="true"/>

                <key>WXhTCfGCjNAW2SwEW0FIiuaNVMhQHHQ</key>

                <http port="9080" enabled="true" mimefile="mime.types" />
        </world>

        <chatserver>
                <host>10.70.1.10</host>
                <port>7500</port>
        </chatserver>

        <mailserver>
                <host>10.70.1.10</host>
                <port>7500</port>
        </mailserver>

        <zones>
        <defaultstatus>0</defaultstatus>

        <ports low="7000" high="7400"/>
        </zones>

        <database>
          <host>localhost</host>
          <port>3306</port>
          <username>root</username>
          <password>eqemu</password>
          <db>peq</db>
        </database>       

        <qsdatabase>
          <host>localhost</host>
          <port>3306</port>
          <username>root</username>
          <password>eqemu</password>
          <db>peq</db>
        </qsdatabase>

        <webinterface>
                <port>9081</port>
        </webinterface>

        <launcher>
        </launcher>

        <files>
        </files>
        <directories>
        </directories>
</server>

I also made one small change and corrected the login.ini file entry for the local_network definition to the following to reflect the internal IP for the host:
Code:

local_network = 10.70.1.0
After the above changes were made, I started the server using the t_start_server_wlogin script and it worked perfectly!

Thanks again to everyone and Tamian!
-Monteros


All times are GMT -4. The time now is 02:43 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.