EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   What am I doing wrong? (https://www.eqemulator.org/forums/showthread.php?t=42508)

Seungkyu 06-27-2019 04:23 AM

What am I doing wrong?
 
Everything regarding a private server seems to lead to "https://github.com/EQEmu/Server/wiki/Windows-Server" so I will speak based on this link.

My problem is after setting everything up, I either don't see my server listed, or I double click the Everquest icon and I get a "Could not establish a connection" error.

Here is what I did step by step.

1. Extract EQEmu Server Installer Files

2. Run eqemu_install.bat as admin twice. The first time it runs for about 10 seconds and closes whenever I press any key. The second time it installs other folders and maps, etc.

3. Rename the server as "Zeta server"

I run the server, then look on my P99 linked EQ account and see all the servers, but no "Zeta server"

So I try the LAN description.

4. Get IPV4 Address from IPCONFIG in CMD.

5. Edit Login.ini-> Local Network to my IPV4 address

6. In eqemu_config.json I change the host to my IPV4 address

7. In my separately installed non p99 titanium client I change the host in eqhost.txt to my IPV4 Address:5999

8. I run the server with login bat.

9. Click on the Non p99 seperate titanium client Everquest shortcut. "Could not establish a connection" error.

I'm not sure what I'm doing wrong and the youtube videos seem to show installation of an older model based on wikis no longer available.

Any help would be appreciated. Thank you.

phantomghost 06-27-2019 06:15 AM

Is the server actually running? All windows opened with no errors?

P99 has nothing to do with the account, but if you see other servers I am assuming you're using an eq emu login account.

Does your non p99 client have the correct eq host info?

http://wiki.eqemulator.org/p?Play_Gu...etting_Started


I would assume if you see other servers it's not client related, but rather the server is not actually running. If you see no servers the client probably has issues. I have had working clients stop working... I usually just reinstall it. There is sometimes an issue that servers don't populate but restarting the client usually fixes the issue.

Really would need more info to not just guess. But if you set your server the 2nd time around to login server you need to point your client to the loginserver.

Dhaymion 06-27-2019 10:05 AM

I didn't see you mention that you've done any of the required port forwarding. If you are trying to login through the eqemulator.org login, you'll need to do that for the server to show up in the server list. Unless you want to play on your private LAN only, I'd also change your eqhost.txt file back to the eqemulator.org setup if you intend to use that for a login server.

Huppy 06-27-2019 04:00 PM

Quote:

Originally Posted by Seungkyu (Post 262906)
7. In my separately installed non p99 titanium client I change the host in eqhost.txt to my IPV4 Address:5999

Titanium eqhost needs to point towards port 5998 (not 5999)

Seungkyu 06-28-2019 05:06 AM

I have two separate EQ clients installed. One for the EQEmu and the other for LAN attempt.

When I start the server, I have two different errors.
[Error] Error parsing message from client: bad allocation
[Error] Handle_NewLSInfo error, remote address was null, defaulting to stream address "IPV4"

I also tried changing the Titanium EQhost at port 5998, still can't connect to the server.

I'm giving up on the LAN aspect, what port forwarding is required to login through the eqemulator.org?

phantomghost 06-28-2019 06:00 AM

If your expectation is playing on a computer that's on the same network... No ports need to be opened for that. A good way to check if the issue is server side is try playing on the same computer. If the server doesn't show up it's not set up properly... Assuming your client works on other servers. I've never used the installer but the .json file is ready to go other than server name from an install using eqemuserver.pl file.

If you want people outside to login, I am not sure but the FAQ shows

Make sure you have Port RANGE Forwarding setup to forward ports 7000 to 7500, 9000 to 9000 and optionally 9080 to 9080 to your server's LAN IP Address.

phreakinsane 08-08-2019 02:42 PM

Did you ever get it working Seungkyu?

I am having an identical issue. I am on the same computer I set the server up on. I believe my issue is SQL related though. Through the various guides and threads I discovered while utilizing HeidiSQL that I do not have tblLoginServerAccounts nor the other tbl entry that one of the threads had shown (I cant seem to find that thread atm)

I believe this is likely my issue:

" [Error] Mysql query failed: SELECT LoginServerID, AccountPassword FROM tblLoginServerAccounts WHERE AccountName = 'myaccountname'
[Error] Mysql query failed: INSERT INTO tblLoginServerAccounts (AccountName, AccountPassword, AccountEmail, LastLoginDate, LastIPAddress) VALUES('myaccountname', '5fa3e95acc9600e2514741f80adba6b6a13b12e2', 'local_creation', NOW(), '127.0.0.1');
[Error] Error logging in, user myaccountname does not exist in the database.
"

I do not have any idea how to create the tblLoginServerAccount database.

Anyone have any ideas on how I can add this?

I did just discover another thread that may help. I am going to follow it to see if I can atleast see/join my own server on my own pc.

http://www.eqemulator.org/forums/sho...9&postcount=14


I hope it helps someone. I'll follow up when I've tried it all.

Huppy 08-08-2019 03:04 PM

People just have to "read" the guide on the wiki : https://github.com/EQEmu/Server/wiki/Windows-Server
The private login server is a seperate setup. Scroll down on that wiki page to see instructions.

phreakinsane 08-08-2019 07:51 PM

Thanks for your reply. Unfortunately, I've already "read" and "re-read" that and other guides. I believe you are referring to the instructions below

"Setting up the Loginserver for Local LAN" ?

I have followed those to a "T" and that is not my issue unfortunately. It is likely an oversight on my part though.. I still cannot figure out how to add tblLoginServerAccounts to my database. I am using HeidiSQL.

Any thoughts?

Thanks!

Huppy 08-08-2019 08:29 PM

In that setup guide, it states "perl eqemu_server.pl setup_loginserver". Did you do that ? That will install those tbllogin tables. If you have done that, and the tables are not sourcing in, then something is not working properly, possibly on your end. Unless everyone else has had the same prob.

phreakinsane 08-09-2019 03:11 PM

Quote:

Originally Posted by Huppy (Post 263159)
In that setup guide, it states "perl eqemu_server.pl setup_loginserver". Did you do that ? That will install those tbllogin tables. If you have done that, and the tables are not sourcing in, then something is not working properly, possibly on your end. Unless everyone else has had the same prob.

Once again, thank you for your time Huppy.

I didn't run that command before, as right before it gives that command it states that it is supposed to already have been ran. But I did run it to make sure. Those tables still are not present in HeidiSQL.

This is pulled from that guide right before that command:

"The windows installer already pulls down pre-compiled Loginserver binaries, but if you need to download them again for any reason, you can issue the following command:"

I agree with your thought process that unless many others are having the same issue it must be something on my side. I plan on wiping my SSD and trying it fresh. I just need to have the time to do it.

It may be implied already, but I should note that I can access my EQEMU account and load/play some of the online servers. So I know that my username/password are valid through EQEMU.

As I've already mentioned, I am only having issues when I try to access my own server. Being redundant here, but since it points to the TBL database on the error I've mentioned above I think if I can figure out how to manually add those tables to the database through HeidiSQL or another program I think it will resolve the issue for me.

Does anyone have any idea how I could manually add the tbl tables using HeidiSQL or another SQL program? I am new to SQL but am willing to do the legwork if someone can point me in the right direction.

Thanks again for all your time/assistance! :)

Happy hunting fellow EQ'ers

Huppy 08-09-2019 05:40 PM

You would have to run an sql query within your database to manually insert those tables. You could copy and paste the following BUT FIRST, edit the text highlighted in yellow, for usernames, passwords, server long name, shortname, etc. (some of these values have to match what is in your server config file as well)
I use Navicat (premium) to access my database, do editing and run queries. I have no idea what others are commonly using.
Code:

DROP TABLE IF EXISTS loginserver_server_accounts;
CREATE TABLE IF NOT EXISTS loginserver_server_accounts (
  LoginServerID integer unsigned NOT NULL auto_increment,
  AccountName varchar(30) NOT NULL,
  AccountPassword varchar(50) NOT NULL,
  AccountCreateDate timestamp default CURRENT_TIMESTAMP NOT NULL,
  AccountEmail varchar(100) NOT NULL,
  LastLoginDate datetime NOT NULL,
  LastIPAddress varchar(15) NOT NULL,
  PRIMARY KEY (LoginServerID, AccountName)
) ENGINE=InnoDB;

insert into loginserver_server_accounts (AccountName, AccountPassword, AccountEmail, LastLoginDate, LastIPAddress) values('Admin', sha('password'), 'admin@somewhere.com', now(), '127.0.0.1');

DROP TABLE IF EXISTS loginserver_server_list_type;
CREATE TABLE IF NOT EXISTS loginserver_server_list_type (
        ServerListTypeID integer unsigned NOT NULL,
        ServerListTypeDescription varchar(20) NOT NULL,
        PRIMARY KEY (ServerListTypeID)
) ENGINE=MyISAM;

