PDA

View Full Version : Blank server screen


Gurgoth
11-10-2012, 03:11 PM
Hey All,

I am trying to setup a local server, and this is my fourth and final round of trying to do it. This time around I am using the documentation concerning compiling the project. Of course that documentation doesn't deal with database setup, so I am also having to use a mixture of about 3-4 other guides I think.

Here is where I am currently at:

- World.exe is launching successfully
- EQEmuLoginServer is registering successful login of the world server.
- EQEmuLoginServer is registering successful communication with my local client

From the client I can log in, but it seems that "any" login is accepted regardless of it being valid or not. All login attempts are transferred to the server page where it is blank and displays 0 expansions.

My assumption is that there is a communication problem between the client and the login server, but the feedback from the login server suggests its communicating. Unfortunately, I have no way of knowing if it is correctly communicating. Here is the response from the EQEmuLoginServer:

[Debug] [11.10.12 - 10:58:38] Logging System Init.
[Debug] [11.10.12 - 10:58:38] Config System Init.
[Debug] [11.10.12 - 10:58:38] MySQL Database Init.
[Debug] [11.10.12 - 10:58:38] Encryption Initialize.
[Debug] [11.10.12 - 10:58:38] Encryption Loaded Successfully.
[Debug] [11.10.12 - 10:58:38] Server Manager Initialize.
[Network] [11.10.12 - 10:58:38] ServerManager listening on port 5998
[Debug] [11.10.12 - 10:58:38] Client Manager Initialize.
[Network] [11.10.12 - 10:58:38] ClientManager listening on Titanium stream.
[Network] [11.10.12 - 10:58:38] ClientManager listening on SoD stream.
[Debug] [11.10.12 - 10:58:38] Server Started.
[Network] [11.10.12 - 10:58:45] New world server connection from 127.0.0.1:58368
[Network Error] [11.10.12 - 10:58:45] Handle_NewLSInfo error, remote address was null, defaulting to stream address 127.0.0.1.
[World] [11.10.12 - 10:58:45] Server eq(eq) successfully logged in.
[Network Trace] [11.10.12 - 10:58:45] ServerOP_LSAccountUpdate sent to world
[Network] [11.10.12 - 10:59:08] New Titanium client connection from 127.0.0.1:58232
[Network] [11.10.12 - 10:59:08] Application packet recieved from client (size 14)
[Network] [11.10.12 - 10:59:08] Session ready recieved from client.
[Network] [11.10.12 - 10:59:08] Application packet recieved from client (size 12)
[Network] [11.10.12 - 10:59:08] Server list request recieved from client.
[Network] [11.10.12 - 10:59:11] Client disconnected from the server, removing client.

Noport
11-10-2012, 03:22 PM
ServerManager listening on port 5998

eqhost.txt
127.0.0.1:5998

Gurgoth
11-10-2012, 03:26 PM
Already set:

[LoginServer]
Host=127.0.0.1:5998

I tried disabling the unregistered_allowed flag in the login.ini file, but all users are still allowed in so I am not exactly sure what else I can check.

Uleat
11-10-2012, 03:28 PM
Hit 'Go Advanced' on your next reply and post your config files. Make sure you highlight each one and then click on the '#' sign above to code tag it.

