pvpgn / pvpgn-server

Next generation of PvPGN server
https://pvpgn.pro
GNU General Public License v2.0
555 stars 156 forks source link

External clients can't connect to realm. #381

Closed RobertRoberts2020 closed 5 years ago

RobertRoberts2020 commented 5 years ago

This is a fresh install.

SO: Windows server 2008 PVPGN Magic Builder Version: 2.26

Explanation:

When a client tries to connect using a modified gateway, the connection works, but they get a " Diablo 2 could not connect to realm" right after registering.

I can connect, create an account, create a character, and just play forever with no problems, I am using the same client version they are using, I am connecting using a gateway that points to my external IP.

All ports are opened and routed to the same IP which is the internal server IP, all config files have been modified to point to this internal IP, windows firewall is off.

D2GS Service is started. PVPGN GUI is started. D2BS is started. D2GC is started.

It looks like some kind of routing problem but I have no idea how to fix it.

PVPGN LOG

Apr 21 00:46:50 [info ] pvpgn::bnetd::realm_active: realm SYNDICATE actived Apr 21 00:47:26 [info ] pvpgn::bnetd::sd_accept: [408] accepted connection from 181.165.242.166:55292 on 0.0.0.0:6112 Apr 21 00:47:26 [info ] pvpgn::bnetd::handle_init_packet: [408] client initiated bnet connection Apr 21 00:47:26 [info ] pvpgn::bnetd::conn_set_gamelang: [408] setting client gamelang to "enUS" Apr 21 00:47:26 [info ] pvpgn::bnetd::_client_authreq109: [408] CLIENT_AUTHREQ_109 ticks=0xbe71c88f, verstr=1.0.13.0 exeinfo="Game.exe 03/09/10 04:10:51 61440" versionid=0x0000000d gameversion=0x01000d00 checksum=0x7686beca Apr 21 00:47:26 [info ] pvpgn::bnetd::_client_authreq109: [408] client matches versiontag "D2XP_113C" Apr 21 00:47:26 [info ] pvpgn::bnetd::_client_authreq109: [408] no upgrade is available Apr 21 00:47:26 [info ] pvpgn::bnetd::_client_fileinforeq: [408] file requested: "bnserver-D2DV.ini" - type = 0x80000004 Apr 21 00:47:28 [info ] pvpgn::bnetd::_client_loginreq2: [408] "PabloEscobar" logged in (correct password) Apr 21 00:47:42 [info ] pvpgn::bnetd::_client_setemailreply: [408] init account "PabloEscobar" email to "REDACTED@gmail.com" Apr 21 00:48:10 [info ] pvpgn::bnetd::conn_destroy: [408] "PabloEscobar" logged out Apr 21 00:48:10 [info ] pvpgn::bnetd::conn_destroy: [408] closed bnet connection Apr 21 00:48:11 [info ] pvpgn::bnetd::sd_accept: [408] accepted connection from 181.165.242.166:55313 on 0.0.0.0:6112 Apr 21 00:48:11 [info ] pvpgn::bnetd::handle_init_packet: [408] client initiated bnet connection Apr 21 00:48:11 [info ] pvpgn::bnetd::conn_set_gamelang: [408] setting client gamelang to "enUS" Apr 21 00:48:11 [info ] pvpgn::bnetd::_client_authreq109: [408] CLIENT_AUTHREQ_109 ticks=0x1db21089, verstr=1.0.13.0 exeinfo="Game.exe 03/09/10 04:10:51 61440" versionid=0x0000000d gameversion=0x01000d00 checksum=0x7686beca Apr 21 00:48:11 [info ] pvpgn::bnetd::_client_authreq109: [408] client matches versiontag "D2XP_113C" Apr 21 00:48:11 [info ] pvpgn::bnetd::_client_authreq109: [408] no upgrade is available Apr 21 00:48:11 [info ] pvpgn::bnetd::_client_fileinforeq: [408] file requested: "bnserver-D2DV.ini" - type = 0x80000004 Apr 21 00:48:13 [info ] pvpgn::bnetd::_client_loginreq2: [408] "PabloEscobar" logged in (correct password) Apr 21 00:48:40 [info ] pvpgn::bnetd::conn_destroy: [408] "PabloEscobar" logged out Apr 21 00:48:40 [info ] pvpgn::bnetd::conn_destroy: [408] closed bnet connection

G2DBS log:

