PDA

View Full Version : Private Server - User not found in DB


duurrk
01-12-2011, 11:58 PM
I finished the setup tonight for my private server using Titanium based off Kavren's guide http://www.eqemulator.org/forums/showthread.php?t=31783.

I ran the .bat file to load up the necessary components, and, despite the initial
"WorldConnection connect: Connecting to the server localhost:9000 failed: TCPConnection::Connect(): connect() failed. Error: 10061
worldserver.Connect()FAILED! Will retry."

It ends up starting main loop and "Connected to World: localhost:9000" and begins loading zones. I am not sure why it is :9000 when the focus has been on 5998 or 5999. Anyway, it seems to load up fine there. The title for that shell is "0: sleeping", I thought that was odd too.

The "World.exe" shell seems to be starting all the zones just fine.
However, the EQEmu Login Server is where I get my problems..

"Logging System Init.
Config System Init.
MySQL Database Init.
Failed to connect to MySQL database. <-------
Encryption Initialize.
Encryption Loaded Successfully.
Server Manager Initialize.
ServerManager listening on port 5998
Client Manager Initialize.
ClientManager listening on Titanium stream.
ClientManager listening on SoD stream.
Server Started.
New world server connection from 192.168.1.103:1260
MySql query failed: SELECT WSR.ServerID, WSR.ServerTagDescription, WSR.ServerTrusted, SLT.ServerListTypeID, SLT.ServerListTypeDescription, WSR.ServerAdminID FROM tblWorldServerRegistration AS WSR JOIN tblServerLongName = 'xxxxMy server namexxxx' AND WSR.ServerShortName = 'xxmyShortxx'
Server xxxxMyServerxxx(xxxshortxxx) attempted to log in but database couldn't find any entry but unregistered servers are allowed.
MySql query failed: SELECT max(ServerID) FROM tblWorldServerRegistration
Mysql query failed: UPDATE tblWorldServerRegistration SET ServerLastLoginDate = now(), ServerLastIPAddr = '192.168.1.103' where ServerID = 0"

Then it does the session once I fire up my client:

"New Titanium client connection from 192.168.1.101:64888
Application packet recieved from client (size 14)
Session ready recieved from client.
Application packet recieved from client (size 36)
Login recieved from client.
User: xxxxx
Hash: xxxxx
Mysql query failed: SELECT LoginServerID, AccountPassword FROM tblLoginServerAccounts WHERE AccountName = 'xxxx'
Error logging in, user xxxx does not exist in the database."

Not sure why it is saying this, because when I open Navicat and check the 'tblLoginServerAccounts' DB, the user I set up is listed there, with appropriate client IP. Now I'm wondering if it is because of the failed connection to MySql database at the beginning, but why then does it proceed as if it sorted it out?

I'm quite confused, and the only other bit of information that may be a factor is that I'm running the server (Win2k3 ES) as a VM over the host which I'm using as the client to log in. Clearly, the connection is working because it is seeing the request and printing the user plain-text and hashing the pass in the request. That tells me it shouldn't be the connection to my VM over the host (however, I am bridging the NIC--though I've never had any issues before doing this). My firewall has a specific rule for accepting and allowing traffic over all ports (I'm going to cut it down to 5998 and 5999 once this is resolved).

If anyone could help me figure out what is going on here, I would be quite grateful. I feel like I'm close enough to taste it, and it would be nice to see all this come to fruition. Thanks!

duurrk
01-13-2011, 01:22 AM
Well... now I've managed to lock myself out of MySql, getting the error:

"1130 - Host 'localhost' is not allowed to connect to this MySQL server"

It happened just after I changed the connection settings for 'localhost' to my server's hostname. I read a post for someone who was having the failure to connect to the database (as I was having at the beginning of the EQEmu Login Server shell, and apparently changing localhost had allowed him to connect to the database. Though this is slightly different, I was hoping maybe it was something like that. Guess I'm going to have to completely rebuild? Not quite sure what to do now.

duurrk
01-13-2011, 01:24 AM
Additionally, if I attempt to log into MySQL through command, I get prompted for a password and once I enter it, the shell just closes. Not sure if that is what happens if you don't enter the correct password in a normal setting, but it's clearly not happy with me :/

wolfwalkereci
01-13-2011, 06:33 AM
Are you using the public login server, minilogin or the eqemulogin?
When you setup the mysql did you name the DB exactly as the guide stated and did you change all the .ini files to make sure the information matched?

