Lubasz4gaminG
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Diablo II LOD Private Server Setup Resources

Go down

Diablo II LOD Private Server Setup Resources Empty Diablo II LOD Private Server Setup Resources

Post by Admin Thu Aug 12, 2021 2:14 am

Just my general dump for Diablo II LOD private server setup resources, guides, etc...

[You must be registered and logged in to see this link.]

Alternative link to D2GS v1.13c Build 03: [You must be registered and logged in to see this link.]
I created the above guide for the PvPGN Community Forums. I'll copy and paste its contents as a reply to this post.

=======================================

Other Resources to use for setup and troubleshooting:

D2GS and the 64-bit system: [You must be registered and logged in to see this link.] … _7_64-bit)

How to setup PvPGN: [You must be registered and logged in to see this link.]
                   http://pvpgn.wikia.com/wiki/Windows_Diablo_II_Server

How to setup D2GS: [You must be registered and logged in to see this link.]
                  [You must be registered and logged in to see this link.]
                  [You must be registered and logged in to see this link.]


Last edited by Admin on Mon Jul 24, 2023 2:39 am; edited 2 times in total
Admin
Admin
Admin

Posts : 75
Join date : 2016-03-11

https://lubasz4gaming.forumotion.com

Back to top Go down

Diablo II LOD Private Server Setup Resources Empty How to install and configure PvPGN and D2GS... for NOOBS

Post by Admin Thu Aug 12, 2021 2:22 am

I want to create a tutorial that may assist those of us with little-to-no experience with installation troubleshooting and/or network configuration to be able to set up a working, open and closed realm Diablo II LOD server. With this tutorial, you should be able to set up a simple Diablo II LOD server on your spare PC so that people can connect to your server from both inside and outside your LAN network. I managed to create a small server using PvPGN and D2GS for my family to play Diablo II LOD on. I have just about gotten my server customized to my liking, so I've begun to write the tutorial while these things are still fresh on my mind.. if for no other reason than to leave myself a record of the process for future reference. 5 years from now, I'll probably find myself doing it all over again. There are already some great resources here on this forum and elsewhere that a novice could use to piece together a working server configuration. After all, that's how I did it. But here I've done much of that for you.

First, I want to provide my hardware and software set up:
I am running this server from an old DELL T3400 PC using Windows 7 Home Premium 64-bit. It is equipped with a 80 GB hard drive, a dual core processor, and a weak graphics card. You will not actually play Diablo II LOD on the server PC, so the graphics card doesn't need to be much. I found this PC on Craigslist for $75. I have a 70 kpbs internet download speed. If I can do this, so can you. Apparently, PvPGN and D2GS love a 32-bit system, but it works just fine on my 64-bit system. The 64-bit system needs an extra registry tweak that you can find in the resources provided at the bottom of this post.

I am using the PvPGN 1.8.0rc2 version, because this way I don't need to compile a PvPGN build on my own. The 1.8.0rc2 version comes as an .exe installer ready to be double-clicked to simplify installation of PvPGN. It is a rather old version, but it will suffice for a simple Diablo II LOD server. Perfect for a noob. Download it here:

[You must be registered and logged in to see this link.] … e/download

With a correctly configured PvPGN alone, you can easily provide a server for people to connect to from both inside and outside your local network and play "open" Diablo II LOD games using a TCP/IP type connection - the same way you connect to open bnet games on Battlenet. If this is all you're looking to set up, you can follow the tutorial at the bottom of the following thread:

[You must be registered and logged in to see this link.]

As a matter of fact, why don't you just go ahead and follow that tutorial first? Then check to see if your PvPGN server runs smoothly. After you have configured PvPGN and it's functioning properly for open battlenet games from both inside and outside your local network, we'll continue with the D2GS portion of this set up. Read the helpful TIPS below before you begin:

*TIPS:

* Opening a Windows command prompt and typing 'ipconfig' without the quotes and then pressing Enter will help you find your local IP4 address. Do this for both the server PC AND the PC that you will use to play the Diablo II game inside the same network. Write these IP4 addresses down somewhere and label them so that you know which is which...

* Find your true external IP address. You can find it here: [You must be registered and logged in to see this link.] It's the address at the top of the window. Write it down somewhere...

* Make sure every relevant installation file (.exe, .bat) for both PvPGN and D2GS are set to compatibility mode for Windows XP (service pack 3) and that they each have administrator rights before running/installing them. (Just for good measure.)

* YOU WILL NEED TO FORWARD PORTS 6112-6114, 4000, 16112, and 8888 INSIDE YOUR ROUTER if you want to have a working PvPGN and/or D2GS server at the end of this tutorial. If you don't know how to do that, you'll need to find another tutorial somewhere else to help you with it. There are just too many different types of routers for me to provide an adequate tutorial for that. It helped me to disable my Windows firewall during set up and troubleshooting - at least until it was clear which exceptions I needed to add in my firewall rules.

* ONLY the 'conf' files in the PvPGN directory need editing! No need to edit any 'conf' files in the D2GS directory.
From what I understand, you can combine the PvPGN and D2GS into a single directory, but I have created the server using 2 separate directories for PvPGN and D2GS. This helped me to better understand their separate functions.

* DO NOT move the D2GS directory or rename the D2GS directory once the D2GS service is installed - Leave it alone! Altering the D2GS directory address after the D2GS service is installed will cause the D2GS service to go AWOL.

* Be sure that the installed D2CS, D2DBS, and D2GS Windows services are set to start manually.

* Save your progress and restart the PC intermittently during the configuration process of PvPGN and D2GS. It's just good policy.

* Embody the patience of a f*cking Buddhist monk. Remember... you're an imperfect noob. Be prepared to delete everything and start over. Maybe more than once.

* Now go back and install and configure PvPGN using the aforementioned PvPGN tutorial thread [You must be registered and logged in to see this link.]

-----
Installing and configuring D2GS:

To configure your server to allow for both open and closed realm games, you will need to install and configure D2GS to work in conjunction with PvPGN. This is a bit more involved, but not all that complicated to execute.

For this tutorial, I will be using the D2GS 1.13c version. This can be downloaded here:
*TIP: Because I am using D2GS 1.13c, this means people will be playing Diablo II LOD version 1.13c on my server.

[You must be registered and logged in to see this link.]

After downloading D2GS 1.13c, you can extract the folder to any location on the PC you want to use to run the server. Keep in mind that you cannot play Diablo II LOD on your server from the same PC that the server is running on. I put my extracted D2GS folder on my server PC's desktop so that it can be accessed quickly. Open the D2GS folder and understand that this folder contains some of the files necessary for your closed games realm to function correctly. If you have managed to get your PvPGN/D2GS server to operate so that people can connect to it and play open games, but they cannot connect to your server and play closed games, then it's likely that PvPGN and D2GS are not communicating correctly!

Install Diablo II LOD on your server PC. Do not connect to Battlenet. Instead, download and install this 1.13c patch file:
*TIP: People that want to have a version of Diablo II LOD that is compatible with your server should also install the game that way.

[You must be registered and logged in to see this link.]

After running the patch file, copy and paste these files from that Diablo II directory into your D2GS folder:

d2data.mpq
d2exp.mpq
d2sfx.mpq
d2speech.mpq
Patch_D2.mpq
D2Client.dll
D2CMP.dll
D2Common.dll
D2Game.dll
D2gfx.dll
D2Lang.dll
D2MCPClient.dll
D2Net.dll
D2sound.dll
D2Win.dll
Fog.dll
ijl11.dll
Storm.dll

Open your D2GS directory and find the 'd2gs_install.bat' file. Make sure it has administrative rights and then double-click it to install D2GS. This will install a D2GS service in Windows as well as create registry keys for D2GS in your Windows registry. Now you'll need to edit a few entries in your Windows registry: (Jeezus Christ..DO NOT TOUCH ANYTHING IN YOUR REGISTRY BESIDES THE NECESSARY D2GS REGISTRY KEYS)

In your Windows Start menu search bar, type 'regedit' without the quotes and press Enter. Navigate to 'HKEY_LOCAL_MACHINE/D2Server/D2GS.'
You'll need to edit the following keys as shown: (double click an entry to open and edit it)

D2CSIP: YOUR LOCAL IP4 ADDRESS (If your local IP4 IP address is 192.168.1.45, you would enter 192.168.1.45 for this entry.)
D2CSSecrect: pvpgnrocks
D2DBSIP: YOUR LOCAL IP4 ADDRESS (If your local IP4 IP address is 192.168.1.45, you would enter 192.168.1.45 for this entry.)
MaxGames: (make sure hexidecimal is selected) 64

After editing, these entries should look something like this example:

D2CSIP: 192.168.1.45
D2CSSecrect: pvpgnrocks
D2DBSIP: 192.168.1.45
MaxGames: 100

Now close the registry editor.

If you haven't saved everything and restarted your PC yet at this point in the tutorial, go ahead and do that now. Also, it wouldn't hurt to restart your router after you've forwarded the necessary ports.

******

Configuring PvPGN to work with D2GS:

It's time to edit your 'conf' files in the PvPGN directory so that they will be compatible with D2GS.
Inside your PvPGN directory, find the 'conf' folder and open it. You will be editing 6 of these .conf files.

- address_translation.conf
- bnetd.conf
- d2cs.conf
- d2dbs.conf
- realm.conf
- version_check.conf

