=============================================================================== NO ONE LIVES FOREVER NolfServ Readme Version 1.003 April 27, 2001 =============================================================================== NolfServ Wizard --------------- You can run a dedicated server on the Internet, or on your local LAN. You must have a FULL install of No One Lives Forever v1.003 to run NolfServ v1.003. Ideally, the hosting system will exceed the minimum system spec for processor speed and RAM. Players will experience smoother gameplay on your server if it has more of both of these things. A high-bandwidth Internet connection (ISDN or faster) is also preferable. Run the dedicated server either by clicking the NolfServ server icon in your start menu, or by double-clicking the NolfServ.exe in your Nolf installation folder. You will then go through a multiplayer setup wizard. The pages of the wizard correspond to the in-game hosting menus. Please refer to manual about the in game hosting server options. New to NolfServ v1.003 is the Customization Options page of the setup Wizard. This will be the first page displayed if you have a Custom folder containing Add-on .rez files (see the No One Lives Forever Update 1.003 readme for more information about custom levels). The Customization Options page allows you to run custom Add-on .rez files containing new levels/resources on your server. The NOLF Server Setup Wizard page allows you to set the following settings: * Session Name: This is the name of your server as seen by players when they are looking for a server to join. * Game Type: This is either "H.A.R.M. vs. UNITY" or "Deathmatch" * Max Players: Maximum number of players allowed to play (2-16) * Port: This is the port the host server is on. It can be a number between 1 and 65535. * Bandwidth: Target bytes per second to send over the network layer. This MUST be set correctly to avoid send overflow. For a detailed explanation of how to use this feature, please see the section of this document labeled "limiting bandwidth". * Password: This specifies whether the game is password protected and what password to use. The Options page allows you to set the following settings: * Run Speed: How fast the player runs. This is a percentage between 50 and 150 percent. * Respawn Scale: How fast powerups respawn. This is a percentage between 50 and 150 percent. * Default Weapon: This specifies the weapon that you are carrying when you respawn. * Weapon Stay: Do weapon powerups respawn immediately when picked up, or do they respawn based on the time set by the level designer. * Location Based Damage: Is location based damage turned on (e.g., a head-shot does more damage than a body shot). * Audio Taunts: Are audio taunts allowed. * Fall Damage: How much damage if caused by falling. This is a percentage between 0 and 100. * Armor Health Bonus: A Health bonus that is given when armor powerups are picked up. This is a value between 0 and 100. The Deathmatch Options page allows you to set the following settings: * Level Ending Condition: The condition that determines when the level should end. This can be set to "Frag limit reached", "Time limit reached", "Frag or time limit reached", or "none". * Frag Limit: This indicates the number of frags (kills) a player must get for the Frag limit to be reached. This must be a value between 5 and 50. * Time Limit: This indicates the time (in minutes) that a level must be running before the time limit is reached. This must be a value between 5 and 60. The H.A.R.M. vs UNITY Options page allows you to set the following settings: * Level Ending Condition: The condition that determines when the level should end. This can be set to "Score reached", "Time limit reached", "Score or time limit reached", or "none". * Time Limit: This indicates the time (in minutes) that a level must be running before the time limit is reached. This must be a value between 5 and 60. * Winning Score: This indicates the score that a team must reach for the winning score to be reached. This must be a value between 30 and 200. * Intelligence Score: This is the score that is given for successfully "capturing" an Intelligence item. * Frag Scoring: This indicates if frags should add to a player/team's score. * Friendly Fire: This indicates whether team mates can damage each other or not. The Worlds page allows you to add/remove maps to/from the rotation. When hit the Finish button on the Worlds page, there will be a pause while the server starts and the first world is loaded. When the server starts running, you will see the dedicated-server main window. This window is broken up into 5 sections that are described below: SERVER INFO * Name: This is the name of your server as seen by players when they are looking for a server to join. * Running Time: This shows the total time your server has been running. * Total Players: This shows the total number of players that have visited your server. * Peak Players: This shows the highest number of players that were on your server at one time. GAME INFO * Players: This shows the number of players currently on your server. * Time in Level: Shows the time the current level has been running. * Average Ping: Shows the average ping of the players currently in your level. PLAYERS This shows the list of players that are currently on your server. The list has the following columns that describe each player: * Name: The name of the player. * Ping: The ping from the player to the server. * Kills: The number of kills the player has scored in this level. * Time: The length of time this player has been on the server. There is a button below the list of players labeled "Boot". Use this button to remove a player from your server. LEVELS This shows a list of levels that the server will be running and the order they will run in. The current level is indicated with a black dot to the left of the level name. Below the list of levels, there are three buttons which are described below: * Next Level: Go to the next level immediately without having to wait for the level ending conditions to be met. * Select Level: Go to the currently highlighted level immediately without having to wait for the level ending conditions to be met. You can also just double click the level. * Stop Server: This will stop the server and close NolfServ. CONSOLE This shows a scrolling display of the server's internal commands and status. Chat messages from players will also appear here. To send players messages from the command line interface at the bottom, precede the message with "say" and enclose the message in quotes. For instance if you entered: say "hello everyone!" all clients would see the message "hello everyone!" from "Host". Advanced users can enter Lithtech console commands in this command line. To clear the display entirely, click the Clear button. ADVANCED SERVER: For advanced server setup, the following commands are available: General Commands (compiled by "ShagnWagn"): ------------------------------------------- * NetDefaultWeapon: This is used to set the default weapon players get when the respawn. Valid values: 20 = None 21 = Shepard Arms P38 9mm Pistol 22 = Petri .38 Airweight Revolver 23 = Braun 9mm Parabellum 24 = Gordon 9mm SMG 25 = Hampton MPL 9mm SMG 26 = AK-47 Assault Rifle 27 = Sportsman EX Crossbow 28 = Hampton Carbine 29 = Geldmacher SVD Sniper Rifle 30 = Morris Model 14 Spear Gun 31 = Laser Gun 32 = Super Atomic Laser Weapon 33 = Bacalov Corrector 34 = M79 Grenade Launcher 35 = Briefcase 36 = Lipstick Impact Explosive 37 = Lipstick Proximity Explosive 38 = Lipstick Timed Explosive 39 = Sleeping Gas 40 = Stun Gas 41 = Acid Gas 42 = Belt Buckle/Zipcord * NetMaxPlayers: Sets the maximum number of players that can join the server. NOTE: User with caution: if you set it with 16 players in the server wizard then lower it with this to 4 (or any other amount), Gamespy still allows people to join even when full). Valid values: 2-16 * NetHitLocation: Turns location-based damage on/off (0=off, 1=on). * NetFragScore: Turns frag scoring in H.A.R.M. vs UNITY games on/off (0=off, 1=on). * RunSpeed: Used to adjust the run speed. This value represents a percent of the normal run speed. Valid values: 0.5-1.5 (i.e., 50-150%). * NetFallDamageScale: Percentage of fall damage players take. Valid values: 0.0-1.0 (i.e., 0-100%) * RespawnScale: Used to adjust the rate at which powerups respawn. This value represents a percent of the normal respawn time. Valid values: 0.5-1.5 (i.e., 50-150%). * NetArmorHealthPercent: Used to give players a health bonus when they pick up armor powerups. This value represents a percent of the armor value that should be given to the player as a health bonus. Valid values: 0.0-1.0 (i.e., 0-100%). * NetFriendlyFire: Turns friendly-fire on/off in H.A.R.M. vs UNITY games (0=off, 1=on). * NetIntelScore: This represents how much "capturing" on intelligence item is worth in H.A.R.M. vs UNITY games. Valid values: 5-50. * NetAudioTaunts: This is used to enable/disable audio taunts. (0=off, 1=on). * NetUsePassword: This is used to toggle password protection. (0=off, 1=on) * NetEndFrags: This represents the winning score in Deathmatch games. Valid values: 5-50. * NetEndScore: This represents the winning score in H.A.R.M. vs UNITY games. Valid values: 30-200 * NetEndTime: This represents the length of time (in minutes) each level last. Valid values: 5-60 * NetSessionName: Name of the server. Valid value: (<= 24 Characters). For example: NetSessionName MyCoolServer. * NetCAGameEnd: Level ending conditions for H.A.R.M. vs UNITY games. Valid values: 0 = Score Reached 1 = Time Limit Reached 2 = Score or Time Limit Reached 3 = None * NetDMGameEnd: Level ending conditions for Deathmatch games. Valid values: 0 = Frag Limit Reached 1 = Time Limit Reached 2 = Frag or Time Limit Reached 3 = None * NetWeaponStay: Toggles weapons instantly respawning after they are picked up. (0=off, 1=on). Advanced Commands: ------------------ * LeashLen: Specifies the allowable distance between the client's position and where the server thinks the client should be. Defaults to 2.0. * LeashSpring: Specifies the distance inside of which the server will interpolate the server's position to match the client's position. Outside of this distance, the server's position will be forced to the client's position. Defaults to 150.0. * LeashSpringRate: Defines how quickly the interpolation will happen between the server and client positions, in the range 0.0-1.0. Lower numbers lead to slower interpolation. (Which gives smoother movement, but greater error.) 0.0 will stay at the server's position, and 1.0 will teleport the server object to the client's position. The default value is 0.1. * SendBandwidth BPS: Target bytes per second to send over the network layer. This MUST be set correctly to avoid send overflow. For a detailed explanation of how to use this feature, please see the section of this document labeled "limiting bandwidth". Debug Commands: --------------- * IPDebug: Show debug messages for the TCP/IP layer (addresses & ports for connection/disconnection/etc.) (0 or 1) * ShowConnStats: Turn on the connection bandwidth usage spew. (0 or 1) Command Line Arguments ---------------------- Launching NolfServ can be automated by the command line parameter "-nowiz". This forces NolfServ to skip the setup wizard and use the options that were chose the last time the wizard was used. So, the full command line would look like: NolfServ.exe -nowiz There are additional command line parameters, but they are for advanced users only. The additional command line parameters set values that appear in the setup wizard. To set parameters and not show the wizard, combine the "-nowiz" parameter as show above. The full command line syntax is: NolfServ.exe [Parameter1 [Value1]] [Parameter2 [Value2]] Most parameters must be followed by a value for that parameter. Values that require strings can be surrounded by double quotes so that they may contain spaces. An example value that requires double quotes is: "My Server". Here is a table of the available command line parameters: Parameter Description Value Type Value Default --------------------------------------------------------------------------------- -NetSessionName | Server name seen when joining | String | "Good vs. Evil" | -NetUsePassword | Lock server with password | Float | 0.0f (FALSE) | -NetPassword | Server password | String | "password" | -NetMaxPlayers | Maximum number of players | | | | allowed on server at once | Float | 16 | -NetPort | Port to host server on | Float | 27888 | -nowiz | Skip the setup wizard | -none- | -none- | --------------------------------------------------------------------------------- Recommended Player Limits ------------------------- Connection Machine Spec # of Players ----------------------------------------------------------------------------- 56K | Minimum Server (Host) | 2 (including host) | ISDN (128 kb up/down) | Fast Server (Dedicated) | 4 | DSL/Cable* | Fast Server (Dedicated) | 4-8 | T1 | Minimum Server (Dedicated) | 8-16 | T3 | Minimum Server (Dedicated) | 8-16 | T3 | Fast Server** (Host/Dedicated) | 16 | ----------------------------------------------------------------------------- * Dependant on upload speed, Cable and DSL connections vary. ** Fast Server system requirements are above a P3 550 + 256 MB RAM Limiting Bandwidth ------------------ New to version 1.003 is the ability to restrict upload bandwidth. This feature was implemented to give server operators the ability to limit the amount of data that's being sent to players on high bandwidth connections. When used correctly, this feature can greatly improve performance. There are two ways to change your bandwith limit with NOLFserv. The first and easiest way is to use the bandwith option in the setup wizard. Here, you can use one of 5 preset values, or enter a custom value. The list of available connection types and the values used for each are as follows: 56k modem: 4,000 bytes per second Cable: 16,000 bytes per second DSL: 32,000 bytes per second T1: 1,000,000 bytes per second T3: 10,000,000 bytes per second Since the actual upload bandwidth of your connection may vary greatly from these, you can also enter a custom value. To determine this value, just follow these steps: Determine your maximum upload bandwidth. This information can be obtained from your ISP. Multiplay this value by 1024. Divide the result by 8. For example, if your upstream bandwidth is 128k: 128 x 1024 = 131072 131072 / 8 = 16384 So, to avoid send overflow on a 128kbps upload bandwidth connection, you would set your custom value to 16384. To fine tune this setting while the server is actually running, just type "SendBandwidth" and the value you wish to use in the console, and then press . (i.e. SendBandwidth 16384) NOTE: It is VERY imporant that you set this value correctly. Setting the limit too high may result in very poor performance for players with a high ping. Similarly, setting it too low may result in choppiness for low ping players. You should experiment with different values to find the best setting for your particular situation!