Topic: D2 Failed to Join error
I have been able to connect to my realm and create a character but when I create a game I get the failed to join error after a somewhat long loading screen. I have checked everything I can think of and rebuilt everything 4 times now. This is for a closed game. I am using d2gs 1.13c and my client is the same
pvpgn server output:
Nov 19 11:24:21 [info ] handle_bnet: Told Mutual Friends your in game Rgfe
Nov 19 11:24:21 [info ] pvpgn::bnetd::game_create: game "Rgfe" (pass "") type 19(Diablo II (closed)) startver 4 created
Nov 19 11:24:21 [info ] pvpgn::bnetd::_client_joingame: [348] "Lanthanum" joined game "Rgfe"
Nov 19 11:25:13 [info ] pvpgn::bnetd::_client_closegame: [348] client closing game
Nov 19 11:25:13 [info ] pvpgn::bnetd::game_report: diablo gamereport disabled: ignoring game
Nov 19 11:25:13 [info ] pvpgn::bnetd::game_destroy: game deleted
Nov 19 11:25:15 [error] pvpgn::list_get_length: got NULL list
Address translation
########################################################################################################
#------------------------------------------------------------------------------------------------------#
# Address Translation table #
#----------------------------------------------------------------------------
#
# DO NOT, I REPEAT, DO NOT TOUCH THIS FILE UNLESS YOU RUN THE SERVER ON A
# COMPUTER INSIDE A LAN AND YOU NEED TO HAVE PLAYERS FROM "OUTSIDE" YOUR LAN
#
# This is a list of ip:port addresses that get translated
# EVERYTHING AFTER A "#" IS IGNORED (ie COMMENTED)
#
# The entries are broken into four parts:
#
# * the IP address w/port to be translated (what pvpgn wants to send initially)
# * the output IP address w/port (what pvpgn WILL send after translation)
# * comma delimited list of networks to be excluded from translation
# * comma delimited list of networks to be included in translation
#
# Each line must contain all four parts or the entire entry will be rejected
# There are no default ports, make sure input and output include the port number
#
# The entries are searched in the order listed in this file
# Exclude networks are searched before include networks
# Only the first matching line is used
# Lines begining with '#' are ignored
#
# If no match is found, the input ip will be returned.
#
# Network specification can be either NONE, ANY or x.y.z.t/bitlen:
# - NONE = no neworks (same as 0.0.0.0/32)
# - ANY = All networks (same as 0.0.0.0/0)
# x.y.z.t/bitlen : means matching the first bitlen bits from the x.y.z.t value
# Example: if you have the network 192.168.0.x (where x is from 1 to 255) to
# match any IP in it you use "192.168.0.0/24" meaning the first 24 bits of
# 192.168.0.0 HAVE TO match (the first 24 bits means the first 3 digits)
#
#################################################################################
################################################################################
# w3route server ip translation
#
# Here you can translate the IP/port of the w3route IP/port as sent by pvpgn
# to the WAR3 clients. You need this ONLY if you want to have external W3
# players that will play PlayGame/ArrangedTeam games.
# 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 clients you want to recieve the output address
#
# input (ip:port) output (ip:port) exclude (ip/netmask) include (ip/netmask)
#----------------- ------------------ ---------------------- ----------------------
# Example, if you left w3route = 0.0.0.0:6200 as it is by default in bnetd.conf
# AND you have the external IP 1.2.3.4 AND you want to exclude from translation
# the internal W3 clients (those with IPs 192.168.0.x) AND you port forward
# port 6200 TCP from your router to the pvpgn server port 6200 then here put:
# 0.0.0.0:6200 1.2.3.4:6200 192.168.0.0/24 ANY
###############################################################################
# Game Translations for clients/games (client data ports)
#
# You need this ONLY if you will have internal players that want to play with
# external ones.
#
# This setting is NOT NEEDED for D2 closed realm clients (they connect to d2gs
# to play games not to eachover).
#
# Set input address to the client to be translated
# Set output address to the address to be sent to the other 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 clients you want to recieve the output address
#
# input (ip:port) output (ip:port) exclude (ip/netmask) include (ip/netmask)
#----------------- ------------------ ---------------------- ----------------------
# Example, if you have an internal client on IP 192.168.1.10 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 10.x.y.z) AND you port forward
# port 6118 TCP AND UDP from your router to the client IP and port 6112 then
# here put:
#192.168.1.10:6112 1.2.3.4:6118 192.168.1.0/24,10.0.0.0/8 ANY
################################################################################
# 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.30:6113 47.220.194.31: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.30:4000 47.220.194.31:4000 NONE ANY
################################################################################
# Westwood Online Game Server Translation (wwol)
#
#
# input (ip:port) output (ip:port) exclude (ip/netmask) include (ip/netmask)
#----------------- ------------------ ---------------------- ----------------------
#192.168.1.10:4005 1.2.3.4:4005 192.168.1.0/24 ANY
d2cs.conf
#################################################################################
# d2cs.conf - Configuration file for the diablo2 game control server #
#-------------------------------------------------------------------------------#
# #
# This file is an example configuration and may require modification to #
# suit your needs or your site. Blank lines and lines starting with a "#" #
# are ignored. Use quotes around values that contain spaces. #
# #
#################################################################################
#################################################################################
# Server Major Settings #
#-------------------------------------------------------------------------------#
# #
# Your realm server name #
# Here you put the value of the first column from the realm line in realm.conf
# Example, if you have the line
# "MyRealm" "My Super Realm" <someIP>:6113
# in realm.conf then here you put realmname = "MyRealm"
realmname = D2CS
# This is a comma delimited list of hostnames that the server should
# listen on. Generally, YOU DONT NEED TO TOUCH THIS but it might be useful
# to make an internal-only server on a gateway machine for example. If the
# list is not set or if it has a entry with no host component, the server will
# bind to that port on all interfaces.
# d2cs default listening port is 6113
# WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!
#servaddrs = 192.168.1.30:6113
# This is a comma delimited list of game servers. Put here the IPs
# (without ports) of the machines running d2gs. If you run d2gs on the same
# machine as d2cs you put the IP of that machine here.
# Example: gameservlist = 192.168.1.10
# (if you have a d2gs running on a machine with the IP 192.168.1.10)
#
# YOU MUST CHANGE THIS OR D2CS WON'T WORK PROPERLY
#
# WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!
gameservlist = 192.168.1.30
# Put here the address and port of the machine running bnetd (or pvpgn.exe).
# If you run d2cs on the same machine as bnetd (or pvpgn.exe) then here you
# put the IP of that machine.
#
# YOU MUST CHANGE THIS OR D2CS WON'T WORK PROPERLY
#
# bnetd default listening port is 6112
# WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!
bnetdaddr = 192.168.1.30:6112
# Set this to the maximum number of concurrent connections allowed on
# this server. DO NOT TOUCH UNLESS STRICTLY NECESSARY!
max_connections = 1000
# This sets the realm to Classic or LOD or Both
# Classic = 0
# LOD = 1
# Both = 2 (default)
lod_realm = 2
# This sets whether you can convert a clasic char to
# an expansion char.
# Allow Convert = 1
# Don't allow Convert = 0
allow_convert = 1
# here u can enter the symbols allowed in accountnames (additional to
# alphanumerical symbals which are always accepted). please note that
# it is absolutly mandatory that u set up the same symbols here as in
# bnetd.conf or else u wont be able to play D2 with some characters
# (those whose symbols are allowed in bnetd.conf but not here)
# same warnings as in bnetd.conf apply here - be warned - and just
# change something if you know what you are doing
#default setting is "-_[]"
account_allowed_symbols = "-_[]"
# #
#################################################################################
#################################################################################
# Message logs #
#-------------------------------------------------------------------------------#
# Multiple log levels can be defined by connecting them with a comma (,)
# Available loglevels are:
# none
# trace
# debug
# info
# warn
# error
# fatal
#loglevels = fatal,error,warn,info
loglevels = fatal,error,warn,info,debug,trace
# #
#################################################################################
#################################################################################
# File and Path section #
# Use absolute paths in these lines to avoid problems! #
#-------------------------------------------------------------------------------#
# #
logfile = var\d2cs.log
charsavedir = var\charsave
charinfodir = var\charinfo
bak_charsavedir = var\bak\charsave
bak_charinfodir = var\bak\charinfo
ladderdir = var\ladders
transfile = conf\address_translation.conf
d2gsconffile = conf\d2server.ini
#pidfile = var\d2cs.pid
# d2s template for a new created characters
newbiefile_amazon = files\newbie.save
newbiefile_sorceress = files\newbie.save
newbiefile_necromancer = files\newbie.save
newbiefile_paladin = files\newbie.save
newbiefile_barbarian = files\newbie.save
newbiefile_druid = files\newbie.save
newbiefile_assasin = files\newbie.save
# #
#################################################################################
#################################################################################
# Misc #
#-------------------------------------------------------------------------------#
# #
# Message Of The Day
motd = "No Message Of The Day Set"
# Set to non-zero to allow creation of new realm character
allow_newchar = 1
# Do you want d2cs to check client for multilogin for security reason?
check_multilogin = 0
# Maxinum number of character per account
# Max allowed value is 18 (enforced by server)
maxchar = 8
# Character sorting. Options are: level, mtime, name, none. (none assumed if
# not specified).
#charlist_sort = "none"
# Do we need ascending or descending order for charlist?
#charlist_sort_order = "ASC"
# Maxinum number of games will be shown in join game list
# Zero = infinite
maxgamelist = 20
# Set to non-zero to allow show all games with difficulty < character difficulty
# Otherwise, only game with difficulty = character difficulty will be shown
gamelist_showall = 0
# Maxinum time in seconds that a user can idle
# Zero = infinite
idletime = 3600
# Amount of time to delay shutting down server in seconds.
shutdown_delay = 300
# Amount of time delay period is decremented by either a SIGTERM or SIGINT
# (control-c) signal in seconds.
shutdown_decr = 60
#
#################################################################################
#################################################################################
# Internal System Settings #
# You may just ignore them and use the default value #
#-------------------------------------------------------------------------------#
#
# How often will the server purge all list to clean unused data (in seconds)
listpurgeinterval = 300
# How often will the server check game queues (in seconds)
gqcheckinterval = 60
# How often will the server retry to connect to bnetd
# when connection lost (in seconds)
s2s_retryinterval = 10
# How long time the s2s connection will timeout
s2s_timeout = 10
# How often the server will check server queues for expired data
sq_checkinterval = 300
# How long time will a server queue data expire
sq_timeout = 300
# Game serer binary files checksum, use zero to skip this checking
d2gs_checksum = 0
# Game server version, use zero to skip this checking
d2gs_version = 0
# Game server password
d2gs_password = "pvpgnrocks"
# Maxinum number of second that a game will be shown on list( zero = infinite )
game_maxlifetime = 0
# Maximum level allowed in this (realm) game.
# Normal games have a max level 99, while the internal field size limit is 255.
# Extreme game MODs may have higher values, but be warned:
# !!! Use them at your own risk !!!
# game_maxlevel = 255
# A game will be automatically destroied after how long time idle
max_game_idletime = 0
# Allow Limitation created game with password, player number or level limit?
allow_gamelimit = 1
# Ladder refresh time
ladder_refresh_interval = 3600
# server to server connection max idle time in seconds
s2s_idletime = 300
# server to server connection keepalive interval
s2s_keepalive_interval = 60
# all connection timeout check interval
timeout_checkinterval = 60
# game server restart interval
# when sending SIGUSR2 signal to your d2cs this issues a restart
# of all connected d2gs after d2gs_restart_delay seconds
d2gs_restart_delay = 300
# ladder start time
# format: yyyy-mm-dd hh:mm:ss
# be carefull:
# all chars created before this date will revert to non-ladder chars
ladder_start_time = ""
# number of days before a char expires (default 0=unlimited)
char_expire_day = 0
#
#################################################################################
d2dbs.conf
#################################################################################
# d2dbs.conf - Configuration file for the Diablo2 Game database server #
#-------------------------------------------------------------------------------#
# #
# This file is an example configuration and may require modification to #
# suit your needs or your site. Blank lines and lines starting with a "#" #
# are ignored. Use quotes around values that contain spaces. #
# #
#################################################################################
#################################################################################
# Server Major Settings #
#-------------------------------------------------------------------------------#
# This is a comma delimited list of hostnames that the server should
# listen on. Generally, YOU DONT NEED TO TOUCH THIS but it might be useful
# to make an internal-only server on a gateway machine for example. If the
# list is not set or if it has a entry with no host component, the server will
# bind to that port on all interfaces.
# d2dbs default listening port is 6114
# WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!
#servaddrs = 192.168.1.30:6114
# Put here EXACTLY the same thing you put in d2cs.conf gameservlist setting.
# For more information about this setting consult the d2cs.conf comments
# above it.
#
# YOU MUST CHANGE THIS OR D2DBS WON'T WORK PROPERLY
#
# WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!
gameservlist = 192.168.1.30
# #
#################################################################################
#################################################################################
# Message logs #
#-------------------------------------------------------------------------------#
# Multiple log levels can be defined by connecting them with a comma (,)
# Available loglevels are:
# none
# trace
# debug
# info
# warn
# error
# fatal
#loglevels = fatal,error,warn,info
loglevels = fatal,error,warn,info,debug,trace
# #
#################################################################################
#################################################################################
# File and Path section #
# Use absolute paths in these lines to avoid problems! #
#-------------------------------------------------------------------------------#
logfile = var\d2dbs.log
logfile-gs = var\d2dbs-gs.log
charsavedir = var\charsave
charinfodir = var\charinfo
ladderdir = var\ladders
bak_charsavedir = var\bak\charsave
bak_charinfodir = var\bak\charinfo
#pidfile = var\d2d2s.pid
# #
#################################################################################
#################################################################################
# Misc #
#-------------------------------------------------------------------------------#
# #
# Ladder save interval
laddersave_interval = 3600
# Time that allow characters create after it insert into ladder
# These code should be rewritted to support string formmated time
ladderinit_time = 0
# create extra ladder file in XML format that can be parsed more easy
# 0 = turn extra output off (default)
# 1 = turn on the XML output
XML_ladder_output = 0
# Amount of time to delay shutting down server in seconds.
shutdown_delay = 360
# Amount of time delay period is decremented by either a SIGTERM or SIGINT
# (control-c) signal in seconds.
shutdown_decr = 60
# connection max idle time in seconds
idletime = 300
# connection keep alive interval
keepalive_interval = 60
# connection time out check interval
timeout_checkinterval = 60
# experience threshold, minimum experience needed to register on the ladder
ladderupdate_threshold = 0
# What chars will be added to ladder?
# 0 = ladder and non-ladder chars
# 1 = only ladder chars
ladder_chars_only = 1
# This setting activates a workaround for the well known "Lvl 100" bug.
# It should be activated for mods where the max level is greater than 99.
# Activating this should work for mods with any max level
# If level is greater than 255, it will be set to 255
# 0 = deactivated
# 1 = activated
difficulty_hack = 0
# #
#################################################################################
Added: 19.11.2019 16:15
I may have gotten it! looks like it is required to have a connecting clients local IP in the translations under "Game Translations for clients/games (client data ports)"