Find the 'address_translation.conf' and open it with your text editor - Notepad++ works great for this [You must be registered and logged in to see this link.] Edit the 'address_translation.conf' so that it looks like the one I've provided below. Whenever you finish editing one of these 'conf' files, be sure to save it with your text editor:

*TIP: Read the informative remarks at the beginning of each conf file you edit and study them a bit.

** Pay close attention to the lines that are and are not commented. A commented line begins with '#' A line that is commented will not be recognized by PvPGN or D2GS

** Pay extra attention to the entries that I fill with YOUR EXTERNAL IP and YOUR LOCAL IP. Here you will need to replace my text with your actual IP addresses. YOUR LOCAL IP = The local IP4 address of the SERVER PC.

address_translation.conf

########################################################################################################
#------------------------------------------------------------------------------------------------------#
# Address Translation table #
#------------------------------------------------------------------------------------------------------#
# #
# This is a list of ip:port addresses that get translated #
# #
# The entries are broken into four parts: #
# #
# * the IP address w/port to be translated #
# * the output IP address w/port #
# * 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 includes 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. #
# #
# NONE = There are no neworks to exclude/include (just a place holder, no entries will be added) #
# ANY = All networks will be excluded/included (same as 0.0.0.0/0) #
# #
########################################################################################################

########################################################################################################
# w3route server ip (removed from w3trans.conf) (Port 6200) #
# #
# Set input address the same as the w3routeaddr setting in the bnetd.conf #
# Set output address to the address to be sent to war3 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) #
#--------------------- ---------------------- ---------------------------- -------------------------#

#0.0.0.0:6200 192.168.1.100:6200 NONE 192.168.1.0/24
#0.0.0.0:6200 internetip:6200 NONE ANY



########################################################################################################
# Game Translations for clients (removed from gametrans.conf) (client data ports) #
# #
# 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) #
#--------------------- ---------------------- ---------------------------- -------------------------#

LOCAL IP OF LAN GAMING PC:16112 YOUR EXTERNAL IP:16112 192.168.1.0/24,10.0.0.0/8 ANY
#192.168.1.2:6118 internetip:6118 192.168.1.0/24 ANY



########################################################################################################
# Diablo II Charactar Server (d2cs) - (removed from realm.conf) (Port 6113) #
# #
# 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) #
#--------------------- ---------------------- ---------------------------- -------------------------#

YOUR LOCAL IP:6113 YOUR EXTERNAL IP:6113 192.168.1.0/24 ANY



########################################################################################################
# Diablo II Game Server (d2gs) - (removed from d2gstrans.conf) (Port 4000) #
# #
# 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) #
#--------------------- ---------------------- ---------------------------- -------------------------#

YOUR LOCAL IP:4000 YOUR EXTERNAL IP:4000 NONE ANY
** Pay much attention to the 'Game Translation for clients' section of the 'address_translation.conf.'
You'll see that you will need to input the local IP4 address of the PC you will play the Diablo II game from inside your local network. Each PC in your local connection that wants to play Diablo II on your server will have to have an entry included in this section of the 'address_translation.conf' ! Example of this:

# Game Translations for clients (removed from gametrans.conf) (client data ports) #
# #
# 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) #
#--------------------- ---------------------- ---------------------------- -------------------------#

LOCAL IP GAMING PC1:16112 EXTERNAL IP SERVER PC:16112 192.168.1.0/24,10.0.0.0/8 ANY
LOCAL IP GAMING PC2:16113 EXTERNAL IP SERVER PC:16113 192.168.1.0/24,10.0.0.0/8 ANY
LOCAL IP GAMING PC3:16114 EXTERNAL IP SERVER PC:16114 192.168.1.0/24,10.0.0.0/8 ANY
#192.168.1.18:4000 72.107.xx.xxx:4000 192.168.1.0/24 ANY
Here, 'LOCAL IP GAMING PC1' represents the local IP4 address of the first gaming PC that wants to play Diablo II inside the local network of the server PC. The ':16112' part of this entry tells PvPGN which port the first gaming PC will use to connect to your server. An entry must be included here for each PC inside your local network that wants to connect to your server to play Diablo II. Each gaming PC must have its own port assigned to it and needs to have its port forwarded in your router!

bnetd.conf

##############################################################################
# bnetd.conf - Configuration file for the Unix Battle.net daemon #
#----------------------------------------------------------------------------#
# #
# 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. #
# #
##############################################################################


##############################################################################
# Storage section #
# storage_path will tell pvpgn how and where from/to to read/write accounts #
# right now it supports 2 "drivers" : file and sql #
# #
# Syntax: #
# * for plain file driver: #
# storage_path = file:mode=plain;dir=;clan=;team=;default=/path/to/default/account #
# * for cdb file driver: #
# storage_path = file:mode=cdb;dir=;clan=;team=;default=/path/to/default/account #
# * for sql/sql2 driver: #
# storage_path = sql:variable=value;...;default=0 (0 is the default uid) #
# or storage_path = sql2:variable=value;...;default=0 (0 is the default uid) #
# #
# Variables for sql/sql2 can be: #
# - "mode" : tells PVPGN the sql mode you will use (mysql/pgsql/etc..) #
# - "host" : the database host #
# - "port" : the TCP/IP port if needed #
# - "socket" : the UNIX local socket if needed #
# - "name" : database name #
# - "user" : db username #
# - "pass" : db password #
# - "default" : specify the UID to use for the default account data #
# - "prefix" : prefix to use for all pvpgn tables (default "") #
# #
# Examples: #
# storage_path = file:mode=plain;dir=var\users;clan=var\clans;team=var\teams\;default=conf\bnetd_default_user.plain
# storage_path = file:mode=cdb;dir=var\userscdb;clan=var\clans;team=var\teams\;default=conf\bnetd_default_user.cdb
# storage_path = sql:mode=mysql;host=127.0.0.1;name=PVPGN;user=pvpgn;pass=pvpgnrocks;default=0;prefix=pvpgn_
# storage_path = sql:mode=pgsql;host=127.0.0.1;name=pvpgn;user=pvpgn;pass=pvpgnrocks;default=0;prefix=pvpgn_
# storage_path = sql:mode=sqlite3;name=var\users.db;default=0;prefix=pvpgn_
# storage_path = sql:mode=odbc;name=PVPGN;prefix=pvpgn_
# storage_path = sql2:mode=mysql;host=127.0.0.1;name=PVPGN;user=pvpgn;pass=pvpgnrocks;default=0;prefix=pvpgn_
# storage_path = sql2:mode=pgsql;host=127.0.0.1;name=pvpgn;user=pvpgn;pass=pvpgnrocks;default=0;prefix=pvpgn_
# storage_path = sql2:mode=sqlite3;name=var\users.db;default=0;prefix=pvpgn_
# storage_path = sql2:mode=odbc;name=PVPGN;prefix=pvpgn_
#----------------------------------------------------------------------------#

storage_path = file:mode=plain;dir=var\users;clan=var\clans;team=var\teams\;default=conf\bnetd_default_user.plain

# #
##############################################################################

##############################################################################
# File section #
# The pidfile can be set to "" to turn it off. #
# Use absolute paths in these lines to avoid problems! #
#----------------------------------------------------------------------------#

filedir = files
reportdir = var\reports
chanlogdir = var\chanlogs
motdfile = conf\bnmotd.txt
issuefile = conf\bnissue.txt
channelfile = conf\channel.conf
newsfile = conf\news.txt
adfile = conf\ad.conf
topicfile = conf\topics.conf
ipbanfile = conf\bnban.conf
helpfile = conf\bnhelp.conf
transfile = conf\address_translation.conf
mpqfile = conf\autoupdate.conf
logfile = var\bnetd.log
realmfile = conf\realm.conf
versioncheck_file = conf\versioncheck.conf
mapsfile = conf\bnmaps.conf
xplevelfile = conf\bnxplevel.conf
xpcalcfile = conf\bnxpcalc.conf
#pidfile = var\bnetd.pid
ladderdir = var\ladders
command_groups_file = conf\command_groups.conf
statusdir = var\status
aliasfile = conf\bnalias.conf
anongame_infos_file = conf\anongame_infos.conf
DBlayoutfile = conf\sql_DB_layout.conf
supportfile = conf\supportfile.conf

fortunecmd = bin\fortune.exe

# #
##############################################################################


##############################################################################
# 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,debug,trace
loglevels = fatal,error,warn,info,debug,trace #
##############################################################################


##############################################################################
# D2CS realm server settings #
#----------------------------------------------------------------------------#

# Version of D2CS server to connect with (set to zero to disable version check)
d2cs_version = 0

# Allow the D2CS server to change realm names?
allow_d2cs_setname = true

# #
##############################################################################


##############################################################################
# Downloadable files #
#----------------------------------------------------------------------------#

# These filenames are reported directly to the client and are relative to
# the "filedir" directory specified above.
iconfile = "icons.bni"
war3_iconfile = "icons-WAR3.bni"
star_iconfile = "icons_STAR.bni"

tosfile = "tos.txt"

# #
##############################################################################


##############################################################################
# Client verification and upgrades #
#----------------------------------------------------------------------------#

# This option lists the client types allowed to connect (only valid for
# the bnet protocol). The list is a comma separated list of any of the
# following elements:
# all : all client types allowed (default)
# chat : client type "CHAT" allowed (used by some bot software)
# dshr : client type Diablo 1 Shareware
# drtl : client type Diablo 1 (Retail)
# sshr : client type Starcraft Shareware
# star : client type Starcraft
# sexp : client type Starcraft Broodwar
# w2bn : client type Warcraft II Battle.Net Edition
# d2dv : client type Diablo 2
# d2xp : client type Diablo 2 LOD
# war3 : client type Warcraft III (Reign Of Chaos)
# w3xp : client type Warcraft III Frozen Throne
#
# Example: allowed_clients = war3,w3xp
allowed_clients = all

