EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Loginserver Overhaul (error) (https://www.eqemulator.org/forums/showthread.php?t=42613)

Huppy 09-17-2019 07:04 AM

Loginserver Overhaul (error)
 
After updating to current source code (and recompiling) with a fresh peqdb from the nightly dump, ran world to update the db fully. Of course after that to get the loginserver to run, more steps had to be done, lol. But this is just me, piddling around testing the updates out.

First I got all the necessary files (login.json and sql's) to update the DB with the new schema. Found these in the source/loginserver folder. I had to edit the login_schema.sql as it wouldn't source in because of "NULL" errors. After I got the new table schema injected into the DB, I edited the login.json file for db name, password, etc., just like we did with the login.ini file.
Loginserver starts up fine, but now I am struggling to get the world and loginserver to connect. Here is the new login.json I am using. (I did notice, we used to have a local_network= in the old ini file. It's not present in this one.)

Code:

{
  "database": {
    "host": "127.0.0.1", // database host
    "port": "3306", // database port
    "db": "peq", // database name
    "user": "root", // database user
    "password": "*****" // database password
  },
  "account": {
    // ideal for local LAN setups, if you want a login attempt to automatically create an account
    // this will automatically create the account using the username and password if it doesn't exist
    "auto_create_accounts": true
  },
  "worldservers": {
    "unregistered_allowed": true, // allows worldservers to connect to your loginserver without server admin authentication
    "reject_duplicate_servers": false // if enabled, rejects duplicate worldservers
  },
  "web_api": {
    "enabled": false, // enable/disable embedded webserver api
    "port": 6000 // the port you want the web api to serve on (recommended not to change)
  },
  "security": {
    "mode": 14, // encryption mode (dont touch) (14=scrypt)
    "allow_password_login": true, // allows users to login via password, most cases, leave this on
    "allow_token_login": false // allows token based login directly from launching game
  },
  "logging": {
    "trace": true, // For debugging general packet messaging
    "world_trace": false, // For debugging world to loginserver messaging
    "dump_packets_in": false, // for debugging inbound packets
    "dump_packets_out": false // for debugging outbound packets
  },
  "client_configuration": {
    "titanium_port": 5998, // don't change
    "titanium_opcodes": "login_opcodes.conf", // opcodes for the titanium era clients
    "sod_port": 5999, // don't change
    "sod_opcodes": "login_opcodes_sod.conf" // opcodes for sod and higher era clients
  }
}


joligario 09-17-2019 07:58 AM

You shouldn’t have to edit the schema sql. I have a feeling you may be missing entries now.

Akka did mention in the changelog that you don’t need the subnet anymore.

I would run each of loginserver and world manually to see any output.

Edit: Did you also run the account mod sql?

Huppy 09-17-2019 08:12 AM

Quote:

Originally Posted by joligario (Post 263495)
You shouldn’t have to edit the schema sql. I have a feeling you may be missing entries now.

Akka did mention in the changelog that you don’t need the subnet anymore.

Oh, the login_schema.sql wouldn't source into the DB, because it came up with some syntax errors, that's the only reason I dug into it. These lines here (in 2 spots) :

Code:

`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT current_timestamp(),

I changed them to:
Code:

`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,

EDIT: No, didn't run any account mod, will have to look into that.

Huppy 09-17-2019 08:25 AM

Just tried running the 2019_09_16_account_table_changes.sql

Code:

[SQL] Query 2019_09_16_account_table_changes start
[ERR] 1091 - Can't DROP 'name'; check that column/key exists
[ERR] ALTER TABLE `account`
        DROP INDEX `name`,
        DROP INDEX `lsaccount_id`;

By the way, that table has no entries, it's a fresh DB install

Huppy 09-17-2019 08:50 AM

Found the connection problem. In the old login.ini there is a line listen_port = I used to (as a preference), use 5999 with that matching up in the main config. But this new code automatically uses 5998, so I had to change that in the main config and world now connects to login server. .......

Huppy 09-17-2019 10:43 AM

Just an update:

Even though the world and loginserver are connecting, it's not recognizing the world admin registration (with user/password), so I get the "server is unregistered, but unregistered are allowed" message (which I have set in the config), so it ends up putting a second entry in the DB login_worlds table. Then of course when I login with client, it won't see any servers on list. Who knows ..... I'm going to make breakfast, lol

Huppy 09-17-2019 11:42 AM

Just to add to that (above), this is what the loginserver spits out. It actually shows the world admin user and password in the console, but not sure why it's refusing to recognize the registration altogether. I've went over it many times and it all matches up between configs and DB.

Code:

[LoginServer] [Info] Config System Init
[LoginServer] [Info] MySQL Database Init
[LoginServer] [Info] Starting File Log [logs/login_5176.log]
[LoginServer] [Info] Server Manager Init
[LoginServer] [Info] Loginserver now listening on port [5998]
[LoginServer] [Info] Client Manager Init
[LoginServer] [Info] Server Started
[LoginServer] [Info] [Config] [Logging] IsTraceOn [true]
[LoginServer] [Info] [Config] [Logging] IsWorldTraceOn [false]
[LoginServer] [Info] [Config] [Logging] IsDumpInPacketsOn [false]
[LoginServer] [Info] [Config] [Logging] IsDumpOutPacketsOn [false]
[LoginServer] [Info] [Config] [Account] CanAutoCreateAccounts [true]
[LoginServer] [Info] [Config] [WorldServer] IsRejectingDuplicateServers [false]
[LoginServer] [Info] [Config] [WorldServer] IsUnregisteredAllowed [true]
[LoginServer] [Info] [Config] [Security] GetEncryptionMode [14]
[LoginServer] [Info] [Config] [Security] IsTokenLoginAllowed [false]
[LoginServer] [Info] [Config] [Security] IsPasswordLoginAllowed [true]
[LoginServer] [Info] [Config] [Security] IsUpdatingInsecurePasswords [true]
[LoginServer] [Info] New World Server connection from 127.0.0.1:55939
[LoginServer] [Info] New World Server Info | name [PEQ TEST] shortname [peqtest] remote_address [127.0.0.1] local_address [127.0.0.1] account [******] password [******] server_type [0]
[LoginServer] [Info] Server [PEQ TEST] (peqtest) is not registered but unregistered servers are allowed


Dryamzord01 01-22-2020 05:01 PM

Friend :d '''''     
 
HELLO HUPY, I HAVE THAT SAME PROBLEM, DO YOU KNOW HOW IT IS SOLVED? God, I've been like that for weeks haha, apparently I have the same name and password well written both in the database and in the configuration, but when I load the server it tells me that they don't match.The longname and shortname are also the same written in both sites.I also realized that this new login.ini does not bring to put the ip in (Network) .What happens? Do you know how to solve this? The server can be put on the list of servers and I can only enter ... :(


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

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