Apr 21 00:46:49 [info ] app_main: D2DBS Version 1.10.1.1 Built Apr 20 2019 22:18:55 Apr 21 00:46:49 [info ] app_main: server initialized Apr 21 00:46:49 [info ] pvpgn::d2dbs::dbs_server_main: establishing the listener... Apr 21 00:46:49 [info ] pvpgn::d2dbs::d2ladder_checksum_check: ladder file check pass (checksum=0x7232C059) Apr 21 00:46:49 [info ] pvpgn::d2dbs::d2ladder_checksum_check: ladder file check pass (checksum=0x7232C059) Apr 21 00:46:49 [info ] pvpgn::d2dbs::d2ladder_saveladder: backup ladder file Apr 21 00:46:49 [info ] pvpgn::d2dbs::d2ladder_saveladder: ladder file saved (2 changes) Apr 21 00:46:49 [info ] pvpgn::d2dbs::dbs_server_main: waiting for connections... Apr 21 00:46:49 [info ] pvpgn::d2dbs::d2ladder_checksum_check: ladder file check pass (checksum=0x7232C059) Apr 21 00:46:49 [info ] pvpgn::d2dbs::d2ladder_saveladder: backup ladder file Apr 21 00:46:49 [info ] pvpgn::d2dbs::d2ladder_saveladder: ladder file saved (0 changes) Apr 21 00:46:50 [info ] pvpgn::d2dbs::dbs_server_loop: accepted connection from 192.168.1.20:49485 , socket 328 . Apr 21 00:46:50 [info ] pvpgn::d2dbs::setsockopt_keepalive: set KEEPALIVE option for socket 328 Apr 21 00:46:50 [info ] pvpgn::d2dbs::dbs_verify_ipaddr: ip address 192.168.1.20 is valid Apr 21 00:46:50 [info ] pvpgn::d2dbs::dbs_packet_handle: set connection type for gs 192.168.1.20(1) on socket 328

D2CS log:

Apr 21 00:46:50 [info ] app_main: D2CS Version 1.10.1.1 Built Apr 20 2019 Apr 21 00:46:50 [info ] pvpgn::d2cs::d2gs_create: added game server 192.168.1.20 (id: 1) to list Apr 21 00:46:50 [info ] pvpgn::d2cs::d2ladder_readladder: ladder file loaded successfully (28 types 35 maxtype) Apr 21 00:46:50 [info ] pvpgn::d2cs::d2ladder_init: ladder data initialized Apr 21 00:46:50 [info ] pvpgn::trans_load: trans file loaded Apr 21 00:46:50 [info ] pvpgn::FDWSelectBackend::FDWSelectBackend: fdwatch select() based layer initialized (max 1000 sockets) Apr 21 00:46:50 [info ] app_main: server initialized Apr 21 00:46:50 [info ] pvpgn::d2cs::d2cs_server_process: network initialized Apr 21 00:46:50 [info ] pvpgn::d2cs::s2s_create: try make s2s connection to 192.168.1.20:6112 Apr 21 00:46:50 [info ] pvpgn::d2cs::s2s_create: connection to s2s server 192.168.1.20:6112 is in progress Apr 21 00:46:50 [info ] pvpgn::d2cs::d2cs_conn_create: created session=1 socket=320 (1 current connections) Apr 21 00:46:50 [info ] pvpgn::d2cs::server_listen: listen on 192.168.1.20:6113 Apr 21 00:46:50 [info ] pvpgn::d2cs::d2cs_server_process: entering server loop Apr 21 00:46:50 [info ] pvpgn::d2cs::conn_handle_connecting: connected to 192.168.1.20:6112 Apr 21 00:46:50 [info ] pvpgn::d2cs::handle_bnetd_init: sent init class packet to bnetd Apr 21 00:46:50 [info ] pvpgn::d2cs::on_bnetd_authreq: received bnetd sessionnum 0 Apr 21 00:46:50 [info ] pvpgn::d2cs::on_bnetd_authreply: authed by bnetd Apr 21 00:46:50 [info ] pvpgn::d2cs::d2ladder_readladder: ladder file loaded successfully (28 types 35 maxtype) Apr 21 00:46:51 [info ] pvpgn::d2cs::server_accept: accept connection from 192.168.1.20 Apr 21 00:46:51 [info ] pvpgn::d2cs::d2cs_conn_create: created session=2 socket=336 (2 current connections) Apr 21 00:46:51 [info ] pvpgn::d2cs::on_d2gs_initconn: [336] client initiated d2gs connection Apr 21 00:46:51 [info ] pvpgn::d2cs::handle_d2gs_init: sent init packet to d2gs 1 (sessionnum=2) Apr 21 00:46:51 [info ] pvpgn::d2cs::on_d2gs_authreply: game server 192.168.1.20 authed Apr 21 00:46:51 [info ] pvpgn::d2cs::d2gs_active: game server 192.168.1.20:49486 (id: 1) actived (1 total) Apr 21 00:46:51 [info ] pvpgn::d2cs::on_d2gs_setgsinfo: change game server 192.168.1.20 max game from 0 to 50 (0 current)

