BFV Dedicated server - Linux

Here is the Linux/Unix dedicated server, for all of those penguin lovin' peeps, myself included... This file will setup a BFV Dedicated ser...


Do not refresh or leave this page!

File Description

Here is the Linux/Unix dedicated server, for all of those penguin lovin' peeps, myself included... This file will setup a BFV Dedicated server on your favorite Linux box.

Read More

Download '' (118.95MB)

Release notes: Battlefield Vietnam free dedicated Linux server version 1.01
Battlefield Vietnam is a registered trademark of Digital Illusions CE AB.
(c) 2004 Digital Illusions CE AB

Quick start

- Run the server installer and follow the instructions.

	Please note that if you choose to install the server over an existing
	installation the existing installation directory will be removed!

  $ sh

- Modify mods/bfv/settings/serversettings.con to your taste.

  $ cd /path/to/installation/bfv
  $ vi mods/bfv/settings/serversettings.con

- Modify mods/bfv/settings/maplist.con to your taste.

  $ cd /path/to/installation/bfv
  $ vi mods/bfv/settings/serversettings.con

    Please see the information below to understand the new map list format.

- Run the server from within the top-level directory by typing
  ./ [arguments] from a shell.

  $ cd /path/to/installation/bfv
  $ ./ +statusMonitor 1

  NOTE: The statusMonitor is now activated by default (because I'm a lazy
  sod).  To revert back to the old behaviour, remove the offending line
  in serversettings.con

- If you are starting the server from a remote connection you will need to
  encapsulate it inside a "screen" session to let it stay behind when you log
  out from the shell.

  Example (to start the server):
  $ cd /path/to/installation/bfv
  $ screen ./ +statusMonitor 1
  Now press Ctrl-A followed by Ctrl-D to detach the screen session, leaving it
  running in the background. You can now log out without affecting the server.

  Example (to reconnect to the server status monitor):
  $ screen -r

  Please see the man page for screen to learn more about what it can do.

More information

Welcome to the Battlefield Vietnam dedicated server. For
patch-specific information please refer to the generic read me file
included with both the Linux and win32 distributions.

we've made every attempt to incorporate Andreas's work on the 1942
dedicated servers into this branch of the Battlefield tree, but some
things may be missing.

For discussion with the developers and other users of this server
please subscribe to the bf1942 mailing list. To join the list, send a
message to <> and follow the instructions
given to you in the reply.

If you prefer to use a forum, there is one set up at the distribution
site for the open beta series at
. You can report bugs both in the forum and on the mailing
list. Please don't send bug reports in private mail, use the forum or
the list instead.

[ Yes, I'm serious that you should use this list and site until an
  official list is created by the powers that be. ]

DICE would like to thank Ryan C. Gordon for his work on the earlier
Linux releases and the bf1942 Linux community for their test feedback,
bug reports and patience.  DICE would also like to thank Peter Chang (dpc)
for his work to get the linux server up and running for release.  dpc
would like to thank DICE and especially Andreas Fredriksson for his

The file case confusion problem solved

The Linux server will read lower-case filenames ONLY. All file names
encountered at runtime are lower-cased before a filesystem access is
attempted. You should therefore make sure all files are lower-case
when installing third-party modifications and maps.

To aid you with this there is an included bourne shell script called which recursively changes the case of files and
directories from the directory where it's run.

You can simulate the actions of the script with these options:
 $ ./ --pretend

When you're certain it looks good run the conversion:
 $ ./ --verbose

Banning by unique identifiers (CD key hashes)

This release of the dedicated server includes a system to ban players
by their unique CD key hash. The system is similar to the current
IP-based banning system but uses the following new console commands:

admin.banPlayerKey <player number>
admin.addKeyToBanList <key>
admin.removeKeyFromBanList <key>

You may also use the following command to get a list of players, and
their cd keys, on a running server:


Banned player keys are stored together with the IP-based bans in the
banlist.con file. IP-based bans continue to work if you would still
like to use them.

Please note that the PunkBuster system also has a CD key hash banning
system that works separately from the built-in system.

supporting bf1942 1.6 style maplist.con

the old maplist.con format was as follows:

    game.addLevel <map_name>
    game.setCurrentLevel <map_name>

where <map_name> was a map from the current mod using the current game
play mode (set elsewhere).

starting w/ version 1.6 (i think) the bf1942 maplist.con format is as

    game.addLevel <map_name> <game_play_mode> <mod_name>
    game.setCurrentLevel <map_name> <game_play_mode> <mod_name>

this allows what some people refer to as a map cycle where not all
levels need to have the same game play mode. this is considered to be
better by the server admins on the mailing list, and since i've never
done it who am i to argue.

anyway, we (the glorious bfv team) have added a variant of the bf1942
format to the linux dedicated server builds starting w/ five-by-five
from whence it will percolate into better clients and win32 servers
everywhere. the format is the same, but there are a few subtleties due
to the fact that there will be old style maplists out there and that i
cannot wave ma baguette magique and 'fix' all of the client cd's that
have already been burned (i do have a nice pair of ruby slippers
though; there's no place like home, there's no place like home, ...).

