This allows you to create a dedicated BattleField: Vietnam server on a Linux/Unix Machine.
*Note: If, as you begin downloading this file, it starts writing text to your browser, be sure to right-click and choose "save as..."
------------------------------------------------------ Release notes: Battlefield Vietnam free dedicated Linux server version 1.0 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. IMPORTANT: Please note that if you choose to install the server over an existing installation the existing installation directory will be removed! Example: $ sh bfv_linded-x.y.z.run - Modify mods/bfv/settings/serversettings.con to your taste. Example: $ cd /path/to/installation/bfv $ vi mods/bfv/settings/serversettings.con - Modify mods/bfv/settings/maplist.con to your taste. Example: $ cd /path/to/installation/bfv $ vi mods/bfv/settings/serversettings.con IMPORTANT: Please see the information below to understand the new map list format. - Run the server from within the top-level directory by typing ./start.sh [arguments] from a shell. Example: $ cd /path/to/installation/bfv $ ./start.sh +statusMonitor 1 - 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 ./start.sh +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 <[email protected]> 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 http://www.bf1942.lightcubed.com . 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. dpc would like to thank DICE and especially Andreas Fredriksson for his patience. 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 fixinstall.sh 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: $ ./fixinstall.sh --pretend When you're certain it looks good run the conversion: $ ./fixinstall.sh --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.listBannedKeys admin.addKeyToBanList <key> admin.removeKeyFromBanList <key> 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 follows: 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 game.addLevel hue 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. the third and final thing, is the handling and verification of mods. as there are no bfv mods and i'm adding this feature today (modulo a delay when i went to the movies) currently there is no checking that the mod's level actually can handle a specific game play mode. i don't know if this is even a problem, but i could imagine that evolution could get grumpy running in some random mod. if you specify a mode for a mod, we will try to set it and run, and bad stuff may happen. this is a bug, and will be revisited for 1.1. 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` $ ./start.sh +statusMonitor 1 This example sets the stack size to four megabytes. You can also combine the two lines: $ BFV_STACKSIZE=`expr 4 \* 1024 \* 1024` ./start.sh +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. +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 <[email protected]> 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 http://www.gnu.org/licenses/lgpl.html. Please note that the Battlefield Vietnam dedicated server itself is not covered by the LGPL license. Revision history ====================================================== Changes in this release: 1.0 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 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 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 le deuxieme - don't assume . is in the path for the license script (thanks to kingsley foreman and steve getman) 1.0 the original sin - initial release so there've been a lot Executable MD5 Checksums ====================================================== 94069b96fa4cf1a6b129ac1e98cdde80 ./Build/bfv_linded.static 13a7ef846c20e03b1e2748779ee32ad9 ./Build/bfv_linded.dynamic
There are no comments yet. Be the first!