PVPGN PARTIAL LOG:

Apr 21 01:04:24 [debug] pvpgn::bnetd::ipbanlist_check: checking 181.165.242.166 Apr 21 01:04:24 [info ] pvpgn::bnetd::sd_accept: [408] accepted connection from 181.165.242.166:55782 on 0.0.0.0:6112 Apr 21 01:04:24 [debug] pvpgn::bnetd::conn_create: [408][392] sessionkey=0x1555843401 sessionnum=0x00000002 Apr 21 01:04:24 [debug] pvpgn::bnetd::sd_accept: [408] client connected to a bnet listening address Apr 21 01:04:24 [info ] pvpgn::bnetd::handle_init_packet: [408] client initiated bnet connection Apr 21 01:04:24 [trace] pvpgn::bnetd::conn_shutdown: [408] connection already closed Apr 21 01:04:24 [debug] pvpgn::bnetd::conn_set_class: added latency check timer Apr 21 01:04:24 [debug] pvpgn::bnetd::_client_auth_info: [408] AUTH_INFO packet { protocol=0x0, platform=IX86, product=D2XP, versionid=0xd, language=enUS, localip=0xe01a8c0, tzbias=00b4, locale=11274, language=3082, country=ARG.Argentina } Apr 21 01:04:24 [info ] pvpgn::bnetd::conn_set_gamelang: [408] setting client gamelang to "enUS" Apr 21 01:04:24 [debug] pvpgn::bnetd::_client_auth_info: [408] selected "IX86ver1.mpq" "A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" Apr 21 01:04:24 [info ] pvpgn::bnetd::_client_authreq109: [408] CLIENT_AUTHREQ_109 ticks=0x5f4f2423, verstr=1.0.13.0 exeinfo="Game.exe 03/09/10 04:10:51 61440" versionid=0x0000000d gameversion=0x01000d00 checksum=0x7686beca Apr 21 01:04:24 [info ] pvpgn::bnetd::_client_authreq109: [408] client matches versiontag "D2XP_113C" Apr 21 01:04:24 [info ] pvpgn::bnetd::_client_authreq109: [408] no upgrade is available Apr 21 01:04:24 [info ] pvpgn::bnetd::_client_fileinforeq: [408] file requested: "bnserver-D2DV.ini" - type = 0x80000004 Apr 21 01:04:27 [debug] pvpgn::bnetd::file_read_attrs: loading "var\users/PabloEscobar" Apr 21 01:04:27 [info ] pvpgn::bnetd::_client_loginreq2: [408] "PabloEscobar" logged in (correct password) Apr 21 01:04:27 [debug] pvpgn::bnetd::conn_set_realm: [408] set to "SYNDICATE" Apr 21 01:04:27 [debug] pvpgn::trans_net: checking 192.168.1.20:6113 for client 181.165.242.166 ... Apr 21 01:04:27 [debug] pvpgn::trans_net: no match found for 192.168.1.20:6113 (not translated) Apr 21 01:04:35 [debug] pvpgn::bnetd::ipbanlist_check: lastcheck: 1555819464, now: 1555819475, now-lc: 11. Apr 21 01:04:35 [debug] pvpgn::bnetd::ipbanlist_check: checking 192.168.1.10

I uploaded the conf files to my own website so it's easier to get them but not sure if the link will get removed since it's a ddns so I'm posting both the ddns and the IP:

Current Diablo 2 pvpgn conf files (DDNS): http://syndicate-node.ddns.net/files/ConfFiles/

Current Diablo 2 pvpgn conf files ( IP ):

http://190.16.225.166/files/ConfFiles/

HarpyWar commented 5 years ago

Probably you did not setup port forwarding if you have a router.

RobertRoberts2020 commented 5 years ago

I did forward all four ports to the ip of the server. And checked with yougetsignal that they are in fact open. El 21/4/2019 19:27, "HarpyWar" notifications@github.com escribió:

Probably you did not setup port forwarding if you have a router.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/pvpgn/pvpgn-server/issues/381#issuecomment-485286753, or mute the thread https://github.com/notifications/unsubscribe-auth/AJJHCCXD37IXNY6F3WDJKYTPRTS4RANCNFSM4HHK4UKA .