the first thing is that we still accept the old format w/ the
following proviso, unsupplied information defaults to the current game
state set in serversettings.con. for example:

    game.addLevel hue GPM_COOP bfvietnam

will set the first map in the list explicitly to be
<hue:coop:bfvietnam>. it is unknown from looking at the addLevel
command alone what game mode and mod are being set as they will
inherit from the game settings. the maplist.con file will *ALWAYS* be
written out in the new format.

the second thing may be more confusing. evolution (GPM_EVOL) is a new
game play mode that already does a form of map cycling (see the actual
game readme or docs for actual information on how this works) and is
(currently) treated specially by the system. part of this special
handling is that it handles tracking the current score and the next
map separately. this special handling means that the map list will
contain either evolution or other game play mode data w/ no mixing
allowed since we don't want to make evolution unhappy by presenting it
w/ map data that it doesn't understand. the first mode set will 'win'
and maps specified w/ the 'wrong' mode will be dropped silently.

Known issues

To work around bugs in some implementations of pthreads (the standard
system threading library on Linux) the server allows you to explicitly
set the stack size to use for new threads. If you need to change this
limit you can do so with the BFV_STACKSIZE environment variable by
exporting it to the server's environment:

$ export BFV_STACKSIZE=`expr 4 \* 1024 \* 1024`
$ ./ +statusMonitor 1

This example sets the stack size to four megabytes.

You can also combine the two lines:
$ BFV_STACKSIZE=`expr 4 \* 1024 \* 1024` ./ +statusMonitor 1

If you see errors about thread creation you might need to use this option.

Option summary

The following options are unique for the dedicated server:

+statusMonitor	1

Enables the curses status monitor which enables you to work with the
in-game console directly at the server.  This is by default enabled in
the stock serversettings.con.

+priorityDaemon 1

Enables sending priority change requests to the external root daemon
(bfpridaemon) which changes the server niceness while loading. Use
this option (and run the external daemon) to reduce the CPU stress
when running multiple servers on the same machine.