# If this option is enabled, the verification step is skipped if possible.
# This only works with clients < 109. It is useful because you no longer
# need any of the IX86AUTH?.MPQ and PMACAUTH?.MPQ files. Note that it will
# also skip over all the autoupdate checks effectively disabling it.
#
# If you disable this you must have one or more of the MPQ files. Otherwise
# clients will hang when they first connect because they are attempting to
# download them. The versioncheck can only be skipped for clients older
# than 109. Starting with version 109 the clients will always do version
# checking since they do not function properly if the server does not
# request it.
skip_versioncheck = false

# If you enable the version checks but want to allow clients that don't pass
# the checksum test then enable this.
allow_bad_version = false

# If you enable the version checks but want to allow clients that aren't
# listed in the versioncheck configuration file then enable this. Unless
# you have a very complete file or are very paranoid about cheaters this
# is a good idea.
allow_unknown_version = true

# This defines how the exeinfo field in the versioncheck file is being
# checked. You can choose between no match at all [none] (default),
# exact match [exact], exact case-sensitive match [exactcase], dumb wildcard
# match [wildcard], and parsed value comparison [parse].
# NOTE: [parse] needs the mktime() function and might therefore not work on
# every system.
version_exeinfo_match = none

# If you have choosen [parse] above, this is the tolerance with which
# the time can differ. The value must be given in seconds. If it's 0 this
# check is disabled.
version_exeinfo_maxdiff = 0

# #
##############################################################################


##############################################################################
# Time values #
#----------------------------------------------------------------------------#

# Time in seconds between account file updates, 0 means wait forever.
usersync = 300
# Number of seconds of inactivity before file is unloaded from memory.
# (only checked during account file updates)
userflush = 1200
# Number of users checked for updates at once. Higher values make sense if you
# either have very fast hardware or you don't have many number of accounts.
# Lower values make sense if you have very high CPU usage on the system you run
# the server (dont make it too low or your system will save accounts continously).
# Modify this value ONLY if you know what you are doing!!
userstep = 100

# How often to send user latency tests in seconds.
latency = 600

# How often to send null or keepalive packets in seconds.
nullmsg = 120

# 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

# How often should bans be checked for expiration? (in seconds)
#ipban_check_int = 30

# #
##############################################################################


##############################################################################
# Policy options #
#----------------------------------------------------------------------------#

# If you don't want people to be able to create new accounts, set this to
# false.
new_accounts = true

# Set this to the maximum number of accounts you want to allow to be
# created on your server. A value of 0 means infinite and is the default.
#max_accounts = 0

# If someone attempts to log in more than once, should it kick off the old
# login, or deny the new one?
#kick_old_login = true
#kick_old_login = false
# With no passwords, this is bad to have enabled --NonReal

# load_new_account option has been eliminated and the functionality now is
# always active in PvPGN

# If a user is creating a new channel, should it be added automatically, or
# prompt them first?
ask_new_channel = true

# Should a game report be written for every game played or just ladder
# games?
#report_all_games = false
report_all_games = true

# Should Diablo I/II reports be written? There are no winners/losers.
report_diablo_games = false

# Should games with passwords be hidden on the game list?
hide_pass_games = true

# Should games already started be hidden on the game list? (for heavily
# loaded servers)
hide_started_games = true

# Should non-permanent channels hidden on the channel list?
hide_temp_channels = true

# Should the extended /-commands be avaliable? (of course!)
extra_commands = true

# Should any and all disconnects to be counted as losses?
# (Turning this on will override the user's choice in ladder games!)
disc_is_loss = false

# List additional game types to be counted as ladder games
# Curently allowed types: topvbot, melee, ffa, oneonone
# Example: ladder_games = "topvbot,oneonone"
ladder_games = "none"

# If additional game types are configured (see above) to be counted as ladder
# games then this setting configures a game name prefix to make only games
# which match this game name prefix be counted as ladder. This allows to
# still have normal games of the game types configured with "ladder_games"
# directive. However if this setting is commented or "" then ALL games
# which match the game types configured with "ladder_games" are to be
# considered as ladder games. The prefix checking is CASE SENSITIVE!
# Example: ladder_prefix = "ldr_"
ladder_prefix = ""

# Should all users be able to use the /con and /connections commands?
enable_conn_all = true

# Should client IP addresses (from /con, /games, /gameinfo, /netinfo)
# be hidden from non-admins?
hide_addr = false