HarpyWar commented 5 years ago

Attach configs: bnetd, d2dbs, d2cs, d2gs

RobertRoberts2020 commented 5 years ago

Updated original post with link to current configs.

HarpyWar commented 5 years ago

realm.conf must contain external IP address. A player tries connect to the local IP address from this file and can not.

RobertRoberts2020 commented 5 years ago

I added my external IP address to realm.conf , clients now get a "no realms are available right now, please try again later".

And now this problem affects me too I can't join and I get that same error. ( I could join with the internal IP)

Port is still open:

open port finder Remote Address
190.16.225.166

Use Current IP Port Number 6113

Open Port 6113 is open on 190.16.225.166.

HarpyWar commented 5 years ago

I was wrong, this file is responsible to a connection between pvpgn and d2cs, and it can be not exposed to the internet. When exactly the message "Diablo 2 could not connect to realm" appears? Take a screenshot to get a full picture. Do you connect from the same computer where D2GS is running? Am I correct that you trying to connect to your external IP address but behind the router and it works for you, but when other users try connect then they cant? If yes then it may be still because the wrong port forwarding. If you try use VPN then you should get the same error.

RobertRoberts2020 commented 5 years ago

Ok I undone the changes to realm.conf which now has the internal server IP.

Screenshot from one of the clients: http://syndicate-node.ddns.net/files/ConfFiles/norealmsexternalclient.jpeg

I can connect to it with no problems using my public IP on the gateway from inside the network. I am pretty sure it's some kind of routing problem, though I'm unsure how to fix it. It's like clients can actually connect but are not reaching the realm, for some reason.

The server has its windows firewall off and all ports, literally all four of them have been routed and I have confirmed they are open.

http://syndicate-node.ddns.net/files/ConfFiles/allports.JPG

The error shows up right after registering.

HarpyWar commented 5 years ago

Open also UDP proto for 6112 and 4000

RobertRoberts2020 commented 5 years ago

Ok, we tried again, and apparently, (before forwaring udp too ) they managed to join the realm but when they try to create a game they get the error " Failed to join game" then diablo 2 returns to lobby.

I believe they managed to connect to the realm because I set the translation from 192.168.1.20 to my public IP, but there's still something else missing.

PVPGN LOG:

Apr 22 13:15:03 [debug] pvpgn::bnetd::game_del_player: game "Asdasd" has ref=1, count=1; trying to remove player "PoblaPeres" Apr 22 13:15:03 [debug] pvpgn::bnetd::game_del_player: removing player #0 "PoblaPeres" from "Asdasd", 0 players left Apr 22 13:15:03 [debug] pvpgn::bnetd::game_del_player: player "PoblaPeres" left without reporting (valid) results Apr 22 13:15:03 [debug] pvpgn::bnetd::game_del_player: player deleted... (ref=1) Apr 22 13:15:03 [debug] pvpgn::bnetd::game_del_player: no more players, reporting game Apr 22 13:15:03 [info ] pvpgn::bnetd::game_report: diablo gamereport disabled: ignoring game Apr 22 13:15:03 [debug] pvpgn::bnetd::game_del_player: no more players, destroying game Apr 22 13:15:03 [debug] pvpgn::bnetd::game_destroy: game "Asdasd" (count=1 ref=1) removed from list... Apr 22 13:15:03 [info ] pvpgn::bnetd::game_destroy: game deleted Apr 22 13:15:03 [debug] pvpgn::trans_net: checking 192.168.1.20:6113 for client 200.125.122.242 ... Apr 22 13:15:03 [debug] pvpgn::trans_net: against entry -> 192.168.1.20:6113 output 192.168.1.20:6113 network 192.168.1.0/0xffffff00 Apr 22 13:15:03 [debug] pvpgn::trans_net: client is not in the correct network Apr 22 13:15:03 [debug] pvpgn::trans_net: against entry -> 192.168.1.20:6113 output 190.16.225.166:6113 network 0.0.0.0/0x00000000 Apr 22 13:15:03 [debug] pvpgn::trans_net: 192.168.1.20:6113 translated to 190.16.225.166:6113 Apr 22 13:15:03 [debug] pvpgn::bnetd::on_d2cs_accountloginreq: user PoblaPeres loggedin on d2cs Apr 22 13:15:03 [debug] pvpgn::bnetd::on_d2cs_charloginreq: loaded portrait for character Chingui Apr 22 13:15:03 [debug] pvpgn::bnetd::_client_progident2: [408] CLIENT_PROGIDENT2 clienttag=0x44325850 Apr 22 13:15:03 [trace] pvpgn::bnetd::conn_set_playerinfo: [408] playerinfo request for client "D2XP" playerinfo="SYNDICATE,Chingui" Apr 22 13:15:03 [info ] pvpgn::bnetd::conn_set_channel: [408] joined channel "Diablo II-1" Apr 22 13:15:03 [debug] pvpgn::bnetd::class_topic::class_topiclist::get: returning nullptr