duurrk
01-13-2011, 06:06 PM
I did all the naming as the guide stated. Checked back over each step individually. I have also looked several times through all the configuration files to verify. I tried using both "localhost" where they left it, and tried my server's name as well. I have tried using both my host's IP for host and the server's IP for "localaddress" in addition to just using the server's IP for both. It seems that after I used the server's IP for both I started seeing the "new Titanium host connection" messages in the Login shell when I fired up the client. I am using the same executable shortcut as I do with the public servers (just that I change the eqhost.txt file to reflect my server's IP). I haven't tried minilogin but heard it was not as good as others. I was assuming the others were the standard way of logging in. I have only seen "EQEmu Login" as the "EQEmu Login Server" executable. Because that is what is hosting the login on my server, I don't know what EQEmu Login to use on the client if that is an option. I can send a copy of my .xml file if need be because that was the most confusing configuration to me, though I just did the changes that were pointed out, and left all the rest that were shown in the guide in the bulleted list as default.

duurrk
01-13-2011, 06:16 PM
Well... now I've managed to lock myself out of MySql, getting the error:

"1130 - Host 'localhost' is not allowed to connect to this MySQL server"

It happened just after I changed the connection settings for 'localhost' to my server's hostname. I read a post for someone who was having the failure to connect to the database (as I was having at the beginning of the EQEmu Login Server shell, and apparently changing localhost had allowed him to connect to the database. Though this is slightly different, I was hoping maybe it was something like that. Guess I'm going to have to completely rebuild? Not quite sure what to do now.

Well, I was smart enough to take a VM snapshot before all this happened, so I have everything still, but remain stuck with this inability to log in on my client. Boo :(

wolfwalkereci
01-13-2011, 07:42 PM
Just back from dinner, if you are still having issues and can get on vent we can chat if you want. Im trolling these boards tonight seeking answers to some things I want to do so I'll check this thread several times.

duurrk
01-13-2011, 08:17 PM
I just sent ya a PM with my contact info

Fulcrum
01-13-2011, 10:57 PM
I could also pop on vent if you'd like. Can't promise to be too very helpful, but it never hurts to have another to bounce ideas off of.

duurrk
01-13-2011, 11:01 PM
I don't have vent, but I'm sure I can get it since it's apparently pretty popular for this. What information do I need to join u

Fulcrum
01-13-2011, 11:56 PM
It's one of several VoIP programs. (Voice over IP), and I believe it's a free download at http://www.ventrilo.com/

Another popular one is Teamspeak3. (http://www.teamspeak.com)

For small groups, though, I've always preferred Skype. (http://www.skype.com/intl/en-us/home)

wolfwalkereci
01-14-2011, 01:00 PM
I no longer use stuff like skype or mumble because for some reason it likes to reset connection on me every 10 min or so which crashes my clients.
I should just install IRC again. Doesnt the emu project have a irc server/channel set up?
Either way if people want to talk over stuff we could pick a IM client or something and get together and figure stuff out.

Criimson
06-26-2011, 06:13 AM
So what ended up being the problem?
I am trying to set up a server and it all seems well except I am getting this exact error.

Thank you
Criimson

EDIT: I am trying to set up a local only server.

Here are my Setup files

login.ini
[database]
host = 192.168.2.1
port = 3306
db = peq
user = root
password = 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 = 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

eqemu_config.xml

<?xml version="1.0"?>
<server>
<world>
<shortname>Criim</shortname>
<longname>Criimsons Playground</longname>

<!-- address has to be specified for minilogin to work -->
<address>localhost</address>
<localaddress>192.168.2.1</localaddress>

<!-- Loginserver information. -->
<loginserver>
<host>127.0.0.1</host>
<port>5999</port>
<account></account>
<password></password>
</loginserver>

<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>make up some random string of characters here</key>

<!-- Enable and set the port for the HTTP service -->
<http port="9080" enable="true" mimefile="mime.types"/>
</world>

<!-- Database configuration, replaces db.ini -->
<database>
<host>localhost</host>
<port>3306</port>
<username>root</username>
<password>password</password>
<db>peq</db>
</database>
</server>

What's weird is if in the login.ini I change "host = 192.168.2.1" to "host = 127.0.0.1" I get an additional error about character set #33 being invalid or something from mysql


ANyway any ideas?
Everything else seems to be working as it should.

Just the login server having a hiccup.