# Should private channel messages be logged to files in the chanlogdir
# directory? (see channels.list for public channels)
chanlog = false

# Do you want to use the channel quota feature?
quota = yes

# The following options deal with flood prevention.
#
# How many lines do you accept in quota_time seconds?
# (The default should allow 5 lines in 5 seconds,
# longer time periods allow "bursts" of traffic before the quota is full.)
quota_lines = 5 # must be between 1 and 100 lines
quota_time = 5 # must be between 1 and 60 seconds
# "virtual wrapping", so long lines count as multiple lines
quota_wrapline = 40 # must be between 1 to 256 chars
# absolute maximum characters allowed in a line
quota_maxline = 200 # must be between 1 to 256 chars
#
# How many lines do you accept in quota_time seconds before user is
# disconnected?
# (According to Jung-woo, Dobae is a Korean term for flooding the game server...
# it originally meant "to paint the wallpaper on a new or refurbished house").
# If it less than or equal to quota_lines, there is no warning before
# disconnection so don't set this too low.
quota_dobae = 10 # must be between 1 and 100 lines

# Mail support
mail_support = true
mail_quota = 5

# Channel logging message
log_notice = "*** Please note this channel is logged! ***"

# Ban on repeated password fails against bruteforce password thieves
# Fails required to get ip banned (0 to disable ban on password fail)
passfail_count = 0

# Password fail IP ban duration (in seconds)
passfail_bantime = 300

# Max users limit in private channels (0 = unlimited)
maxusers_per_channel = 0

# #
##############################################################################


##############################################################################
# Account configuration #
#----------------------------------------------------------------------------#

# Should account files be named by the account number or the player name?
savebyname = true

# Save the account data on logoff
sync_on_logoff = false

# How man rows should the account lookup hash table have? Servers with
# more accounts should use a larger table for better performance.
hashtable_size = 61

# Per default, only alphanumerical symbols are allowed in account names
# with this variable you can add some extra symbols to be allowed
# but be warned - that some of them might cause trouble - at least with
# savebyname=true (some symbols are forbidden in filenames or might cause
# you real trouble - plz neither allow wildcard symbols like '*' or '?'.
# Path delimiters like '/' or '\' are hardcoded filtered and can't be allowed.
# Also note that allowing the '.' might cause u some headache on win32 systems.
# You have been warned - the rest is up to you.
# default setting is "-_[]" as it was previous versions
account_allowed_symbols = "-_[]"

# maximum number of friends a user can add to there friends list
# default setting is 20
max_friends = 20

# #
##############################################################################


##############################################################################
# Tracking server info #
#----------------------------------------------------------------------------#

# Set track=0 to disable tracking. Any other number will set number
# of seconds between sending tracking packets. This is OFF by default.
#track = 0
track = 60
# 10 minutes

# Tracking server(s)
# Use a comma delimited list of hostnames with optional UDP port numbers
# after colons. (port 6114 is the default for the newer tracking protocol)
#trackaddrs = "track.bnetd.org,localhost:9999"
#trackaddrs = "track.pvpgn.org"

# Change these to match your system, for example:
location = "unknown"
description = "unknown"
url = "unknown"
contact_name = "unknown"
contact_email = "unknown"

# #
##############################################################################


##############################################################################
# Server network info #
#----------------------------------------------------------------------------#

# Servername by which the server identifies itself (default: "PvPGN Realm")
servername = "PvPGN Realm"

# Set this to the maximum number of concurrent connections allowed on
# this server (minimum 32). This limit sets a general server connection
# limit, NOT the concurrent user limit (for that see next option)
max_connections = 1000

# Maximum number of concurrent users (0 means unlimited).
max_concurrent_logins = 0

# Set this option to true to allow TCP to detect and close stale
# connections.
use_keepalive = false

# Limit maximum number of connections per IP (0 = unlimited)
# this feature is new, so no recommended value so far
max_conns_per_IP = 0

# This is a comma delimited list of hostnames that the server should
# listen on. 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.
#servaddrs = ":9999"
#servaddrs = "myinternalname.some.com,localhost"
servaddrs = ":" # default interface (all) and default port (6112)

# Don't change these unless you really need to! You will need to run a proxy
# or modify the clients. Also note that these will not change when simply
# sending a HUP signal to the server; they are only read on startup.

# This is the port the server send the UDP test packets to by default.
# Setting it to zero makes the server use the same port as the TCP connection
# comes from. Newer clients can override this setting on a per connection
# basis.
#udptest_port = 6112


# W3 Play Game router address. Just put your server address in here
# or use 0.0.0.0:6200 for server to bind to all interfaces,
# but make sure you set up w3trans if you do.
w3routeaddr = "0.0.0.0:6200"

# w3routeshow has been removed.
# see the address_translation.conf for translating the w3route ip for local networks