More PVPGN LOG:

Apr 22 13:23:12 [debug] pvpgn::trans_net: client is not in the correct network Apr 22 13:23:12 [debug] pvpgn::trans_net: against entry -> 192.168.1.20:6113 output 190.16.225.166:6113 network 0.0.0.0/0x00000000 Apr 22 13:23:12 [debug] pvpgn::trans_net: 192.168.1.20:6113 translated to 190.16.225.166:6113 Apr 22 13:23:12 [debug] pvpgn::bnetd::on_d2cs_accountloginreq: user LEANDER loggedin on d2cs Apr 22 13:23:13 [debug] pvpgn::bnetd::on_d2cs_charloginreq: loaded portrait for character Leander Apr 22 13:23:13 [debug] pvpgn::bnetd::_client_progident2: [404] CLIENT_PROGIDENT2 clienttag=0x44325850 Apr 22 13:23:13 [trace] pvpgn::bnetd::conn_set_playerinfo: [404] playerinfo request for client "D2XP" playerinfo="SYNDICATE,Leander" Apr 22 13:23:14 [trace] pvpgn::bnetd::_client_motdw3: lastnews() 1396083966 news_time 1096621567 Apr 22 13:23:19 [debug] pvpgn::bnetd::_client_joingame: [404] trying to join game "Syn1" pass="" Apr 22 13:23:19 [info ] pvpgn::bnetd::_client_joingame: [404] "LEANDER" joined game "Syn1" Apr 22 13:23:54 [info ] pvpgn::bnetd::_client_closegame: [408] client closing game Apr 22 13:23:54 [debug] pvpgn::bnetd::game_del_player: game "Syn1" has ref=3, count=3; trying to remove player "PoblaPeres" Apr 22 13:23:54 [debug] pvpgn::bnetd::game_del_player: removing player #1 "PoblaPeres" from "Syn1", 2 players left Apr 22 13:23:54 [debug] pvpgn::bnetd::game_del_player: player "PoblaPeres" left without reporting (valid) results Apr 22 13:23:54 [debug] pvpgn::bnetd::game_del_player: player deleted... (ref=3) Apr 22 13:23:54 [debug] pvpgn::trans_net: checking 192.168.1.20:6113 for client 200.125.122.242 ... Apr 22 13:23:54 [debug] pvpgn::trans_net: against entry -> 192.168.1.20:6113 output 192.168.1.20:6113 network 192.168.1.0/0xffffff00 Apr 22 13:23:54 [debug] pvpgn::trans_net: client is not in the correct network Apr 22 13:23:54 [debug] pvpgn::trans_net: against entry -> 192.168.1.20:6113 output 190.16.225.166:6113 network 0.0.0.0/0x00000000 Apr 22 13:23:54 [debug] pvpgn::trans_net: 192.168.1.20:6113 translated to 190.16.225.166:6113 Apr 22 13:23:54 [debug] pvpgn::bnetd::on_d2cs_accountloginreq: user PoblaPeres loggedin on d2cs Apr 22 13:23:54 [debug] pvpgn::bnetd::on_d2cs_charloginreq: loaded portrait for character Chingui Apr 22 13:23:54 [debug] pvpgn::bnetd::_client_progident2: [408] CLIENT_PROGIDENT2 clienttag=0x44325850 Apr 22 13:23:54 [trace] pvpgn::bnetd::conn_set_playerinfo: [408] playerinfo request for client "D2XP" playerinfo="SYNDICATE,Chingui" Apr 22 13:23:54 [info ] pvpgn::bnetd::conn_set_channel: [408] joined channel "Diablo II-1" Apr 22 13:23:54 [debug] pvpgn::bnetd::class_topic::class_topiclist::get: returning nullptr Apr 22 13:24:13 [info ] pvpgn::bnetd::_client_closegame: [404] client closing game Apr 22 13:24:13 [debug] pvpgn::bnetd::game_del_player: game "Syn1" has ref=2, count=3; trying to remove player "LEANDER" Apr 22 13:24:13 [debug] pvpgn::bnetd::game_del_player: removing player #2 "LEANDER" from "Syn1", 1 players left Apr 22 13:24:13 [debug] pvpgn::bnetd::game_del_player: player "LEANDER" left without reporting (valid) results Apr 22 13:24:13 [debug] pvpgn::bnetd::game_del_player: player deleted... (ref=2) Apr 22 13:24:13 [debug] pvpgn::trans_net: checking 192.168.1.20:6113 for client 190.55.33.224 ... Apr 22 13:24:13 [debug] pvpgn::trans_net: against entry -> 192.168.1.20:6113 output 192.168.1.20:6113 network 192.168.1.0/0xffffff00 Apr 22 13:24:13 [debug] pvpgn::trans_net: client is not in the correct network Apr 22 13:24:13 [debug] pvpgn::trans_net: against entry -> 192.168.1.20:6113 output 190.16.225.166:6113 network 0.0.0.0/0x00000000 Apr 22 13:24:13 [debug] pvpgn::trans_net: 192.168.1.20:6113 translated to 190.16.225.166:6113 Apr 22 13:24:13 [debug] pvpgn::bnetd::on_d2cs_accountloginreq: user LEANDER loggedin on d2cs Apr 22 13:24:14 [debug] pvpgn::bnetd::on_d2cs_charloginreq: loaded portrait for character Leander Apr 22 13:24:14 [debug] pvpgn::bnetd::_client_progident2: [404] CLIENT_PROGIDENT2 clienttag=0x44325850 Apr 22 13:24:14 [trace] pvpgn::bnetd::conn_set_playerinfo: [404] playerinfo request for client "D2XP" playerinfo="SYNDICATE,Leander" Apr 22 13:24:14 [trace] pvpgn::bnetd::_client_motdw3: lastnews() 1396083966 news_time 1096621567 Apr 22 13:25:49 [debug] pvpgn::bnetd::_client_joingame: [408] trying to join game "Syn1" pass="" Apr 22 13:25:49 [info ] pvpgn::bnetd::_client_joingame: [408] "PoblaPeres" joined game "Syn1"