The priority daemon itself is distributed as source code and can be
found under the `bfpridaemon' subdirectory of the installation. Use of
this code is at your own risk and there is no warranty what so ever.

Please note that the following options are deprecated and do not
effect the server in any way: +restart, +dedicated and +game.

Have fun with your Linux server!

dpc (changes made herein are mine but the original thanks go to)
Andreas Fredriksson <>

Licensing information

The Battlefield Vietnam dedicated server is linked with the GNU C and
C++ libraries which are under the LGPL license. By linking dynamically
we ensure that you as a user can use this software with other versions
of these libraries.

A statically linked binary also linked with these libraries is
supplied purely for convenience should you not be able to run the
dynamically linked binary.

The LGPL license text is included with this release and can be found
on the web at

Please note that the Battlefield Vietnam dedicated server itself is
not covered by the LGPL license.

Revision history

Changes in this release:

1.1.0 la braga'is.
	- New Map: Defense of Con Thien
	- Added an option to force team switch at the end of a round.
		ie, US soldiers go to NVA, NVA soldiers go to US
		game.ServerAutoSwitchTeams <0|1>
			0 - off
			1 - on
	- Added an option to carry tickets over between rounds.  This will
	  work with team switch, so the tickets will follow the team if they
	  switch sides.
		game.serverTicketCarryOver <0|1>
			0 - off
			1 - on
	- Can force players with a defined string in their name to a particular
		eg. The following forces DICE to NVA forces, EA to US forces.
		game.serverClanTagTeam1 "DICE"
		game.serverClanTagTeam2 "EA"
	- Crosshair pixel centerpoint option added to dedicated server.
		game.serverCrossHairCenterPoint <0|1>
			0 - off
			1 - on
	- Crosshair hit feedback option added to dedicated server.
		game.serverHitIndication <0|1>
			0 - off
			1 - on
	- Dedicated server can choose between death camera options of
	  orbit/reveal killer/free cam.
		game.serverDeathCameraType <0|1>
			0 - orbit
			1 - killer
		game.serverFreeCamera <0|1>
			0 - use death cam
			1 - use free cam
	- TK punish mode options added to dedicated server.
		game.serverTKPunishMode <0|1>
			0 - Punish
			1 - Forgive
	- Password-reserved slots added to dedicated server.
		game.serverNumReservedSlots <#>
		game.serverReservedPassword "somepassword"
	- Option to disable the Flag Warning mini-map icon added.
		game.ServerCPThreatIndicator <0|1>
			0 - off
			1 - on
	- xml changes:
		gamePaused event (no parameters) 
		gameUnpaused event (no parameters) 
		sayAll event (text parameter) 
		ip parameter to existing connectPlayer event 
		timestamp parameter in bf:log tag (see below) 
		endGame event 
			reason = timelimit, scoreLimit, tickets 
			winner = 1|2 
		deployObject/undeployObject event 
		attachToHook/detachFromHook event 
		createVehicle event 
		bf:log tag changed: 
			<bf:log engine="<FULLVERSION>" 
		eg, for v1.01: 
			<bf:log engine="BFVietnam v1.01" 

1.02.0 so crazy
   - Fixed a bug with the winch code that caused client disconnects.
   - game.ASEPort setting has been reactivated, since ASE SDK now supports
     it (default is still gameport+123)

1.01.0 relay-race
    - general optimizations to reduce server lag
    - cdkey hash added to game.listplayers output
    	game.listPlayers uses the new format:
	#Id:<id> - <name> is remote ip: <ip>:<port> hash:<cdkeyhash>
    - gamespy port setting fixed
	game.gameSpyPort 	- now working
 	game.gameSpyLANPort	- now working
	game.ASEPort		- removed (not supported by ASE SDK)
    - All Seeing Eye updates
	Battlefield Vietnam games no longer appear in 1942 ASE list.
	Player details should appear correctly in ASE server list.
    - pid file change: write .pid file to +overlayPath (if set) or
	the root path, if unset; the win32 dedicated frontend needs
	it in the root path.

1.0.6 Det Sjunde inseglet
    - fix for forgetting to re-enable punkbuster overlay path
    - fix for admin.changeMap knowing anything about mapname triples
    - fix for shovels and mortars
      (thanks to andy for at least his game play knowledge)
    - relabelled release names official and soon to be erased
    - remove all casification fun for final
    - hoping for the 30min respite forseen

1.0.5 heretics
    - round start event logging and try to get the right victory type
      (thanks to forrest thiessen)
    - fix for absolute paths in the +overlayPath
      (thanks to steven hartland)
    - hmmm... somehow the last app installer was corrupted.
    - hmmm... bang was misplaced for apps install
      (thanks to andy berdan)
    - enter into the obscure circle for release names

1.0.4  five-by-five
    - the map id isn't the map name. so i added the map name back to
      the event log.
      (thanks to forrest thiessen)
    - if we get a log message, we dont have the console running, then
      don't spew it since it is going to log anyway.
      (thanks to some forum poster who's name i don't have handy)
    - added back some more micro-fp-optimizations that exist in the
      win32 build, but i never really got around to before.
    - implemented a variant of the bf1942 maplist format. see the note
      above for the details.
      (thanks to andreasf for most of the changes although i did season
       to taste, and the bf list for nagging me to get off my fat ass)
    - write .pid file to +overlayPath (if set) or the settings path
      otherwise. previously this was written to the installation root
      which is what the client wants (don't ask me why).
      (thanks to christopher kunz)

1.0.3 goes fourth
    - <sigh> the gameserver's notion of address includes the port
      which doesn't make inet_addr happy and nobody does any error
      checking. this fixes services binding to the server ip.
      (thanks to kingsley foreman)
    - <sigh> win32's accept seems to have the connected socket inherit
      status from the listening socket. this fixes hanging on remote
      console connecting.
      (thanks to kingsley foreman)
    - fixed readme to not have info about updated maplist.con. for
      some reason i thought that we had the same format as 1.6, and
      had left this text in.
    - fixed -m mode from remote console since i was thinking about
      remote console stuff and it turned out to be easy.
    - fixed .static build (well, mostly be re-installing the whole
      damn tool chain)
    - added dummy maplist.con and serversettings.con files as defaults

1.0.2 the trifecta
    - fix bash-itis in license script
      (thanks to steven hartland)
    - <sigh> nuke should have been dead password file grovelling
      (thanks to andrew a. chen)
    - <sigh> i seem to have dropped custom ports along the way
      (thanks to incist)
    - merged the rest of 1.6's xml logging (that i had on my mental
      list of things to forget)
      (thanks to forrest thiessen)
    - evolution mode is a special case everywhere
    - random avoiding proliferating nan's and inf's
    - server may have a default (system dependent ip) but if the user
      wants to bind to a specific one please do it.
      (thanks to kingsley foreman)
    - more stripping crap invisble to the naked eye
    - one would think that a parameter named 'block' would mean that
      the socket is being put into blocking mode espcially since the
      function is called setBlockingMode, but then you wouldn't
      be thinking like a windows programmer. this fixes the remote
      console hang on non-win32 boxen
      (thanks to kingsley foreman)

1.0.1 le deuxieme
    - don't assume . is in the path for the license script
      (thanks to kingsley foreman and steve getman)

1.0.0 the original sin
    - initial release so there've been a lot

Executable MD5 Checksums

84974107047094ea2733c9b395d5c3be  ./Build/bfv_linded.static
56bb448d1ad94b9ba1c981493b664a44  ./Build/bfv_linded.dynamic

Read More

Comments on this File

There are no comments yet. Be the first!

Electronic Arts/DICE

50 XP

Registered 17th March 2004

70 Files Uploaded

Share This File
Embed File