# initkill_timer sets up a periodic timer on init/defer class connections
# this should detect and clean up stale connections to your server
initkill_timer = 120

# #
##############################################################################

##############################################################################
# Westwood Online (WOL) configuration #
#----------------------------------------------------------------------------#

# NOTE: WOL support is still experimental!

# This specifies the addresses where IRC connections should be accepted. See
# the description of servaddrs for formatting information. Leave this field
# blank if you do not want to accept IRC connections. If the port is not
# specifed then 4005 will be used. Note: DO NOT SET THE PORT TO ANYTHING OTHER
# THEN 4005, WOL WILL FAIL IF YOU DO!
#woladdrs = ":4005"

# Just leave these as default (unless you know the timezone, longitiude and latitude
# of your server
woltimezone = "-8"
wollongitude = "36.1083"
wollatitude = "-115.0582"

# #
##############################################################################

##############################################################################
# Internet Relay Chat (IRC) configuration #
#----------------------------------------------------------------------------#

# NOTE: IRC support is still experimental!

# This specifies the addresses where IRC connections should be accepted. See
# the description of servaddrs for formatting information. Leave this field
# blank if you do not want to accept IRC connections. If the port is not
# specifed then 6667 will be used.
#ircaddrs = ":6667"

# This is the IRC network name. If this is not specified then the default of
# "PvPGN" will be used.
#irc_network_name = "PvPGN"

# This is the hostname used for IRC connections. Set this to your
# hostname, if the automatic detection doesn't correctly.
#hostname = "none"

# Set this to the desired IRC connection timeout in seconds.
#irc_latency = 180

# #
##############################################################################


##############################################################################
# Telnet configuration #
#----------------------------------------------------------------------------#

# This specifies the addresses where telnet connections should be accepted.
# See the description of servaddrs for formatting information. Leave this
# field # blank if you do not want to accept telnet connections. If the port
# is not specifed then 23 will be used.
#telnetaddrs = ":23"

# #
##############################################################################

###############################################################################
# war3 ladder textual output #
#-----------------------------------------------------------------------------#
# this is for all the guys, that want Warcraft 3 ladder, but don't want their
# server to run with MySQL support.
# For each ladder (solo, team, ffa, at) a corresponing file is created,
# so it's easy to build your ladder pages with them

# the following value determines, at which rate, these files are created
# set to 0 if you don't want or need these files
war3_ladder_update_secs = 300

# jfro's latest ladder is based on XML... so we can switch to XML output of ladder
# on demand. Maybe we should set update interval bigger cause XML output version
# is much more verbose than the standard output
XML_output_ladder = false

###############################################################################
# server status textual output #
#-----------------------------------------------------------------------------#
# This is for writing status of the server in an attempt to see number of user
# on line actually, and games/chans.
# This is store in file var\status\warcraft3.dat as a *.ini format.
# Shouldn't be so hard in php to create dynamic website using this content.

# the following value determines, at which rate, these files are created
# set to 0 if you don't want or need these files
output_update_secs = 60

# jfro's latest ladder is based on XML... so we can switch to XML output of ladder
# on demand. Maybe we should set update interval bigger cause XML output version
# is much more verbose than the standard output
XML_status_output = false

###############################################################################
# clan settings #
#-----------------------------------------------------------------------------#

# Time in hours for a new member of clan to be a newer(Peon icon, cannot premote to Grunt)
# default value 168(7 days). If set to 0, all new members could be promote in no time
clan_newer_time = 0

# max members count allowed in a clan, set between 10&255, default 50.
clan_max_members = 50

# Default clan channel status when create a clan, 1 for private, 0 for public
clan_channel_default_private = 0
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 #
realmname = "D2CS"

# This is a comma delimited list of hostnames that the server should
# listen on. 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 = YOUR LOCAL IP:6113

# This is a comma delimited list of game servers
# WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!
gameservlist = YOUR LOCAL IP

# This is bnetd server address with port
# bnetd default listening port is 6112
# WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!
bnetdaddr = YOUR LOCAL IP:6112

# Set this to the maximum number of concurrent connections allowed on
# this server.
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
newbiefile = files\newbie.save
transfile = conf\address_translation.conf
d2gsconffile = conf\d2server.ini
# #
#################################################################################

#################################################################################
# Misc #
#-------------------------------------------------------------------------------#
# #
# Message Of The Day
motd = "Hello World!"

# 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 = ""

# Maxinum number of second that a game will be shown on list( zero = infinite )
game_maxlifetime = 0

# 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🇲🇲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. 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.
# dbs default listening port is 6114
# WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!
servaddrs = YOUR LOCAL IP:6114

# This is a comma delimited list of game servers
# WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!
gameservlist = YOUR LOCAL IP

# #
#################################################################################

#################################################################################
# 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
# #
#################################################################################

#################################################################################
# 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