D2CS LOG:

pr 22 13:23:00 [info ] pvpgn::d2cs::on_client_charloginreq: got character Chingui(PoblaPeres) login request Apr 22 13:23:00 [info ] pvpgn::d2cs::on_bnetd_charloginreply: character Chingui authed Apr 22 13:23:02 [info ] pvpgn::d2cs::on_client_joingamereq: request join game Syn1 for character Chingui on gs 1 Apr 22 13:23:02 [info ] pvpgn::d2cs::on_d2gs_joingamereply: added Chingui to game Syn1 on gs 1 Apr 22 13:23:02 [debug] pvpgn::trans_net: checking 192.168.1.20:4000 for client 200.125.122.242 ... Apr 22 13:23:02 [debug] pvpgn::trans_net: no match found for 192.168.1.20:4000 (not translated) Apr 22 13:23:02 [info ] pvpgn::d2cs::on_d2gs_joingamereply: no translation required for gamserver 192.168.1.20 Apr 22 13:23:02 [info ] pvpgn::d2cs::d2cs_conn_destroy: [324] closed connection 13 (3 left) Apr 22 13:23:08 [info ] pvpgn::d2cs::game_destroy: game Asd removed from game list (1 left) Apr 22 13:23:12 [info ] pvpgn::d2cs::server_accept: accept connection from 190.55.33.224 Apr 22 13:23:12 [info ] pvpgn::d2cs::d2cs_conn_create: created session=14 socket=324 (4 current connections) Apr 22 13:23:12 [info ] pvpgn::d2cs::on_d2cs_initconn: [324] client initiated d2cs connection Apr 22 13:23:12 [info ] pvpgn::d2cs::on_client_loginreq: got client (LEANDER) login request sessionnum=0x6 Apr 22 13:23:12 [info ] pvpgn::d2cs::on_bnetd_accountloginreply: account LEANDER authed Apr 22 13:23:12 [debug] pvpgn::d2cs::on_client_charlistreq_110: adding char leander (LEANDER) Apr 22 13:23:13 [info ] pvpgn::d2cs::on_client_charloginreq: got character Leander(LEANDER) login request Apr 22 13:23:13 [info ] pvpgn::d2cs::on_bnetd_charloginreply: character Leander authed Apr 22 13:23:19 [info ] pvpgn::d2cs::on_client_joingamereq: request join game Syn1 for character Leander on gs 1 Apr 22 13:23:19 [info ] pvpgn::d2cs::on_d2gs_joingamereply: added Leander to game Syn1 on gs 1 Apr 22 13:23:19 [debug] pvpgn::trans_net: checking 192.168.1.20:4000 for client 190.55.33.224 ... Apr 22 13:23:19 [debug] pvpgn::trans_net: no match found for 192.168.1.20:4000 (not translated) Apr 22 13:23:19 [info ] pvpgn::d2cs::on_d2gs_joingamereply: no translation required for gamserver 192.168.1.20 Apr 22 13:23:19 [info ] pvpgn::d2cs::d2cs_conn_destroy: [324] closed connection 14 (3 left) Apr 22 13:23:54 [info ] pvpgn::d2cs::server_accept: accept connection from 200.125.122.242 Apr 22 13:23:54 [info ] pvpgn::d2cs::d2cs_conn_create: created session=15 socket=324 (4 current connections) Apr 22 13:23:54 [info ] pvpgn::d2cs::on_d2cs_initconn: [324] client initiated d2cs connection Apr 22 13:23:54 [info ] pvpgn::d2cs::on_client_loginreq: got client (PoblaPeres) login request sessionnum=0xB Apr 22 13:23:54 [info ] pvpgn::d2cs::on_bnetd_accountloginreply: account PoblaPeres authed Apr 22 13:23:54 [info ] pvpgn::d2cs::on_client_charloginreq: got character Chingui(PoblaPeres) login request Apr 22 13:23:54 [info ] pvpgn::d2cs::on_bnetd_charloginreply: character Chingui authed Apr 22 13:24:13 [info ] pvpgn::d2cs::server_accept: accept connection from 190.55.33.224 Apr 22 13:24:13 [info ] pvpgn::d2cs::d2cs_conn_create: created session=16 socket=344 (5 current connections) Apr 22 13:24:13 [info ] pvpgn::d2cs::on_d2cs_initconn: [344] client initiated d2cs connection Apr 22 13:24:13 [info ] pvpgn::d2cs::on_client_loginreq: got client (LEANDER) login request sessionnum=0x6 Apr 22 13:24:13 [info ] pvpgn::d2cs::on_bnetd_accountloginreply: account LEANDER authed Apr 22 13:24:14 [info ] pvpgn::d2cs::on_client_charloginreq: got character Leander(LEANDER) login request Apr 22 13:24:14 [info ] pvpgn::d2cs::on_bnetd_charloginreply: character Leander authed Apr 22 13:25:49 [info ] pvpgn::d2cs::on_client_joingamereq: request join game Syn1 for character Chingui on gs 1 Apr 22 13:25:49 [info ] pvpgn::d2cs::on_d2gs_joingamereply: added Chingui to game Syn1 on gs 1 Apr 22 13:25:49 [debug] pvpgn::trans_net: checking 192.168.1.20:4000 for client 200.125.122.242 ... Apr 22 13:25:49 [debug] pvpgn::trans_net: no match found for 192.168.1.20:4000 (not translated) Apr 22 13:25:49 [info ] pvpgn::d2cs::on_d2gs_joingamereply: no translation required for gamserver 192.168.1.20 Apr 22 13:25:49 [info ] pvpgn::d2cs::d2cs_conn_destroy: [324] closed connection 15 (4 left) Apr 22 13:26:47 [info ] pvpgn::d2cs::server_accept: accept connection from 200.125.122.242 Apr 22 13:26:47 [info ] pvpgn::d2cs::d2cs_conn_create: created session=17 socket=324 (5 current connections) Apr 22 13:26:47 [info ] pvpgn::d2cs::on_d2cs_initconn: [324] client initiated d2cs connection Apr 22 13:26:47 [info ] pvpgn::d2cs::on_client_loginreq: got client (PoblaPeres) login request sessionnum=0xB Apr 22 13:26:47 [info ] pvpgn::d2cs::on_bnetd_accountloginreply: account PoblaPeres authed Apr 22 13:26:47 [info ] pvpgn::d2cs::on_client_charloginreq: got character Chingui(PoblaPeres) login request Apr 22 13:26:47 [info ] pvpgn::d2cs::on_bnetd_charloginreply: character Chingui authed Apr 22 13:27:22 [debug] pvpgn::d2cs::on_client_charlistreq_110: adding char chingui (PoblaPeres) Apr 22 13:27:23 [info ] pvpgn::d2cs::on_client_charloginreq: got character Chingui(PoblaPeres) login request Apr 22 13:27:23 [info ] pvpgn::d2cs::on_bnetd_charloginreply: character Chingui authed Apr 22 13:28:05 [info ] pvpgn::d2cs::on_client_joingamereq: request join game Syn1 for character Chingui on gs 1 Apr 22 13:28:05 [info ] pvpgn::d2cs::on_d2gs_joingamereply: added Chingui to game Syn1 on gs 1 Apr 22 13:28:05 [debug] pvpgn::trans_net: checking 192.168.1.20:4000 for client 200.125.122.242 ... Apr 22 13:28:05 [debug] pvpgn::trans_net: no match found for 192.168.1.20:4000 (not translated) Apr 22 13:28:05 [info ] pvpgn::d2cs::on_d2gs_joingamereply: no translation required for gamserver 192.168.1.20 Apr 22 13:28:05 [info ] pvpgn::d2cs::d2cs_conn_destroy: [324] closed connection 17 (4 left)

