BNETD.CONF(5)
π BNETD.CONF(5) π
okay bestie, welcome to the BNETD User's Manual β¨ this is the bnetd.conf page and it's a whole journey, so grab a snack π
π NAME π
bnetd.conf β configuration for the Unix Battle.net daemon π
πΈ DESCRIPTION πΈ
So. The file bnetd.conf holds all the info that the Unix Battle.net daemon bnetd(1) needs β like, the system-specific stuff: where files live, what the policies are, all of it. It's basically the server's little diary of settings π
The file is a list of configuration entries and comments. A comment starts with a pound (#) sign and just keeps going to the end of the line, no cap. Blank lines and whitespace between entries? Ignored, we don't see them π
A configuration entry is made of two fields separated by an equals (=) sign, like so:
directive = value
The directive field is the name of the configuration item you're setting, and it gets set to value. If your value has spaces in it, wrap it in quotation marks ("). The value itself may not contain quotation marks, sorry babe. And multiple entries on one single line? Absolutely not allowed, one per line periodt π«
Now the tea on types β
- If the field is Boolean, you can use any of
true,false,yes,no,1, or0. - If the field is numeric, it has to be in base ten.
- If the field is an address list, it must be comma-delimited. Each element may contain a hostname (or IP) and a port number. If a port number is given it has to be preceded by a colon (
:). A colon all by itself represents the wildcard address π - If the field is a file or directory path, using an absolute pathname is recommended, fr fr.
β οΈ heads up bestie: the values foriconfile,tosfile, andmpqauthfileare not pathnames β they're just the names of the files, and they must live in thefiledirdirectory. don't come for me, that's just how it is π«Ά
π¦ recognized values for directive π¦
These are the ones the server actually knows about, and there are a LOT of them, so let's go π
filedirβ the path where downloadable files are stored. These include the TOS (terms of service), icons, and ad banners. (Normally"files/")userdirβ the path where user accounts are stored. (Normally"users/")reportdirβ the path where game reports are stored. (Normally"reports/")chanlogdirβ the path where channel logs are stored. (Normally"chanlogs/")defacctβ the path of the default account file. This file holds all the default account attributes, which get used whenever an attribute isn't set on an actual account. (Normally"bnetd_default_user")motdfileβ the path of the "message of the day" text file. It gets displayed when a user enters the first chat channel. (Normally"bnmotd.txt")channelfileβ the path of the permanent channel list. (Normally"channel.list")newsfileβ the path of the file that gets printed when the/newscommand is used. If no file is specified, or the file just doesn't exist, the server tells the user"No news today"π (Normally"news.txt")adfileβ the path of the ad banner list, which decides which banners get displayed at which times. (Normally"ad.list")ipbanfileβ the path of the IP ban file, which you can use to block connections from certain addresses. (Normally"bnban")helpfileβ the path of the chat command help file. (Normally"bnhelp")transfileβ the path of the game address translation file, which lets players behind a NAT firewall play with players outside of it. iconic honestly. (Normally"gametrans")mpqfileβ the path of the autoupdate MPQ archive list. It chooses which versions of which clients to update. (Normally"autoupdate")logfileβ the file where the server appends the event messages selected with theloglevelsfield. (Normally"bnetd.log")pidfileβ the path of the file where the server records its process ID. (Normally"bnetd.pid")fortunecmdβ the path for the program to be executed when/fortuneis used. Seefortune(6). (Normally"/usr/games/fortune")loglevelsβ a comma-delimited list of message levels to log. The available levels are:traceβ flow tracing statementsdebugβ debugging informationinfoβ potentially useful informationalwarnβ potentially serious eventserrorβ error messages and unexpected eventsfatalβ fatal errors
iconfileβ the name of the BNI chat icons file, which must be inside of thefiledirdirectory. (Normally"icons.bni")tosfileβ the name of the TOS file, which must be inside of thefiledirdirectory. (Normally"tos.txt")allow_autoupdateβ enable or disable the automatic client update facility. If you want to allow different client versions to connect, set this tofalse. If you want to update all clients to the same version, be sure to also download the MPQ auth file, and the update MPQ πmpqauthfileβ the name of the MPQ authorization file, which must be inside of thefiledirdirectory. This file is used to determine the current client version. It's only needed ifallow_autoupdateis turned on. (Normally"IX86ver1.mpq")usersyncβ the time in seconds between account file saves. A value of0means wait until shutdown to save account files and don't do periodic updates.userflushβ the number of seconds of inactivity before a user is unloaded from memory (only checked during file account updates, seeusersync). After the account has been unloaded, it has to be read from disk when it's accessed again.latencyβ how often to send user latency tests to the user, in seconds. These decide how many "lag bars" get printed next to users in channels πΆshutdown_delayβ the amount of time in seconds to delay shutting down the server when it receives aSIGTERMorSIGINTsignal(7).shutdown_decrβ you can decrease the amount of time to wait by this value by sending anotherSIGTERMorSIGINTsignal(7).newaccountsβ if this value istrue, then new accounts may be created by users on the system. Administrators can always use the/addacctchat command, no matter what πkick_oldloginβ if this value istrue, then a second login by the same user will kick off the first. Otherwise, that second login gets a message saying they're already logged in πask_new_channelβ if this value istrue, a user who uses the "Channels" button to join a non-existing channel gets asked if they want to create it, just like Battle.net. Otherwise, the channel just gets created silently.report_all_gamesβ if this value istrue, all games with more than one player lasting for more than 5 minutes get logged. Otherwise, only ladder games are logged.hide_pass_gamesβ if this value istrue, private (passworded) games won't be shown in the game list, just like Battle.net. Otherwise all games get listed.hide_started_gamesβ if this value istrue, games which have already started will not be sent to the clients. The clients filter these games out for Starcraft and Brood War already.hide_temp_channelsβ if this value istrue, private channels won't be shown in the channel list, just like Battle.net. Otherwise all channels get listed.extra_commandsβ if this value istruethen all the extended chat commands are enabled. Otherwise only those which exist on Battle.net are enabled.disc_is_lossβ if this value istruethen any disconnect will be treated as a loss (regardless of the setting in ladder games). harsh but okay πenable_conn_allβ if this value istruethen all users may use the/conand/connectionscommands. Otherwise only administrators may use them.hide_addrβ if this value istruethen IP addresses will be hidden from non-admins in the output of the/con,/games,/gameinfo, and/netinfocommands π΅οΈchanlogβ if this value istruethen private channels will be logged to files in thechanlogdirdirectory. The logging of public (permanent) channels is controlled in thechannelfilefile.trackβ set this value to0to disable sending updates to the tracking server. Any other number sets the number of seconds between tracking packets. Try to use a number above60seconds unless you know the tracking server administrator doesn't mind being spammed πtrackaddrsβ a comma-delimited list of addresses of tracking servers to send updates to. The address for the master server is"track.bnetd.org". A port may be specified after a colon, numerically or by name from/etc/services(5). If a port number is not specified, it defaults to6114.locationβ give a description of the physical location of the server, such as"San Diego, CA, USA". This gets reported to the tracking server πdescriptionβ give a description of the title or role of the server, such as"Joe's Spiffy Server". This gets reported to the tracking server too β¨
and bestie we are SO not done, there's more coming π part 2 is right there β
urlβ drop the URL for your homepage or a contact page for the server, like"http://www.foo.com/joeserv.html". This one gets reported to the tracking server, so bestie, make it something you actually want people seeing πcontact_nameβ the name of the person to contact about the server, like"Joe Blockhead". Also reported to the tracking server π«Άcontact_emailβ the email address of the contact for the server, like"joe@foo.com". Yep, also reported to the tracking server β it's giving "here's who to yell at" energy β¨use_keepaliveβ set this to true and the server turns on the TCP keepalive option, which lets the system sniff out stale connections π Lowkey a vibe check for dead sockets.servaddrsβ the comma-delimited list of addresses the server should listen on π§ A port can go after a colon, either as a number or by name from/etc/services(5). And if you don't specify a port at all? It defaults to6112. Periodt.udptest_portβ the UDP port number that gets assumed for clients if they don't sendSESSIONADDRpackets. Plot twist: if you set it to zero, the server just uses the remote TCP port number as the default UDP port number. Iconic little fallback ngl π
πΈ SEE ALSO πΈ
bnetd(1)β go read that one too, bestie, it's the whole point π
π AUTHOR π
Rob Crittenden (rob@bnetd.org), Ross Combs (ross@bnetd.org)
That's the whole page, bestie β you made it to the end π This wasBNETD.CONF(5)from theBNETDcrew, dated12 June, 2000. Genuinely iconic documentation, no cap πβ¨π¦
π¦ where this page comes from
- debian trixie: pvpgn 1.99.7.2.1+dfsg-2 Β· GPL-2.0-or-later
- ubuntu stonking: pvpgn 1.99.7.2.1+dfsg-5 Β· GPL-2.0-or-later
- Copyright (C) 1998 Mark Baysinger (mbaysing@ucsd.edu)
- Copyright (C) 1998,1999,2000 Ross Combs (ross@bnetd.org)
- Copyright (C) 1999 Rob Crittenden (rcrit@greyoak.com)
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms