"To start a LAN game with bots (using an offline account):
1. On the machine that will be the server, start a Multiplayer game on a 16-player map that is also available in Single Player mode (e.g. Strike at Karkand). You have to add the map to start a game.
2. Once the server's ready (Join Game button appears), have the client(s) all go to the Multiplayer option, Join Local and then Update/Refresh the list, just to get the game to appear on the list, then highlight the game, but don't press Join Game yet. You just want the network game to appear on this list.
3. Kill the Multiplayer game you started on the server by hitting ESC then Disconnect. Then, still on the server, start a Single Player game on the same level you selected earlier (e.g. Strike at Karkand). Once it's loaded and the Join Game button appears, have all the client PCs hit join on their screens. When they're all loaded you can all hit Join Game and play with bots plus however many human players you added.
You're basically tricking the game into letting client PCs join a Single Player game with bots. If you have an online account, you can just use the "Join IP" button and jump into any single player game that you have running if you know the server's IP address.
NOTES:
- To set the number of bots, just edit this file (Notepad) by following the instructions (64 is the practical max):
C:\Program Files\EA GAMES\Battlefield 2\mods\bf2\AI\AIDefault.ai"