INSERT INTO loginserver_server_list_type (ServerListTypeID, ServerListTypeDescription) VALUES (1, 'Legends');
INSERT INTO loginserver_server_list_type (ServerListTypeID, ServerListTypeDescription) VALUES (2, 'Preferred');
INSERT INTO loginserver_server_list_type (ServerListTypeID, ServerListTypeDescription) VALUES (3, 'Standard');

DROP TABLE IF EXISTS loginserver_server_admin_registration;
CREATE TABLE IF NOT EXISTS loginserver_server_admin_registration (
        ServerAdminID integer unsigned NOT NULL auto_increment,
        AccountName varchar(30) NOT NULL,
        AccountPassword varchar(30) NOT NULL,
        FirstName varchar(40) NOT NULL,
        LastName varchar(50) NOT NULL,
        Email varchar(100) NULL,
        RegistrationDate datetime NOT NULL,
        RegistrationIPAddr varchar(15) NOT NULL,
        PRIMARY KEY (ServerAdminID, Email)
) ENGINE=MyISAM;

INSERT INTO loginserver_server_admin_registration (AccountName, AccountPassword, FirstName, LastName, Email, RegistrationDate, RegistrationIPAddr) VALUES ('Admin', 'Password', 'Tom', 'Wilson', 'Tom.Wilson@gmail.com', now(), '0.0.0.0');

DROP TABLE IF EXISTS loginserver_world_server_registration;
CREATE TABLE IF NOT EXISTS loginserver_world_server_registration (
  ServerID integer unsigned NOT NULL auto_increment,
  ServerLongName varchar(100) NOT NULL,
  ServerTagDescription varchar(50) NOT NULL DEFAULT '',
  ServerShortName varchar(25) NOT NULL,
  ServerListTypeID integer NOT NULL,
  ServerLastLoginDate datetime NULL,
  ServerLastIPAddr varchar(15) NULL,
  ServerAdminID integer NOT NULL,
  ServerTrusted integer NOT NULL,
  Note varchar(300) NULL,
  PRIMARY KEY (ServerID, ServerLongName)
) ENGINE=InnoDB;


INSERT INTO loginserver_world_server_registration (ServerLongName, ServerTagDescription, ServerShortName, ServerListTypeID, ServerLastLoginDate, ServerLastIPAddr, ServerAdminID, ServerTrusted, Note) VALUES ('Server Long Name', 'A test server', 'servershortname', 1, now(), '0.0.0.0', 1, 0, 'This is a note for the test server');


Uleat 08-09-2019 07:22 PM

I ran across this issue (I think..) with someone else last night.

I'll go through the scripts and guides to see where we're missing up.

Uleat 08-09-2019 07:39 PM

Update: The script and related sqls seem to be ok name-wise. I'll keep digging.

Uleat 08-09-2019 08:04 PM

There are a couple of things in the "login server" setup that probably need to be changed...


In login.ini:
Code:

local_network = 192.168.197.129
should be
Code:

local_network = 192.168.197.
In eqemu_config.json, add:
Code:

          "world" : {
              "localaddress" : "192.168.197.129",


Those, obviously, need to be derived from your actual LAN IP address.


Are you guys trying to make a local LAN-only server?

Uleat 08-09-2019 08:32 PM

Ok, the guide has been updated to account for those steps.

phreakinsane 08-09-2019 10:51 PM

Yes I am trying to simply make a LAN server.

I found the SQL entries for login access and updated them. I was looking for one that started with "tbl" so... that was my mistake. I'm not sure if those tables were in the database to begin with or if they generated after I ran that command that Huppy recommended. But that resolved the error messages I was receiving.

I no longer get the error in the server window about the "tblloginserveraccounts"

However, I still cannot login to my account when eqhost is pointed at my server.

It used to tell me the username/password was incorrect, but now it says:

"A connection to the server cannot be reached, please check your internet connection"

I believe I must have either missed something or modified something I wasnt supposed too. One thing I've noticed while reading the server window information is that the server connections are all pointing to the default address of "127.0.0.1" I do not know if this is supposed to be the case, or if this is why I cannot connect to it.

Here is part of the message I am talking about:

[World Server] New Zone Server connection from 305f9dac-dffe-4b27-a1f2-b2df1931d31c at 127.0.0.1:50060
[World Server] New Zone Server connection from aa4e70b4-ef5c-42ef-a0b0-47b1e3cbf032 at 127.0.0.1:50063
[World Server] New Zone Server connection from 353d21ae-1280-4d3c-8567-2df04ba0abb7 at 127.0.0.1:50067
[World Server] New Zone Server connection from 8edca42d-9d93-4a86-b947-29b8a0dbea58 at 127.0.0.1:50071
[World Server] New Zone Server connection from 93635017-926a-4955-b411-21384fd619f4 at 127.0.0.1:50073
[World Server] New Zone Server connection from aed7a0a2-3e88-48a2-8918-f5004dea1d48 at 127.0.0.1:50076

should these be my local address instead of 127.0.0.1? if not, I wonder if I accidentally changed some address values I shouldnt have when I was trying to fix my previous issues. The addresses I changed would have been in the login.ini or eqemu_config.json files. I think its the .json thats the issue. I'll post what I have, and hopefully someone can identify where I went wrong.

I think i'm really close to a solution on all of this now, and its all thanks to you guys, thank you very much! I really appreciate all of your help! <3

phreakinsane 08-09-2019 11:07 PM

this is my .json file as of now, I think this is where I went wrong, but i'm unsure as to what I need to change.

"

{
"server" : {
"chatserver" : {
"host" : "192.168.0.113",
"port" : "7778"
},
"database" : {
"db" : "peq",
"host" : "localhost",
"password" : "eqemu",
"port" : "3306",
"username" : "root"
},
"mailserver" : {
"host" : "192.168.0.113",
"port" : "7778"
},
"qsdatabase" : {
"db" : "peq",
"host" : "localhost",
"password" : "eqemu",
"port" : "3306",
"username" : "root"
},
"webinterface" : {
"port" : "9081"
},
"world" : {
"localaddress" : "192.168.0.113",
"http" : {
"enabled" : "true",
"mimefile" : "mime.types",
"port" : "9080"
},
"loginserver1" : {
"account" : "-myaccount-",
"host" : "192.168.0.113",
"password" : "-mypassword-",
"port" : "53286"
},
"longname" : "EQUNBOUND",
"shortname" : "UNBD",
"tcp" : {
"ip" : "192.168.0.113",
"port" : "9001"
},
"telnet" : {
"enabled" : "true",
"ip" : "0.0.0.0",
"port" : "9000"
}
},
"zones" : {
"defaultstatus" : "0",
"ports" : {
"high" : "7400",
"low" : "7000"
}
}
}
}

"

Uleat 08-09-2019 11:57 PM

I would put your "world" : "loginserver1" : "port" value back to '5998' to help alleviate confusion.

(Make sure that the login.ini file uses the same port.)


The two database entries should be localhost and all others the lan ip address - which all of yours are.


You have the "localaddress" tag set correctly.


I would just verify the 'local_network' value in login.ini is set to
Code:

192.168.0.
and not
Code:

192.168.0.113
nor
Code:

192.168.0

EDIT:

Also, make sure that your clients are pointing to '192.168.0.113' in their eqhost.txt file.

- Use port 5998 for 'Titanium' and 'Secrets of Faydwer' clients.

- Use port 5999 for all others, including both 'Rain of Fear' clients.


The guide did kind of mis-match in the details of that and has since been corrected.

phreakinsane 08-10-2019 02:14 AM

Thanks again for the quick response and help. I went ahead and corrected those items. For some reason though if I change the db: PEQ to localhost my server will not boot up.

I am able to log in to the server screen now but I do not see the server listed. I will attach a screenshot of what everything looks like.

Also, the following thread mentions "updating the DB to be accurate" I'm not sure if there is further action I need to take regarding that.

http://www.eqemulator.org/forums/showthread.php?

https://pasteboard.co/Is0lkij.png


I did add some additional items I believe I was missing that I took from the thread above.

If I understood you correctly I need to change " "db" : "peq", " to: " "db" : "localhost", " on both of the " "db" " entries. Is that correct?

when I did that the server would go in a loop over and over attempting to load up without ever populating all four windows.

Just making sure I'm not missing anything else, I've copied the json, .ini, and eqhost files all below here.

Does any of it look off?

Thanks again!

Here is my eqemu config file:

"

{
"server" : {
"chatserver" : {
"host" : "192.168.0.113",
"port" : "7778"
},
"database" : {
"db" : "peq",
"host" : "localhost",
"password" : "eqemu",
"port" : "3306",
"username" : "root"
},
"mailserver" : {
"host" : "192.168.0.113",
"port" : "7778"
},
"qsdatabase" : {
"db" : "peq",
"host" : "localhost",
"password" : "eqemu",
"port" : "3306",
"username" : "root"
},
"webinterface" : {
"port" : "9081"
},
"world" : {
"localaddress" : "192.168.0.113",
"http" : {
"enabled" : "true",
"mimefile" : "mime.types",
"port" : "9080"
},
"key" : "KfNJhzxGO6kJMKjdytVjgsoFUkahRzX",
"loginserver1" : {
"account" : "- my account name -",
"host" : "login.eqemulator.net",
"legacy" : "1",
"password" : "- my password - ",
"port" : "5999"
},
"loginserver2" : {
"account" : "- my account name -",
"host" : "192.168.0.113:",
"password" : "- my password -",
"port" : "5999"
},
"longname" : "EQUNBOUND",
"shortname" : "UNBND",
"tcp" : {
"ip" : "192.168.0.113",
"port" : "9001"
},
"telnet" : {
"enabled" : "true",
"ip" : "0.0.0.0",
"port" : "9000"
}
},
"zones" : {
"defaultstatus" : "0",
"ports" : {
"high" : "7400",
"low" : "7000"
}
}
}
}


"

and here is my login.ini:

"

[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 = 192.168.0.
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

"

and here is my eqhost.txt in the client's directory:

"

[LoginServer]
Host=192.168.0.113:5999

"

Also, if I may, i'd like to clarify two other things:

As I am running the RoF client, shouldn't I have 5999 as my loginserver port? or should it still be 5998? and should I have the two separate loginserver entries in my json configured as I do as per this post? I added the original "loginserver 1" back into my json. after re-reading the guide once more. Trying to find and fix whatever it is I'm missing.

Thanks again for the information and your time!

Huppy 08-10-2019 04:44 AM

By the looks of that screenshot above, your server started up fine. Your EQEmu server, needs to connect to a login server. Either public, private, or (in your config), both. They need a port number to connect. Then your client needs a port to connect to the loginserver. Hence, (as per code) 5998 for Titanium/SoF and all others 5999.

Code:

              "loginserver1" : {
                    "account" : "- my account name -",
                    "host" : "login.eqemulator.net",
                    "legacy" : "1",
                    "password" : "- my password - ",
                    "port" : "5998"                <<<<<------- This MUST be 5998 for the public login server.
              },
              "loginserver2" : {
                    "account" : "- my account name -",
                    "host" : "192.168.0.113:",
                    "password" : "- my password -",
                    "port" : "5999"                <<<<<------- This MUST be the SAME as the listen_port in your login.ini
              },

Then your client will use one of these: (after your server and loginserver have connected.) Do not change these.
From your login.ini :

[Titanium]
port = 5998
opcodes = login_opcodes.conf

[SoD]
port = 5999
opcodes = login_opcodes_sod.conf

EDIT: I forgot to mention something, just in case you may not be aware of it. Some people's LAN setup, with your server using one particular LAN IP (such as 192.168.0.113), your router/modem dhcp, may be setup to assign each device connecting to it, with a dynamic IP. (subject to change all the time). I have to assign a static LAN IP for my server in my modem config, so it never changes. You would have to login to your router/modem to do that.(different models, different brands, different setups). Otherwise, when you restart/reboot that particular computer, it may get assigned a different LAN IP and your client computer won't find it on the LAN.

Uleat 08-10-2019 07:09 PM

I apologize if I confused you about the two database entries.

I was referring to the "database" and "qsdatabase" tags.

Their addresses ("host") should be localhost. Your original posting had that correct.

The "db" field refers to the name of the database that was created during the install - most likely "peq."


The ports that you are changing do not reflect client ports.

They are ports used by the various server programs to communicate among themselves.


Aside from the port changes that Huppy recommended above, the rest still looks ok.


All times are GMT -4. The time now is 03:40 PM.

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