(Make sure to '****' usernames and passwords if you're concerned about that.)


EDIT: Unregistered is for the login server. It allows the use of 'unregistered' world servers.

Gurgoth
11-10-2012, 03:36 PM
eqemu_config.xml:

<?xml version="1.0">
<server>
<world>
<shortname>eq</shortname>
<longname>eq</longname>

<loginserver>
<host>localhost</host>
<port>5998</port>
<account>eq</account>
<password>eq</password>
</loginserver>


</world>

<database>
<host>localhost</host>
<port>3306</port>
<username>eq</username>
<password>******</password>
<db>eq</db>
</database>

</server>

eqemulogin.ini

Port=5998
DumpPacketsIn=true
DumpPacketsOut=true
DatabaseServerName=localhost
DatabaseCatalogName=eq
DatabaseUserName=eq
DatabaseUserPassword=****
OPCodePathAndFileName=login_opcodes.conf


login.ini

[database]
host = localhost
port = 3306
db = eq
user = eq
password = ******
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 = localhost

[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

Uleat
11-10-2012, 04:04 PM
I'm not sure if your use of 'eq' is the actual value or blanked value, but if they are actual:

When you created your database, did you name it 'eq' or 'peq'? (or something else?)


Double-check your database name and make sure the login and emulator entries match it.

EDIT: I'm pretty sure that you don't need eqemulogin.ini for the login server.

Gurgoth
11-10-2012, 04:12 PM
eq is the actual database name.

Originally I tried using the setup instructions that used peq, and peqlogin. However, due to numerous other issues I decided to consolidate them into one DB named eq.

eq contains the eq database tables, and the EQemuLoginServer tables. Therefore any successful connection to the database has access to all of the tables. So I am assuming that the fact that the world server logs in successfully when unregistered_allowed = false means that its accessing the login tables and successfully validating the long and short names.

That would imply that all other tables are also accessible and able to be used. Both login and eqemu_config.xml match. I also tried changing the ports on everything to some random port, and the results where the same.

-- deleted eqemulogin.ini and nothing complained so you are correct.

Gurgoth
11-10-2012, 04:52 PM
Is the assumption that if everything is setup correctly that an invalid user login to the EQEmuLoginServer will get an error indicating the login failed?

If so, why is that currently not occurring? I would assume that if my EQEmuLoginServer is reporting the communication with the client it would be able to reject a bad user/login.

Gurgoth
11-10-2012, 06:43 PM
Any one able to help?

I am completely at a loss as to what steps I can take to troubleshoot this further since I have no indication of negative feedback or error results from any of the applications.

- Zone is communicating with World
- World is communicating with MySql
- World is communicating with EQEmuLoginServer
- EQEmuLoginServer is communicating with MySql
- Client is communicating with EQEmuLoginServer

The problem appears to be in the communication from the EQEmuLoginServer to the client. I have no idea why the client would be allowed to login with an invalid user/pass under that situation but that is what appears to be happening.

Noport
11-10-2012, 07:32 PM
the only problem i can recall is eqemu_config.xml: try changing <longname>eq</longname> to <longname>eqminilogin</longname>

Uleat
11-10-2012, 08:28 PM
Now that you mention it, I think I had a similar problem one time with the <longname> naming convention that caused the same problem way back when.

I'll take a quick look at the login server code and see if there are any discriminators in it that might not allow 'eq' as a valid server name.

Gurgoth
11-10-2012, 08:50 PM
Attempted the eqminilogin change, but that had no positive effects. There is a configuration in the variable table for minilogin but since I am using the EQEmuLoginServer I have not changed its value.

Assuming that there is some problem with the naming convention I used I changed the database entries and config to:

<?xml version="1.0">
<server>
<world>
<shortname>EQHome</shortname>
<longname>Personal Home</longname>

<loginserver>
<host>localhost</host>
<port>5998</port>
<account>EQHome</account>
<password>everquest</password>
</loginserver>


</world>

<database>
<host>localhost</host>
<port>3306</port>
<username>***</username>
<password>*****</password>
<db>eq</db>
</database>

</server>

Same basic symptoms. World server appears to march along fine, and the zone server is doing fine. EQEmuLoginServer is successfully receiving communication from world, and the client. However, any login will get me to the server screen, but no servers to select from.

NOTE: I also did a fresh reinstall of Titanium to rule out any installation problems with the client. Re-configured the link for "patchme" and changed the EQHost file.

Noport
11-10-2012, 08:56 PM
i see it now your login.ini file needs to be something like this

[database]
host = localhost
port = 3306
db = peqlogindb <----- on yours this need to be changed to match this
user = root
password = xxxxxxxxxxx
subsystem = MySQL


i can see another error in eqemu_config.xml file

example
<loginserver>
<host>127.0.0.1</host><---------- you need to take out loclhost and put 127.0.0.1
<port>5998</port>
<account>xxxxxxxxxxx</account>
<password>xxxxxxxxxx</password>
</loginserver>


if you are still having problem might take a look at this http://www.eqemulator.org/forums/showthread.php?t=35057

Gurgoth
11-10-2012, 09:05 PM
Hey noport,

As I indicated before I placed both the login tables and the main EQ tables in the same database named eq. Therefore all configurations should be accessing just the eq database.

I cannot see a reason that this wouldnt work?

EDIT: Also wouldnt the world server fail to login if the EQEmuLoginServer couldnt connect to the database with the right tables? Seems like that portion is functioning to me unless there is some reason they cannot be stored in the same location.

Noport
11-10-2012, 09:15 PM
refresh the screeen see the last message i left? in the database did you change it from public to minilogin?

Uleat
11-10-2012, 09:34 PM
Duh! login.ini under [options], change local_network to 127.0.0 without the 1.

If you're still having issues, try changing all instances of 'localhost' to '127.0.0.1'

Gurgoth
11-10-2012, 09:37 PM
I did not change the variable concerning minilogin. Since I am not using minilogin it is still listed as public.

I created a second database called eqlogin to rule out any difficulty with sharing a database, but that yielded no change.

I made the address page you have listed above, and that also yielded no change. Everything still appears to be working correctly.

Honestly this seems like a disconnect between the login server and the client, but the only configuration for the client is the EQHost.txt and if that is wrong I get an error. The login.ini controls the EQEmuLoginServer, and as best I can tell that one is correct. I also removed local host from all entries of that file and replaced it with 127.0.0.1.

Gurgoth
11-10-2012, 09:43 PM
Current configuration files:

eqemu_config.xml
Changes:
- Changed short and long names
- Changed ip addresses to 127.0.0.1
- Removed login server password (changed config in login.ini also)


<?xml version="1.0">
<server>
<world>
<shortname>EQHome</shortname>
<longname>Personal Home</longname>

<loginserver>
<host>127.0.0.1</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver>


</world>

<database>
<host>127.0.0.1</host>
<port>3306</port>
<username>*****</username>
<password>*****</password>
<db>eq</db>
</database>

</server>


login.ini
Changes
- Changed all IP addresses to 127.0.0.1
- Created eqlogin database separate from qe database
- Enabled unregistered servers


[database]
host = 127.0.0.1
port = 3306
db = eqlogin
user = *****
password = *****
subsystem = MySQL

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

[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

Still no change to my situation of logging in under any user, and having a blank list.

Noport
11-10-2012, 09:44 PM
then follow this post http://www.eqemulator.org/forums/showthread.php?t=35057 you'll get it working
now you have this error in login.ini [database] host = 127.0.0.1<------------this needs to be changed back to localhost

Uleat
11-10-2012, 09:48 PM
drop that '1' but leave the 'dot' for local_network and see what that does

Gurgoth
11-10-2012, 10:51 PM
Unfortunately I do not see how http://www.eqemulator.org/forums/showthread.php?t=35057 is going to help. I went through the pieces there and am still working on it but he has been able to get his client to to see the servers from the beginning. I am unable to even do that right now.

Gurgoth
11-10-2012, 11:21 PM
Completed everything in http://www.eqemulator.org/forums/showthread.php?t=35057 and nothing has changed my situation. His clients were able to see the servers from the beginning, and I still cannot.

Current setup:

EQHost.txt:

[LoginServer]
Host=127.0.0.1:5998

Login.ini

[database]
host = 127.0.0.1
port = 3306
db = eqlogin
user = *****
password = *****
subsystem = MySQL

[options]
unregistered_allowed = TRUE
reject_duplicate_servers = FALSE
trace = FALSE
world_trace = FALSE
dump_packets_in = FALSE
dump_packets_out = FALSE
listen_port = 5998
local_network = 127.0.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

eqemu_config.xml

<?xml version="1.0">
<server>
<world>
<shortname>EQHome</shortname>
<longname>Personal Home</longname>

<loginserver>
<host>127.0.0.1</host>
<port>5998</port>
<account>EQHome</account>
<password>everquest</password>
</loginserver>

<address>192.168.1.2</address>
<localaddress>127.0.0.1</localaddress>

<key>thisstringisatest11</key>

</world>

<database>
<host>127.0.0.1</host>
<port>3306</port>
<username>*****</username>
<password>*****</password>
<db>eq</db>
</database>

</server>


Output from EQEmuLoginServer.exe:

[Debug] [11.10.12 - 19:18:32] Logging System Init.
[Debug] [11.10.12 - 19:18:32] Config System Init.
[Debug] [11.10.12 - 19:18:32] MySQL Database Init.
[Debug] [11.10.12 - 19:18:32] Encryption Initialize.
[Debug] [11.10.12 - 19:18:32] Encryption Loaded Successfully.
[Debug] [11.10.12 - 19:18:32] Server Manager Initialize.
[Network] [11.10.12 - 19:18:32] ServerManager listening on port 5998
[Debug] [11.10.12 - 19:18:32] Client Manager Initialize.
[Network] [11.10.12 - 19:18:32] ClientManager listening on Titanium stream.
[Network] [11.10.12 - 19:18:32] ClientManager listening on SoD stream.
[Debug] [11.10.12 - 19:18:32] Server Started.
[Network] [11.10.12 - 19:18:36] New world server connection from 127.0.0.1:54015
[Network Trace] [11.10.12 - 19:18:36] Application packet recieved from server: 0x1008, (size 653)
[Network Trace] [11.10.12 - 19:18:36] New Login Info Recieved.
[World] [11.10.12 - 19:18:36] Server Personal Home(EQHome) successfully logged in.
[Network Trace] [11.10.12 - 19:18:36] Application packet recieved from server: 0x1001, (size 12)
[Network Trace] [11.10.12 - 19:18:36] World Server Status Recieved.
[Network Trace] [11.10.12 - 19:18:51] Application packet recieved from server: 0x1001, (size 12)
[Network Trace] [11.10.12 - 19:18:51] World Server Status Recieved.
[Network Trace] [11.10.12 - 19:18:52] Application packet recieved from server: 0x3005, (size 12)
[Network Trace] [11.10.12 - 19:18:57] Application packet recieved from server: 0x3003, (size 37)
[Network] [11.10.12 - 19:19:03] New Titanium client connection from 127.0.0.1:55886
[Network] [11.10.12 - 19:19:03] Application packet recieved from client (size 14)
[Network] [11.10.12 - 19:19:03] Session ready recieved from client.
[Network] [11.10.12 - 19:19:03] Application packet recieved from client (size 12)
[Network] [11.10.12 - 19:19:03] Server list request recieved from client.
[Network] [11.10.12 - 19:19:04] Client disconnected from the server, removing client.
[Network Trace] [11.10.12 - 19:19:06] Application packet recieved from server: 0x1001, (size 12)
[Network Trace] [11.10.12 - 19:19:06] World Server Status Recieved.


No change, everything is still appearing to function except I cannot see any servers in the server selection, and any user login is accepted.

Uleat
11-10-2012, 11:52 PM
Make sure the '.' is there after the last '0'..

I may have missed this earlier..are you running this on a single computer or a local network?


For single computer (server/client) make sure ALL addresses are 127.0.0.1 and local_network is '127.0.0.'

If you're running on a LAN, then everything needs to 192.168.1.2 with the exception of your database entries, which should be 127.0.0.1, and your local_network should be '192.168.1.'

Either way, your combination should work once configured properly. I've had both a LAN and single-computer setup running just fine with EQEMULoginServer.


(NoPort had said to use 'localhost', so I can't argue against that..but my settings are all numeric and I don't have any problems)

Gurgoth
11-11-2012, 12:01 AM
Completely local.

Following changes were made:

login.ini
local_network: 127.0.0.

eqemu_config.xml
<address>127.0.0.1</address>

No change to results.

Again the symptoms are:

Client "appears" to login.
-- ANY login can be used, its as if its not even checking.
No servers available.

Uleat
11-11-2012, 12:30 AM
[Network] [11.10.12 - 19:19:03] Server list request recieved from client.
[Network] [11.10.12 - 19:19:04] Client disconnected from the server, removing client.

I had this problem too when I was first getting started... The client disconnects immediately after sending the list request..which is why your list is blank...


Are you using the precompiled binaries? If so, try this:

- Download the EQEmuLoginServer compiled from Rev1765 Source from here:
http://code.google.com/p/projecteqemu/downloads/detail?name=EQEmuLoginServer.rar&can=2&q=

- Copy these four files from it to your active server directory:
EQEmuLoginServer.exe
EQEmuAuthCrypto.dll
login_opcodes.conf
login_opcodes_sod.conf

I noticed an issue with the included loginserver and found that the older one worked. I compile my own exe's now, so I don't have to worry about them.

With any luck, that should do it..if your config files are correct

Gurgoth
11-11-2012, 12:46 AM
Ok - that did the trick.

Here is what I think happened in case anyone runs across this.

Followed this guide initially: http://www.eqemulator.net/wiki/wikka.php?wakka=ValesEQ

This helped me get a lot of the pieces in place and then I used this guide to complile the exe's: http://www.eqemulator.org/forums/showthread.php?t=35722

In the first guide it advises you to get an updated version of some of the files. In step 7 it suggests getting an updated version of: EQEmuAuthCrypto.dll

That file is the only file of the 4 you recommended copying that had a different time stamp from the rest and is likely what resolved my problem.

Thanks Uleat for helping out with the final piece.
Thanks Noport for helping me get most of the configurations ironed out.

I definitely appreciate the support in getting it setup. Hopefully the rest goes well, but I can login and create a character now :).