> ## Documentation Index
> Fetch the complete documentation index at: https://lastwar.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# World map

> The fixed 1000×1000 per-server tile grid, its linear point-id addressing, and the four query patterns the client uses instead of SFS2X's unused area-of-interest streaming.

A fixed 1000×1000 tile grid per server, addressed by a 1-based linear index. The client never streams a viewport, it pulls single points by id, asks the server to find things "nearest," or bulk-fetches an entire server's territory dataset. SFS2X's built-in area-of-interest streaming exists in the SDK and is completely unused.

## Tile math

```go theme={null}
WorldTileCount = 1000   // per-server grid dimension
CityTileCount  = 100    // player-city-interior grid
TileSize       = 2      // Unity world-units per tile

pointId = x + y * tileCount + 1           // 1-based; 0 = "none"
x, y    = (pointId-1) % tileCount, (pointId-1) / tileCount
worldX  = (x + 0.5) * TileSize

// cross-server addressing, 64-bit pack:
worldPos = uint64(serverId) << 32 | uint64(pointId)
```

## Query model: four patterns, no viewport scanning

1. **Single-point pull**: `world.get.detail.new`, given a `pointId` the client already computed or learned elsewhere.
2. **Server-side "find nearest"**: `find.resource`, `find.enemy.point`: the client sends criteria only (level, type), **no coordinates at all**; the server searches from the player's context and returns a single point id. `find.monster` is the same family but (unusually) also sends a `pointId` alongside its criteria.
3. **Bulk per-server/per-alliance push**: `world.get.alliance.city.info`, `lw.req.world.occupy.info`: the entire dataset for a server, no pagination. Pushes are invalidate-then-refetch, not deltas.
4. **Batch pull by uuid list**: radar/detect-event lookups, pipe-delimited uuid lists.

The one genuine coordinate-pair query found anywhere: `world.get.march.infos` (`x,y`), used to find marches passing near a raw tile coordinate.

## Core commands

| cmd                            | Purpose                                                                       |
| ------------------------------ | ----------------------------------------------------------------------------- |
| `world.get.detail.new`         | Single-tile dynamic-state pull                                                |
| `world.march.formation.new`    | Dispatch a march to a target tile (or through a multi-hop `;`-delimited path) |
| `alliance.world.mark.add`      | Persistent alliance-shared map marker                                         |
| `world.favo.add`               | Personal (non-shared) map bookmark                                            |
| `world.get.alliance.city.info` | Bulk city/stronghold dataset for a server                                     |
