2005-12-06 13:45:13 -07:00
##############################################################################
2012-04-29 04:15:07 -06:00
# bnetd.conf - Configuration file for the main PvPGN service #
2005-12-06 13:45:13 -07:00
#----------------------------------------------------------------------------#
# #
2012-04-29 04:15:07 -06:00
# ############ READ THIS ######### READ THIS ########## READ THIS ############
# This file is an example configuration that should work UNMODIFIED for most #
# of the PvPGN setups and may require modification to suit your needs. #
# Blank lines and everything after a "#" are ignored. Use quotes around #
# values that contain spaces. #
2005-12-06 13:45:13 -07:00
# #
##############################################################################
2012-04-29 04:15:07 -06:00
##############################################################################
# Privileges to work under #
# Use either the names from the corresponding files or numerical id's (with #
# a leading '#'). If none are specified, the userid will not be changed. #
#----------------------------------------------------------------------------#
#effective_user = games
#effective_group = games
# effective_user = #12
# effective_group = #20
# #
##############################################################################
2005-12-06 13:45:13 -07:00
##############################################################################
# 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: #
2012-04-29 04:15:07 -06:00
# storage_path = file:mode=plain;dir=<path_to_user_files>;clan=<path_to_clan_files>;default=/path/to/default/account #
2014-08-29 12:28:13 -06:00
# * for sql driver: #
2005-12-06 13:45:13 -07:00
# storage_path = sql:variable=value;...;default=0 (0 is the default uid) #
# #
2014-08-29 12:28:13 -06:00
# Variables for sql can be: #
2005-12-06 13:45:13 -07:00
# - "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: #
2012-04-29 04:15:07 -06:00
# storage_path = "file:mode=plain;dir=${LOCALSTATEDIR}/users;clan=${LOCALSTATEDIR}/clans;team=${LOCALSTATEDIR}/teams;default=${SYSCONFDIR}/bnetd_default_user.plain"
# 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=${LOCALSTATEDIR}/users.db;default=0;prefix=pvpgn_"
# storage_path = "sql:mode=odbc;name=PVPGN;prefix=pvpgn_"
2005-12-06 13:45:13 -07:00
#----------------------------------------------------------------------------#
2012-04-29 04:15:07 -06:00
storage_path = "file:mode=plain;dir=${LOCALSTATEDIR}/users;clan=${LOCALSTATEDIR}/clans;team=${LOCALSTATEDIR}/teams;default=${SYSCONFDIR}/bnetd_default_user.plain"
2005-12-06 13:45:13 -07:00
# #
##############################################################################
##############################################################################
# File section #
# The pidfile can be set to "" to turn it off. #
# Use absolute paths in these lines to avoid problems! #
#----------------------------------------------------------------------------#
2012-04-29 04:15:07 -06:00
filedir = "${LOCALSTATEDIR}/files"
2014-05-23 12:19:43 -06:00
scriptdir = "${LOCALSTATEDIR}/lua"
2012-04-29 04:15:07 -06:00
reportdir = "${LOCALSTATEDIR}/reports"
chanlogdir = "${LOCALSTATEDIR}/chanlogs"
2014-08-09 17:15:59 -06:00
userlogdir = "${LOCALSTATEDIR}/userlogs"
2014-06-30 14:12:34 -06:00
i18ndir = "${SYSCONFDIR}/i18n"
2012-04-29 04:15:07 -06:00
issuefile = "${SYSCONFDIR}/bnissue.txt"
channelfile = "${SYSCONFDIR}/channel.conf"
2016-05-24 04:58:39 -06:00
adfile = "${SYSCONFDIR}/ad.json"
2012-04-29 04:15:07 -06:00
topicfile = "${SYSCONFDIR}/topics.conf"
ipbanfile = "${SYSCONFDIR}/bnban.conf"
mpqfile = "${SYSCONFDIR}/autoupdate.conf"
logfile = "${LOCALSTATEDIR}/bnetd.log"
realmfile = "${SYSCONFDIR}/realm.conf"
maildir = "${LOCALSTATEDIR}/bnmail"
2018-02-10 04:01:12 -07:00
versioncheck_file = "${SYSCONFDIR}/versioncheck.json"
2012-04-29 04:15:07 -06:00
mapsfile = "${SYSCONFDIR}/bnmaps.conf"
xplevelfile = "${SYSCONFDIR}/bnxplevel.conf"
xpcalcfile = "${SYSCONFDIR}/bnxpcalc.conf"
#pidfile = "${LOCALSTATEDIR}/bnetd.pid"
ladderdir = "${LOCALSTATEDIR}/ladders"
command_groups_file = "${SYSCONFDIR}/command_groups.conf"
tournament_file = "${SYSCONFDIR}/tournament.conf"
statusdir = "${LOCALSTATEDIR}/status"
aliasfile = "${SYSCONFDIR}/bnalias.conf"
anongame_infos_file = "${SYSCONFDIR}/anongame_infos.conf"
DBlayoutfile = "${SYSCONFDIR}/sql_DB_layout.conf"
supportfile = "${SYSCONFDIR}/supportfile.conf"
transfile = "${SYSCONFDIR}/address_translation.conf"
2014-04-07 03:02:38 -06:00
customicons_file = "${SYSCONFDIR}/icons.conf"
2012-04-29 04:15:07 -06:00
2005-12-06 13:45:13 -07:00
# #
##############################################################################
2014-06-30 14:12:34 -06:00
##############################################################################
# Localized files realm server settings #
#----------------------------------------------------------------------------#
# These filenames can have translated versions in
# the "i18ndir" directory specified above.
# (there are also two downloadable files: chathelp-war3.txt, newaccount.txt)
localizefile = common.xml
motdfile = bnmotd.txt
motdw3file = w3motd.txt
newsfile = news.txt
helpfile = bnhelp.conf
tosfile = termsofservice.txt
2014-07-09 16:16:22 -06:00
# Do localization by a game language or by user country?
localize_by_country = true
2014-06-30 14:12:34 -06:00
# #
##############################################################################
2005-12-06 13:45:13 -07:00
##############################################################################
# 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
2012-04-29 04:15:07 -06:00
#loglevels = fatal,error,warn,info
2005-12-06 13:45:13 -07:00
# #
##############################################################################
##############################################################################
# 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"
2017-03-21 04:20:06 -06:00
star_iconfile = "icons_STAR.bni"
2005-12-06 13:45:13 -07:00
# #
##############################################################################
##############################################################################
# Client verification and upgrades #
#----------------------------------------------------------------------------#
# This option lists the client types allowed to connect (only valid for
2007-07-30 09:58:30 -06:00
# the bnet and wol protocol). The list is a comma separated list of any of
# the following elements:
2005-12-06 13:45:13 -07:00
# 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
2007-07-30 09:58:30 -06:00
# tsun : client type Tiberian Sun
# tsxp : client type Tiberian Sun Firestorm
# ralt : client type Red Alert (with 4 players internet patche)
# ral2 : client type Red Alert 2
# dn2k : client type Dune 2000
# noxx : client type Nox
# noxq : client type Nox Quest
# rngd : client type Renegade
2012-04-29 04:15:07 -06:00
# rfds : client type Renegade Free Dedicated Server
2007-07-30 09:58:30 -06:00
# yuri : client type Yuri's Revenge
2012-04-29 04:15:07 -06:00
# ebfd : client type Emperor: Battle for Dune
2005-12-06 13:45:13 -07:00
#
# Example: allowed_clients = war3,w3xp
allowed_clients = all
# If you enable the version checks but want to allow clients that don't pass
# the checksum test then enable this.
2014-01-08 02:41:21 -07:00
allow_bad_version = true
2005-12-06 13:45:13 -07:00
# 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
# #
##############################################################################
##############################################################################
# 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)
2014-08-29 10:51:05 -06:00
userflush = 3600
2005-12-06 13:45:13 -07:00
# 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
2014-08-29 10:51:05 -06:00
# Flush connected users? Set "false" and they will never flushed untill logout (it will consume more memory but less CPU usage, because of no queries to a file)
userflush_connected = true
2005-12-06 13:45:13 -07:00
# 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.
2015-10-12 17:03:39 -06:00
max_accounts = 0
2005-12-06 13:45:13 -07:00
# 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
2012-04-29 04:15:07 -06:00
2005-12-06 13:45:13 -07:00
# 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 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 = "-_[]"
2007-08-15 05:43:11 -06:00
# This setting affects users that login with their uid rather than their
# username. If set to true their displayed username will be forcefully
# converted to their registered account name.
account_force_username = false
2005-12-06 13:45:13 -07:00
# 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
2016-08-05 01:53:12 -06:00
# of seconds between sending tracking packets. This is ON by default.
2005-12-06 13:45:13 -07:00
#track = 0
2019-01-16 07:06:39 -07:00
track = 60
2005-12-06 13:45:13 -07:00
# 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)
2019-01-16 07:06:39 -07:00
trackaddrs = "track.pvpgn.pro,track.pvpgn.org,bntrack.darkwings.org,bnet.mivabe.nl,track.eurobattle.net"
2005-12-06 13:45:13 -07:00
# Change these to match your system, for example:
location = "unknown"
description = "unknown"
2016-08-05 01:53:12 -06:00
url = "https://github.com/pvpgn/pvpgn-server"
2005-12-06 13:45:13 -07:00
contact_name = "a PvPGN user"
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
2016-11-18 10:39:30 -07:00
# Set maximum amount of packets in client packet queue
# If limit is reached, client connection will be dropped
# Set to 0 to disable
packet_limit = 1000
2005-12-06 13:45:13 -07:00
# 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
2006-11-11 13:30:04 -07:00
# (d2cs connections are exempted from this limitation)
2005-12-06 13:45:13 -07:00
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!
2006-11-05 09:02:35 -07:00
# This specifies the addresses where WOL connections should be accepted. See
2005-12-06 13:45:13 -07:00
# the description of servaddrs for formatting information. Leave this field
2008-04-17 07:41:10 -06:00
# blank if you do not want to accept WOL connections. If the wolv1 port is
# not specifed then 4005 will be used. Also if wolv2 port is not specifed
# then 4000 will be used.
# WOLv2 address includes servserv, game/chatting and ladder services.
#
# Note: DO NOT SET THE PORT TO ANYTHING OTHER THEN 4000 for WOLv1 or 4005 for
# WOLv2, WOL WILL FAIL IF YOU DO!
2006-11-05 09:02:35 -07:00
2008-04-17 07:41:10 -06:00
#wolv1addrs = ":4000"
#wolv2addrs = ":4005"
2007-02-13 11:53:59 -07:00
#wgameresaddrs = ":4807"
2007-08-13 08:48:35 -06:00
#apiregaddrs = ":5400"
2005-12-06 13:45:13 -07:00
# Just leave these as default (unless you know the timezone, longitiude and latitude
# of your server
woltimezone = "-8"
wollongitude = "36.1083"
wollatitude = "-115.0582"
2008-04-17 07:41:10 -06:00
# These as default means that WOL autoupdate will use official WOL FTP server.
# As "wol_update_serverhost" can be used also an IP address. FTP server is not
# component of PvPGN so for that purpose can be used any FTP server.
# Note that username and password is specifiable only in WOLv2 protocol. WOLv1
# will always use the default values.
wol_autoupdate_serverhost = "westwood-patch.ea.com"
wol_autoupdate_username = "update"
wol_autoupdate_password = "world96"
2005-12-06 13:45:13 -07:00
# #
##############################################################################
##############################################################################
# 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
2012-04-29 04:15:07 -06:00
# specified then 6667 will be used.
2005-12-06 13:45:13 -07:00
#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
2012-04-29 04:15:07 -06:00
# hostname, if the automatic detection doesn't correctly.
2005-12-06 13:45:13 -07:00
#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
2012-04-29 04:15:07 -06:00
# on demand
2005-12-06 13:45:13 -07:00
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 promote to Grunt)
# default value 168(7 days). If set to 0, all new members could be promote in no time
clan_newer_time = 0
2006-06-28 12:30:29 -06:00
# max members count allowed in a clan, set between 10 and 100, default 50.
2005-12-06 13:45:13 -07:00
clan_max_members = 50
# Default clan channel status when create a clan, 1 for private, 0 for public
clan_channel_default_private = 0
2008-02-24 14:50:35 -07:00
# Minimum accepted invites for create new clan. 0 = clans will be created
# without accepted invitations need. This does not affect WAR3/W3XP ingame
# clan management.
clan_min_invites = 2
2014-08-09 17:15:59 -06:00
###############################################################################
# user commands logging #
#-----------------------------------------------------------------------------#
# Should commands from users be logged to files in the userlogdir?
log_commands = true
# Commands will be logged for users with these command groups
# (global operators and admins are included)
log_command_groups = 2345678
# List of commands that will be logged
# can be defined by connecting them with a comma (,)
# set empty to log all commands
log_command_list = ""