--- title: "Adding Bot Waypoints/Graphs to Your Map (YaPB / POD-Bot)" excerpt: "How to give bots navigation on a custom map: the difference between YaPB graph files and POD-Bot .pwf waypoints, where each file lives, how to record nodes in-game, and how to auto-download community graphs." category: "mapping" tags: "bots, waypoints" image: "" read_time: "8 min read" ---

Bots on a custom CS 1.6 map do nothing until the map has navigation data. Without it they spawn and stand still, because they have no nodes describing where they can walk, camp, or plant. The two dominant bots — YaPB and POD-Bot mm — use different, incompatible navigation files, and getting them into the right folder is half the battle. This covers both formats and how to create or fetch the data.

1. Know which file your bot uses

The formats are not interchangeable:

A .pwf from POD-Bot will not drive YaPB and vice versa. Decide which bot you run first; if you are choosing, see installing YaPB. The rest of this assumes you know your bot.

2. Put the file where the bot looks for it

Each bot loads navigation by map name from its own data directory. The files are named after the map (de_rats.graph, de_rats.pwf) and go under the bot's addon folder:

// YaPB
addons/yapb/data/graph/de_rats.graph

// POD-Bot mm
addons/podbot/waypoints/de_rats.pwf

The filename must match the BSP name exactly, or the bot loads nothing for that map. This mismatch — a graph named for the wrong map — is the single most common reason "the waypoints don't work."

3. Fetch an existing graph before making one

Popular maps almost always have community navigation already. YaPB in particular can download a graph for the current map from its online database when one is missing, dropping it straight into data/graph/. If the map is well known, load it, let the bot fetch or check the community waypoint archives, and you may be done without recording anything. Only hand-make navigation for a map that has none.

4. Record nodes in-game

To build navigation yourself, start a local listen server on the map with the bot's waypoint/graph editor enabled, then walk the routes. Both bots expose console commands to add nodes as you move; the workflow is the same in spirit:

Cover every route a player would take: both bombsites, every ramp, ladders, and doorways. Bots can only go where a path exists.

5. Save and reload

Save from the editor when the network is complete; it writes the .graph or .pwf under the bot's data folder for the current map. Reload the map to load the fresh file, then add bots and watch them move. Iterate — the first pass always misses a corner.

6. Ship the navigation with the map

If you distribute the map to other servers, include the navigation file. On a server, drop the correct file into the bot's data directory listed above and change the map; no compile step is involved, since navigation is separate from the BSP.

Common errors

Verification

Load the map, add a few bots, and watch a full round: they should leave spawn, take multiple routes to the objective, use ladders, and plant or defuse. Force a couple of bots to different areas and confirm none get permanently stuck. If a whole region is dead, you are missing nodes there — add them and re-save. For the reverse problem where bots exist but never move at all, work through the no-waypoints fix.