EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   Private Login Server and World Server not communicating (https://www.eqemulator.org/forums/showthread.php?t=42993)

RedVapor 07-07-2020 04:04 PM

Private Login Server and World Server not communicating
 
Chief problem. I can login to my private login server both using my public IP and private IP in my eqhosts file, but I cannot see my server name in the list. Its totally blank. Public eqemu auth works fine.

I have a fresh install on Debian Buster (10). A capture of my current eqemu_config.json and login.json is attached.

I actually had this working even had players login in remote. Then it just stopped working. The only changes made were to set auto_create_accounts to false in the login.json. Once I cycled I noted my server disappeared I reverted the change, but it has not come back. I have attempted to set my client eqhosts to my public IP, and private IP. No luck.

I have tried changing all IP's to private 127.0.0.1 addresses and all to local LAN (like below). It's almost like my world server and login server can't communicate but I can't find any log information on the world server.

Worth noting that in the database
SELECT * FROM eqemu.login_world_servers;

This produces the server name and information. It looks like in some way the server is communicating and writing data to the login_world_servers table, which would seem to tell me that the two services do find each other. The question then is... why does it not show up in the server list. I have played with changing some of the values in login_world_servers table but still not having any luck.

Anyone have any ideas? Possibly a way to log out more information on what the login and world server are really doing?

Code:

{
  "server" : {
      "chatserver" : {
        "host" : "",
        "port" : "7778"
      },
      "database" : {
        "db" : "eqemu",
        "host" : "localhost",
        "password" : "pw",
        "port" : "3306",
        "username" : "un"
      },
      "directories" : {
        "opcodes" : "assets/opcodes/",
        "patches" : "assets/patches/"
      },
      "files" : {
        "mail_opcodes" : "assets/opcodes/mail_opcodes.conf",
        "opcodes" : "assets/opcodes/opcodes.conf"
      },
      "mailserver" : {
        "host" : "",
        "port" : "7778"
      },
      "qsdatabase" : {
        "db" : "eqemu",
        "host" : "localhost",
        "password" : "pw",
        "port" : "3306",
        "username" : "un"
      },
      "world" : {
        "key" : "longkeyvalue",
                        "locked" : "false",
        "loginserver1" : {
            "account" : "",
            "host" : "10.2.2.8",
            "legacy": "1",
            "password" : "",
            "port" : "5998"
        },
        "localaddress" : "10.2.2.8",
        "longname" : "Test It",
        "shortname" : "test_it",
        "tcp" : {
            "ip" : "10.2.2.8",
            "port" : "9001"
        },
        "telnet" : {
            "enabled" : "true",
            "ip" : "10.2.2.8",
            "port" : "9000"
        }
      },
      "zones" : {
        "defaultstatus" : "0",
        "ports" : {
            "high" : "7400",
            "low" : "7000"
        }
      }
  }
}

Code:

{
  "account" : {
      "auto_create_accounts" : true
  },
  "client_configuration" : {
      "sod_opcodes" : "assets/opcodes/login_opcodes_sod.conf",
      "sod_port" : 5999,
      "titanium_opcodes" : "assets/opcodes/login_opcodes.conf",
      "titanium_port" : 5998
  },
  "database" : {
      "db" : "eqemu",
      "host" : "127.0.0.1",
      "password" : "pw",
      "port" : "3306",
      "user" : "un"
  },
  "logging" : {
      "dump_packets_in" : false,
      "dump_packets_out" : false,
      "trace" : false,
      "world_trace" : false
  },
  "security" : {
      "allow_password_login" : true,
      "allow_token_login" : true,
      "mode" : 14
  },
  "web_api" : {
      "enabled" : true,
      "port" : 6000
  },
  "worldservers" : {
      "reject_duplicate_servers" : false,
      "unregistered_allowed" : true
  }
}


World server logs....
[07-07-2020 :: 14:58:06] [WorldServer] [Info] Server (TCP) listener started
[07-07-2020 :: 14:58:06] [WorldServer] [Info] Connected to Loginserver: [10.2.2.8:5998]
[07-07-2020 :: 14:58:07] [WorldServer] [Info] New Query Server connection from [e5489f87-fab0-4097-968d-d0beca40d6c6] at [127.0.0.1:55068]
[07-07-2020 :: 14:58:08] [WorldServer] [Info] New Zone Server connection from [4130bc5b-ea9f-4c80-9e15-393d41eb5697] at [127.0.0.1:55070]
[07-07-2020 :: 14:58:08] [WorldServer] [Info] Zone started with name [.] by launcher [NONE]

Auth logs show me authenticating fine.

RedVapor 07-07-2020 04:37 PM

Quick, update I did find this in the world logs...
Quote:

[07-07-2020 :: 15:33:36] [WorldServer] [Error] Unable to open opcodes file [./patch_Titanium.conf]
[07-07-2020 :: 15:33:36] [WorldServer] [Error] Unable to open opcodes file [./patch_SoF.conf]
[07-07-2020 :: 15:33:36] [WorldServer] [Error] Unable to open opcodes file [./patch_SoD.conf]
[07-07-2020 :: 15:33:36] [WorldServer] [Error] Unable to open opcodes file [./patch_UF.conf]
[07-07-2020 :: 15:33:36] [WorldServer] [Error] Unable to open opcodes file [./patch_RoF.conf]
[07-07-2020 :: 15:33:36] [WorldServer] [Error] Unable to open opcodes file [./patch_RoF2.conf]
[07-07-2020 :: 15:33:36] [WorldServer] [Info] Connected to Loginserver: [127.0.0.1:5998]
Edit: Nevermind I copied them manually from ~/server/assests/patches to ~/servers/ and no change.

RedVapor 07-09-2020 12:38 AM

Had some good convo on the Discord server... I actually got it working using this for a second. After I rebooted the server it stopped...

Code:

{
  "server" : {
      "chatserver" : {
        "host" : "",
        "port" : "7778"
      },
      "database" : {
        "db" : "eq",
        "host" : "localhost",
        "password" : "REDACT",
        "port" : "3306",
        "username" : "REDACT"
      },
      "mailserver" : {
        "host" : "",
        "port" : "7778"
      },
      "qsdatabase" : {
        "db" : "eq",
        "host" : "localhost",
        "password" : "REDACT",
        "port" : "3306",
        "username" : "REDACT"
      },
      "webinterface" : {
        "port" : "9081"
      },
      "world" : {
        "address" : "10.2.2.8",
        "localaddress" : "10.2.2.8",
        "http" : {
            "enabled" : "false",
            "mimefile" : "mime.types",
            "port" : "9080"
        },
        "key" : "REDACT",
        "loginserver" : {
            "account" : "",
            "host" : "10.2.2.8",
            "legacy" : "0",
            "password" : "",
            "port" : "5998"
        },
        "longname" : "Test",
        "shortname" : "test",
        "tcp" : {
            "ip" : "10.2.2.8",
            "port" : "9001"
        },
        "telnet" : {
            "enabled" : "true",
            "ip" : "0.0.0.0",
            "port" : "9000"
        }
      },
      "zones" : {
        "defaultstatus" : "0",
        "ports" : {
            "high" : "7400",
            "low" : "7000"
        }
      }
  }
}

I notice the world and login servers have two different processes logging out to two separate log files. The login log file does the same. In all instance at least one set of the two shows the server connection. I assume the different processes are the server > world connection the client > world.

RedVapor 07-09-2020 11:37 AM

FYI this ended up being a bug in the code!

Worth noting, if you run "ps -ef | grep ./loginserver" there should only be one process and one log file! I submitted this to the devs so it should be fixed but if anyone is on the older code and battling this open your ~/server/server_launcher.pl and change a value on line 174.

Code:

#  Change this two...
for ($i = $loginserver_process_count; $i < 2; $i++) {

# To one...
for ($i = $loginserver_process_count; $i < 1; $i++) {



All times are GMT -4. The time now is 06:39 AM.

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