# #
#################################################################################
realm.conf

#################################################################################
# realm.list - List of Diablo II Realms #
#-------------------------------------------------------------------------------#
# #
# Realms are areas that hold closed characters and games. #
# Users are given this list of realms to choose from when #
# creating a new character. Next time the character is #
# used, they will automatically join the same realm. #
# #
# The realm server runs on port 6113 by default. #
# If you do not specify a port number, it will use this by default. #
# #
# : the realm name (mandatory; must start and end with " ) #
# : the realm description (optional; must start and end with " ) #
# ip:port - actual ip the d2cs server is running on (mandatory) #
# #
# --- realm name --- --- description --- --- real address --- #
# (mandatory) (optional) (mandatory) #
#-------------------------------------------------------------------------------#
# "" [""] #
# #
#################################################################################

# WARNING!! DO NOT USE "127.0.0.1" or "localhost" FOR ANY IP ADDRESS

# example (having a d2cs server running on IP 1.2.3.4):
"D2CS" "A PvPGN Realm" YOUR LOCAL IP:6113
version_check.conf
I am going to provide you with the version check entries for Diablo II v1.13c and v1.14d. You can study the 'version_check.conf' in your PvPGN directory and figure out where these entries need to go. Copy and paste the entries I provided here right above the 'Diablo II - LOD (Expansion) 1.11b' entries in your 'version_check.conf.'

# Diablo II 1.14d
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \
ver-IX86-1.mpq \
IX86 \
D2DV \
"Game.exe 05/31/16 19:02:32 3614696" \
0x0000000e \
1.14.3.0 \
0x6b6a21b5 \
D2DV_114D

# Diablo II - LoD (Expansion) 1.13c
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \
IX86ver1.mpq \
IX86 \
D2XP \
"Game.exe 03/09/10 04:10:51 61440" \
0x0000000d \
1.0.13.0 \
0x7686beca \
D2XP_113C

# Diablo II 1.13c
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \
IX86ver1.mpq \
IX86 \
D2DV \
"Game.exe 03/09/10 04:11:00 57344" \
0x0000000d \
1.0.13.0 \
0xfc04b9f6 \
D2DV_113C
It should appear like this:


[You must be registered and logged in to see this link.]


Now, you can find and download the Blizzard Battlenet Gateway Editor here: [You must be registered and logged in to see this link.]
Extract the folder and its contents TO THE PC THAT YOU WILL USE TO PLAY THE DIABLO II LOD GAME ON - WHICH WILL NOT BE THE SAME PC THAT HAS THE SERVER INSTALLED ON IT. Double-click the BNGatewayEditor.exe to open it and click the 'Diablo2/Diablo2Exp' tab at the bottom of the editor window. Click 'Add Gateway.' Configure it this way:

Name: D2CS
Zone: 6
IP: YOUR LOCAL IP (local IP4 address of the server's PC)

Now click the 'Ok' button to close the editor window.
Next, highlight your newly created D2CS gateway and click the 'Detect Gateway' button. If it finishes with 'Connected!' message, you are on your way. With your D2CS gateway highlighted, you can now click the 'Set to Chosen Gateway' button. Close the editor. You will need to repeat this step for each computer that plans to play on the server within the same local network. For those that want to connect to your server from outside your local network, this step needs to be repeated on their PCs as well. EXCEPT, it must be configured this way:

Name: D2CS
Zone: 6
IP: YOUR EXTERNAL IP (Use the external IP address of the server's PC here)

Go into your PvPGN directory and create desktop shortcuts for PvPGN.exe, D2SC.exe, and D2DBS.exe.
Double click each of these shortcuts in the order I listed them. This will start each of these services in Windows.

Open a Windows command prompt. Type 'net start D2GS' without the quotes and press Enter. This will start the D2GS service.

Go to the PC that you will use to play the Diablo II LOD game in your local network and start up the game. Make sure you have selected your 'D2CS' gateway and then hit the Battle.net button to connect to your server.

To stop your server, open a Windows command prompt and type 'net stop D2GS' without the quotes and then press Enter. This will stop the D2GS service in Windows.
Close the PvPGN, D2CS, and D2DBS windows by clicking the 'Exit' buttons at the top of each window. This will stop each of those services in Windows.

If you receive errors or your server is not functioning properly, go back and re-read every step of this tutorial. Start over if you have to. Be patient with yourself. It CAN be done.

------
Other Resources to use for setup and troubleshooting:

D2GS and the 64-bit system: [You must be registered and logged in to see this link.] … _7_64-bit)

How to setup PvPGN: [You must be registered and logged in to see this link.]

How to setup D2GS: [You must be registered and logged in to see this link.]
Admin
Admin
Admin

Posts : 75
Join date : 2016-03-11

https://lubasz4gaming.forumotion.com

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum