diff --git a/README.md b/README.md index e4f3a78..1111b77 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,126 @@ +![GitHub Logo](/bw-assets/bw-logo.png) + # IW2 Bot Warfare +Bot Warfare is a GSC mod for [libcod](https://github.com/ibuddieat/zk_libcod/) / [CoD2rev Server](https://github.com/voron00/CoD2rev_Server). -Bot Warfare for CoD2. +It aims to add playable AI to the multiplayer games of CoD2. -TODO: - - docs +You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfare/downloads/iw2-bot-warfare-latest). + +## Important to public dedicated servers +The `bots_main_firstIsHost` CVAR is enabled by default! + +This is so inexperienced users of the mod can access with menu without any configuration. + +Make sure to disable this CVAR by adding `set bots_main_firstIsHost 0` in your server config! + +## Contents +- [Features](#Features) +- [Installation](#Installation) +- [Documentation](#Documentation) +- [Changelog](#Changelog) +- [Credits](#Credits) + +## Features +- A Waypoint Editor for creating and modifying bot's waypoints of traversing the map. Have a look at [Using the Waypoint editor](/bw-assets/wpedit.md). + +- A clean and nice menu, you can edit every bot CVAR within in-game. + +- Everything can be customized, ideal for both personal use and dedicated servers. Have a look at [Documentation](#Documentation) to see whats possible! + +- This mod does not edit ANY stock .gsc files, meaning EVERY other mod is compatible with this mod. Mod doesn't add anything unnecessary, what you see is what you get. + +- Adds AI clients to multiplayer games to simulate playing real players. (essentially Combat Training for CoD2) + - Bots move around the maps with native engine input. (all normal maps) + - Can load MeatBot waypoints as well. + - Bots press all the buttons with native engine input. (ads, jump, etc) + - Bots play all gamemodes/objectives, they capture flags, plant, defuse bombs, etc. (all normal modes) + - Bots can camp randomly. + - Bots can follow others on own will. + - Bots have smooth and realistic aim. + - Bots respond smartly to their surroundings, they will go to you if you shoot, compass, etc. + - Bots use all weapons. + - Bots difficulty level can be customized and are accurate. (hard is hard, easy is easy, etc.) + - Bots each all have different classes, traits, and difficulty and remember it all. + - Bots switch from between primaries and secondaries. + - Bots can throw grenades, they even use grenades in preset map locations. + - Bots can melee people. + - Bots can run! + - Bots can climb ladders! + - Bots jump shot and drop shot. + - Bots detect smoke grenades, and grenade slows. + - Bots will remember their class, skill and traits, even on multiround based gametypes. + - ... And pretty much everything you expect a Combat Training bot to have + +## Installation +You can easily setup a local LAN dedicated server for you to join and play on. + +0. Make sure that CoD2 server + libcod and game client is installed, updated and working properly. + - Download the [latest release](https://github.com/ineedbots/iw2_bot_warfare/releases) of Bot Warfare. +1. Locate your CoD2 server install folder. +2. Move the files/folders found in `Add to root of CoD2 server` from the Bot Warfare release archive you downloaded to the root of your CoD2 server folder. + - The folder/file structure should follow as `.CoD2 server folder/mods/mp_bots/z_svr_bots.iwd`. +3. The mod is now installed. Now before you start your server, you will need to set the `fs_game` CVAR to `mods/mp_bots` as a commandline argument (`+set fs_game "mods/mp_bots"`). +4. Now start your CoD2 client and connect to your server (`connect 127.0.0.1` in the console most likely) and play! + +## Documentation + +### Menu Usage +- You can open the menu by pressing the fire, activate and melee buttons together. + +- You can navigate the options by the pressing the activate and fire keys, and you can select options by pressing your melee key. + +- Pressing the menu button again closes menus. + +### CVARs +| Cvar | Description | Default Value | +|----------------------------------|---------------------------------------------------------------------------------------------|--------------:| +| bots_main | Enable this mod. | 1 | +| bots_main_firstIsHost | The first player to connect will be given host. | 1 | +| bots_main_GUIDs | A comma separated list of GUIDs of players who will be given host. | | +| bots_main_waitForHostTime | How many seconds to wait for the host player to connect before adding bots to the match. | 10 | +| bots_main_menu | Enable the in-game menu for hosts. | 1 | +| bots_main_debug | Enable the in-game waypoint editor at start of the game, or enable bot event prints.