HarpyWar commented 5 years ago

Do you mean address_translation.conf? AFAIR this is required only when you have no control to a router with public IP, or when playing "Open Battle.net" when a connection between players directly without a dedicated server (D2GS). It should not be edited If you setup NAT on the device properly.

Failed to join game can appear because of block UDP traffic or when can't parse the character file https://pvpgn.pro/d2gs_installation.html

RobertRoberts2020 commented 5 years ago

After removing the change I made to address_translation.conf I can no longer connect to the realm, so apparently, there's something going on with that.

If I comment out the translation I can't connect to realm. If I keep the settings I modified I can connect to the realm but I cann't create or join games. This happens from outside the network, if I connect from within everything works ok.

RobertRoberts2020 commented 5 years ago

Ok so I got it working.

I modified all entries related to diablo 2 on address translation and it worked ok.

This is how address_translation.conf looks like now:

################################################################################
# Diablo II Character Server translation (d2cs)
#
# You need this ONLY if you run a d2cs (ie ONLY if you will host a Diablo2 
# closed realm).
#
# Set input address to the ip of d2cs (same as the ip in the realm.conf)
# Set output address to the address to be sent to the clients
# Set exclude to the range of clients you want to recieve the input address
#    instead of the output address
# Set include to the range of client you want to recieve the output address
#
# input (ip:port)    output (ip:port)    exclude (ip/netmask)    include (ip/netmask)
#-----------------  ------------------  ----------------------  ----------------------

# Example, if you run a d2cs on IP 192.168.1.10 port 6113 and you have put the 
# same IP/port in realm.conf AND you have the external IP 1.2.3.4 AND you want 
# to exclude from translation the internal clients (those with IPs 192.168.1.x) 
# AND you port forward port 6113 TCP from your router to the machine running 
# d2cs and port 6113 then here put:

192.168.1.20:6113   190.16.225.166:6113       192.168.1.0/24        ANY

################################################################################
# Diablo II Game Server Translation (d2gs)
#
# Set input address to the ip of d2gs (same as the gameservlist in d2cs.conf)
# Set output address to the address to be sent to the clients
# Set exclude to the range of clients you want to recieve the input address
#    instead of the output address
# Set include to the range of client you want to recieve the output address
#
# input (ip:port)    output (ip:port)    exclude (ip/netmask)    include (ip/netmask)
#-----------------  ------------------  ----------------------  ----------------------

# Example, if you run a d2gs on IP 192.168.1.100 (and port 4000, d2gs cannot 
# listen on other port, it will automatically listen on port 4000) and you have 
# put the same IP in d2cs.conf and d2dbs.conf gameservlist setting AND you have 
# the external IP 1.2.3.4 AND you dont want to exclude from translation anyone 
# AND you port forward port 4000 TCP from your router to the machine running 
# d2gs and port 4000 then here put:

192.168.1.20:4000  190.16.225.166:4000       NONE                   ANY
HarpyWar commented 5 years ago

Great, thanks for the sharing the solution.

cen1 commented 5 years ago

@HarpyWar I made a pull request for this exact problem because I wasted hours. For me it happened on "public" VPS which didn't expose public IP directly on interface. I feel like address_translation.conf should be exposed more in the main README to bring more attention to it.

RobertRoberts2020 commented 5 years ago

Yes I agree. I found out about address translation after reading a thread by joe schmoe and decided to give it a try. At least on this particular case it was absolutely needed to modify address translation config file in order to get everything working.

@HarpyWar https://github.com/HarpyWar I made a pull request for this exact problem because I wasted hours. For me it happened on "public" VPS which didn't expose public IP directly on interface. I feel like address_translation.conf should be exposed more in the main README to bring more attention to it.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/pvpgn/pvpgn-server/issues/381#issuecomment-485564309, or mute the thread https://github.com/notifications/unsubscribe-auth/AJJHCCVFJYVWBUFSB4EPYYTPRYXB7ANCNFSM4HHK4UKA .