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.
------------------------------------------------------ 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. 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 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 ./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@example.com> 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. 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 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> You may also use the following command to get a list of players, and their cd keys, on a running server: admin.listPlayers 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 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` $ ./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. 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 <firstname.lastname@example.org> 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.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 team. 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: ADDED: 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 winnerScore loserScore deployObject/undeployObject event type attachToHook/detachFromHook event cargo createVehicle event type team CHANGED: bf:log tag changed: <bf:log engine="<FULLVERSION>" timestamp="<TIMESTAMP>" xmlns:bf="http://www.dice.se/xmlns/bf/1.0"> eg, for v1.01: <bf:log engine="BFVietnam v1.01" timestamp="YYYYMMDD_HHMM" xmlns:bf="http://www.dice.se/xmlns/bf/1.0"> 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
There are no comments yet. Be the first!