These are the Linux dedicated server binaries for Call of Duty, updated to work with version 1.3 of the Windows client. There are two packages available for download, but admins will only need to download one of them. Please read the description for each to determine which one you need.
NOTES: This Linux Code version is all-inclusive, containing the fixes included in all previous releases of Linux MP server code. No prior version of Linux code is needed.
The “small” version contains an xdelta binary patch file, which requires the use of the xdelta 3rd party program to properly extract and update the pak0.pk3 file:
Filename: COD-lnxded-1.3.small.tar.bz2 Filesize: 20,452KB
The “large” version contains all the proper binaries along with an updated pak0.pk3 file:
Filename: COD-lnxded-1.3.large.tar.bz2 Filesize: 179,513KB
Call Of Duty(tm) Linux Multiplayer Server Code Version 1.3 Readme Last update: 2004-03-17 ============================= !! IMPORTANT !! Call of Duty Linux Server is NOT SUPPORTED by Activision Customer Support. Please do not call with any questions related to this free beta product. ============================= TABLE OF CONTENTS 1. Introduction 2. Installation 2a. Upgrading From A Previous Version Of The Linux Server 2b. Installing From Scratch 3. FreeBSD Note 4. Gametype Fixes 5. Weapon & Player Fixes 6. New Features 6a. New Multiplayer Maps - Bocage and Neuville 7. Multiplayer Bug Fixes 8. Fix list from MP Patch 1.2 8a. Gametype Fixes 8b. Weapon & Player Fixes 8c. New Features 8d. Multiplayer Bug Fixes 8e. Other 1.2 Updates ============================= 1. INTRODUCTION This document explains how to install the Call of Duty(tm) Linux server version 1.3. It also lists the numerous additions, fixes and changes in the Multiplayer 1.3 patch. Usage is very similar to Quake 3(tm) and Return to Castle Wolfenstein (tm)...most of the console commands, command lines, and cvars are identical. NOTES FOR MOD USERS: - It is recommended that any user modifications that have been installed to the Call of Duty directory be removed before installing this patch. These modifications are not supported by Activision(r) and may not be compatible with some of the new features that are included. - Call of Duty does not support mods that have spaces in the mod's folder name. Be sure that the folder that contains your mod does not have spaces, otherwise users will not be able to download the files. For example, a mod in a folder called "My Mod" would be invalid, whereas "MyMod" or "My_Mod" would work. 2. INSTALLATION 2a. UPGRADING FROM A PREVIOUS VERSION OF THE LINUX SERVER: - Unpack this archive so it replaces the previous versions of the "cod_lnxded" and "main/game.mp.i386.so" files, and adds "main/pak8.pk3" and "main/pak9.pk3." This should also overwrite the pak0.pk3 file. - Copy the correct language pak from the new "languages" directory: cd /where/i/copied/callofduty cp ./languages/localized_english_pak2.pk3 ./main/ cp ./languages/localized_english_pak3.pk3 ./main/ For those that downloaded the smaller version of the Linux server...the 175 megabyte "Large" version doesn't need this step. **If upgrading from Call of Duty 1.2 Linux Server, please skip the following steps.** - Patch pak0.pk3. You'll need the "xdelta" program for this: You can find it here: http://freshmeat.net/projects/xdelta/ - Extract the pak0.pk3.xdelta, then enter the following using the command line terminal: cd /where/i/copied/callofduty xdelta patch pak0.pk3.xdelta main/pak0.pk3 pak0.pk3.patched mv pak0.pk3.patched main/pak0.pk3 2b. INSTALLING FROM SCRATCH: - Get the retail Call of Duty disc. - Copy the contents of Disc One's "Setup/Data" directory to your server (there should be a "localization.txt" file in the root of this directory, and a "main" subdirectory. - Copy the contents of Disc Two's "Setup/Data" directory to your server (should be just a "main" directory...add it to the contents of the previous disc's "main'). - Alternately, you may install on Windows and copy the installed game to your Linux system, but many will opt to skip this step since the data files are uncompressed and easily accessible on the discs. Final installation size is around 1.1 gigabytes. - Unpack this archive in the root of the newly-copied tree, so "cod_lnxded" is in the same directory as "localization.txt" and "game.mp.i386.so" is in the "main" directory. - Copy the correct language pak from the new "languages" directory: cd /where/i/copied/callofduty cp ./languages/localized_english_pak2.pk3 ./main/ cp ./languages/localized_english_pak3.pk3 ./main/ For those that downloaded the smaller version of the Linux server...the 175 megabyte "large" version doesn't need this step. - Patch pak0.pk3. You'll need the "xdelta" program for this: You can find it here: http://freshmeat.net/projects/xdelta/ - Extract the pak0.pk3.xdelta, then enter the following using the command line terminal: cd /where/i/copied/callofduty xdelta patch pak0.pk3.xdelta main/pak0.pk3 pak0.pk3.patched mv pak0.pk3.patched main/pak0.pk3 Run the server: cd /where/i/copied/callofduty ./cod_lnxded When you see "Started tty console (use +set ttycon 0 to disable)", the server has started, but you need to start a map before the server will accept connections. At this point, type: map mp_chateau ("mp_chateau" being a given map's name). Now you should see your server in the in-game browser. There are a LOT of knobs to tweak to customize and automate your server, but it is beyond the scope of this documentation. Please refer to the admin manuals for any Quake 3(tm) based multiplayer game (including Quake 3 Arena(tm), Return to Castle Wolfenstein(tm), etc) for specifics. There is a mailing list for discussion and support of Call of Duty Linux servers. Send a blank email to firstname.lastname@example.org to get on the list, and list archives can be seen at: http://icculus.org/cgi-bin/ezmlm/ezmlm-cgi?38 Bug reports should NOT be sent to the list. We have a web-based bugtracking system for this. If you don't report bugs there, we don't promise to even be aware of them, let alone fix them! You can find the bug tracker here: https://bugzilla.icculus.org/ 3. FreeBSD users This server is known to work on FreeBSD with the Linux binary compatibility layer. If it doesn't, we consider it a bug and appreciate the report since we won't necessarily be testing on FreeBSD ourselves. Please note, that as of version 1.2, the server requires that you use the linux_base-8 package for binary compatibility (it has a stdc++ shared library we now need that previous linux_base packages don't supply). 4. Gametype Fixes - Radios for Headquarters made non-solid, to fix a potential exploit. - Improved server load in Headquarters spawning by making reinforcements spawn over multiple server frames rather than just one. This will create less lag when reinforcements spawn. - Headquarters now has a five second grace period. If you spawn and die then you get to respawn immediately. (farther away so you are not as likely to die again) - Fixed the bomb ticking sound not always working in "Search & Destroy." 5. Weapon & Player Fixes - Fixed an exploit where prone players who leaned around corners could see the enemy without being seen. - Fixed an exploit where players could switch between prone and jumping positions to move rapidly across a map. - Fixed a bug with the sway animation of the sniper rifle scope on high ping servers. - Fixed an exploit where people could get extra grenades in "Search & Destroy" and "Retrieval." - Fixed an exploit where reload animations could be skipped, decreasing reload times. - Fixed the bullet path of the PPSh and Sten in Aim Down The Sight mode. - Fixed a bug where players in all areas of the map heard the "click" of an empty weapon. - Fixed several minor animation bugs related to stance, leaning, jumping, etc. 6. New Features 6a. Added two new multiplayer maps, Bocage and Neuville. Both of these maps support all current game types: mp_bocage The Normandy terrain provides a natural advantage to the defender. Between the Orne and Vire Rivers is fifty miles of bocage; small fields surrounded by high earthen banks overgrown with shrubbery. Visibility is limited to one field at a time and the bushes provide cover from air and ground reconnaissance, making for superior defensive terrain. Each field is a death trap, earned with a hard fought series of firefights. The breadth of terrain and varied tactical scenarios make this the perfect setting for the "Headquarters" game type. When the attacks come from every direction, both teams will be put to the test. mp_neuville Neuville represents a destroyed town in Normandy, reduced to rubble amidst close combat between U.S. Airborne units and battle-hardened Waffen SS troops. Soldiers can find ample cover amidst the piles of rubble and massive shell craters. The environment is primarily designed for the "Search and Destroy" game type and provides a greater spread of attacking and flanking routes. This keeps defenders on their toes, and prevents attackers from being completely pinned down at narrow chokepoints. 7. Multiplayer Bug Fixes - Fixed a slow update problem with the server list. - Fixed a problem where the server list would improperly list servers with a ping of "1." - Fixed an issue with the server list being incomplete under certain circumstances. - When sorting the server list by a key other than ping, all entries of the same key are sorted by ping, instead of being random. - Fixed server determination of which clients require authorization. (This corrects the issue where some Internet players received a GUID of 0) - Autobalance was updated to prevent players from joining a team if this action would cause that team to be unbalanced. - Setting scr_teambalance to any number greater than 0 will balance teams to within that number of players, for example, 'scr_teambalance 2' balances the teams within 2 players. (8 vs 10 is ok, but 8 vs 11 is not) - True spectators (not dead players) are no longer restricted by the freelook cvar. They can always freelook. - If you are spectating a player (through their eyes) and you go into freelook, your view is no longer capped to the 180-degree arc of the ladder. - Removed the 'weapon' command. - Increased the max cfg file that can be executed to 64K from 16K. - Unknown commands in the server console now do not print to all clients. A say command is now required. - Fixed an issue where rcon status would occasionally not show all of the players on a server. - Fixed an issue on some ATI cards that would cause water to render improperly. (also affects Single Player) - Fixed an issue where too many custom pak files (maps or mods) would cause the "Pak Sum / Name Mismatch" error. (Also affects Single Player) - As an added security feature, your CD key will no longer be displayed in the Multiplayer Options menu. - Fixed not being able to immediately climb on a ladder after landing from a jump. - The "screenshot," "screenshotJPEG," and "record" console commands no longer overwrite existing files. - Cheat protected r_intensity. - Fixed player pings in the scoreboard. Previously if you were spectating someone, your displayed ping was for the person you were spectating. - Fixed a rare case of player stacking in multiplayer. - The Weapon, Item, say, sayteam, and tell log prints now include client guid, id, and name. (This will be useful for logging stats by actual player GUID, rather than by player name) 8. Fix List from MP Patch 1.2 The following are fixes that were included with the 1.2 MP patch, and are included here for reference: 8a. Gametype Fixes Behind Enemy Lines - Fixes some allies not showing up on the compass in large servers. - Fixed a bug that would make enemy indicator on the compass not show up. - Fixed the killcam window remaining on screen during the black screen when you are about to spawn as an allied player. - At the end of a round all players show on the same team to make it easier to see how players ranked. Search & Destroy - You no longer have a weapon when planting the bomb. - Planting the bomb near the end of the round stops the round timer, so that the bomb is now the condition for victory. - Bombs can no longer be planted after a round has been declared over. - Reaching the timelimit (scr_sd_timelimit) no longer ends the game mid-round. 8b. Weapon & Player Fixes - Adjustments made to the sniper rifles to make them balanced. - When a player lands after jumping, his/her speed is briefly reduced, making bunny hopping a less effective tactic in multiplayer. - Adjusted hitboxes on player models to make them more accurate and thus making rifles more effective. - The number of grenades given to a player is now based on the weapon selected. Sniper rifles provide 1 grenade, Bolt-action rifles provide 3 grenades, and all other weapons provide 2 grenades. 8c. New Features New Gametype - Headquarters - A radio randomly spawns into a map as neutral. Your team must capture a radio by standing near it with no enemies around. - Your team must control a radio to gain points. A team is awarded 45 points for every 45 seconds it holds the radio. - Destroying an enemy radio rewards your team with as many points as are left on the reinforcement timer (e.g. if you destroy the radio with 16 seconds left on the reinforcements timer, your team will receive 16 points). - If your team loses the radio, a new radio will spawn in a different location. This radio is now neutral and must be captured. - Spawns are regulated by a reinforcement timer, which spawns players in 45 second intervals. This reinforcement timer is displayed on the HUD and players only have to wait until the closest spawn period before rejoining the battle. Killcam On/Off - Added server-side cvar scr_killcam to turn on/off killcam Disable Freelook Spectating - Added server-side cvar scr_freelook to turn on/off freelook spectator mode Disable spectating enemy players - Added server-side cvar scr_spectateenemy to turn on/off spectating the other team while dead Force team balancing - Added server-side cvar scr_teambalance to force teams to have the same number of players. Teams with an odd number of players will be as balanced as possible. (Round based gametypes will adjust the teams between rounds, respawn gametypes will adjust the teams every 60 seconds) Shared Friendly Fire -Setting scr_friendlyfire 3 will share damage in cases of friendly fire between the victim and attacker. Ban Abilities For Server Administration: Uniquely identified players printed in stats logging: -The log used for stat tracking now includes player unique identifiers so players can be uniquely tracked based on cdkey instead of being tracked by player name. Note that there is no way anyone can determine your cdkey from your GUID. - Server administrators now have the option to Ban players from their server permanently. The banned players are stored in a "ban.txt" file on the server, which can be manually edited by the server admin. - The commands "banUser" and "banClient" ban somebody currently playing on a server by their in-game name or client number. This adds the player to "ban.txt," and kicks them from the server. - You can unban every uniquely identified player with the name "UnnamedSoldier" using "unban UnnamedSoldier" from the console. If you want to unban a single player whose name appears more than once, you should edit "ban.txt" manually. - Server administrators also have the option of temporarily banning a player from a server for X amount of time (in seconds). Use the command \sv_kickBanTime to change the length of the ban. This Temp Ban option has also been added to the CallVote menu, allowing players to kick "griefers" and prevent them from simply reconnecting immediately. NOTE: Ban commands are for Internet servers only. They do not function on LAN servers. Server Hardware displayed in Server Browser - Added a column with icons displaying what hardware each given server is (Win Dedicated, LINUX, etc). - Added an indication whether or not the server is modded to the server browser. New script commands - Added "precacheTurret( turretinfo )" script command to MP. - Added "spawnTurret( classname, origin, turretinfo )" script command to MP. - Added "enableWeapon()" and "disableWeapon()" player script commands to MP. 8d. Multiplayer Bug Fixes - Fixed minefield explosion sounds not always playing correctly - Fixed minefield explosion damage killing nearby players - Teammate icons (scr_drawfriend) are smaller and slightly transparent now. They are also based on nationality. - Fixed an exploit that would turn the world solid black. - The "tell" command works from a dedicated console to send a message to a single client. - You cannot "callvote" a non-existent map from the console. - Fixed "callvote" failing as soon as one less than half the people vote no. - Fixed some issues with mods and some issues with pure servers. - Fixed nearby trees vanishing in large outdoor levels when lots of effects go off at once. - Changed the draw order on the compass so that friendlies draw on top of objectives. - Font files now try to load from the main language folder first. - Fixed bug where if you strafed off a ladder it would repeatedly grab and drop the whole way down the ladder. - When you fall from a ladder you no longer play the ladder climb down animation. - Grenades no longer float in air if they planted on something that moved. - Grenades no longer jiggle when planting on players. - Adjusted the position of the Kar98 when aiming down the sight. - Players no longer run in place when planting a bomb. - Fixed case of the gun not getting placed in the right hand when you die while reloading. - Fixed the reload animation playing after you respawn. - Fixed some view problems with the MG42. - Fixed ambient sounds continuing from the previous map when starting to load the next - The scoreboard now is scrollable at the end of a map. - Fixed a crash changing map and gametype via vote menu. - Fixed sporadic friendly fire message when killing an enemy player in Behind Enemy Lines. - Removed unused cl_timenudge cvar to prevent possible exploit. - Cheat-protected r_colormiplevels to prevent possible exploit. 8e. Other 1.2 Updates Listed below are the updates that have been made for 1.2 that do NOT apply to the Linux server directly. These are all updates that should only affect the Windows(tm) clients, however they are listed here for reference purposes. - Added pure server, friendly fire, killcam, server modded, and dedicated only server filters. IMPORTANT NOTE: The "Pure Server" filter is set to "Pure Servers Only" by default. When the patch is installed, it will show only pure servers unless you change to another setting. This setting can be found by clicking on "Join Server" and selecting the "Filters" submenu. - On connecting to a server you will now see a server info screen which lists the servername, message of the day, gametype, and current settings appropriate to the gametype. - Timedemos write a .csv file based on the map name and resolution that says how many milliseconds each frame took. This can be opened directly in a spreadsheet program for benchmarking performance over time. - There is a new client command in the Multiplayer Options screen called "Allow Downloading." When set to on, connecting to a server that contains a new map or mod will automatically begin downloading the files associated with the map or mod. - Removed music from multiplayer menus - Fixed crash that would happen for some people on start of multiplayer if "cl_motd" was set to "1". - Fixed cvar propagation issues seen when joining a server and then starting your own server - The icon for password-protected games should now properly show in the server browser menu. - Fixed a crash in the main menu that came about when users left the computer sitting at the menu for prolonged amounts of time. - Fixed a problem with the host not being able to join a team after the map changed. - Fixed a problem with cdkeys not being displayed after connecting to a server running a mod.
There are no comments yet. Be the first!