Adding Bot Waypoints/Graphs to Your Map (YaPB / POD-Bot)

November 6, 2025 Daemon666 8 min read 4 просмотров

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:

  • YaPB uses a .graph file (its modern navigation format). Newer YaPB builds can also generate a graph automatically.
  • POD-Bot mm uses a .pwf waypoint file (the classic "waypoint" format that predates graphs).

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:

  • Walk to a spot and add a node; the editor drops a waypoint at your feet.
  • Mark special nodes — camp spots, sniper positions, the bomb-plant zone on de_ maps, the goal on cs_ maps — using the editor's node-type commands so bots know what to do there.
  • Let the editor auto-connect nearby nodes into paths, or connect them manually where the auto-linker misses a jump or a ladder.

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

  • Bots spawn and stand still — no navigation file for this map, or it is in the wrong folder or misnamed. This is the same root cause covered in bots stand still with no waypoints.
  • Graph exists but bots ignore it — the filename does not match the BSP name exactly, or you gave a .pwf to YaPB (or a .graph to POD-Bot). Match the format to the bot.
  • Bots walk into walls or off ledges — missing or bad path connections. Re-open the editor and fix the links between nodes.
  • Bots never plant or defuse — you did not mark the objective nodes (bomb-plant / goal). Add the special node types at those locations.
  • Editor commands do nothing — the waypoint/graph editing mode is not enabled, or you are on a real server rather than a local listen server. Edit locally with the editor turned on.

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.

Участники: Daemon666 ✦
Поделиться: