# XH-M01: A model has a part players' games cannot draw (/docs/xhlds/codes/xh-m01)

On the console:

```text
[XH-M01] models/zp_opt/w_zpopt_pack1k2.mdl: part "w49_w_chainsaw" has 2092 vertices, the game draws at most 2048
```

**Printed:** when the model is precached, once per model per map, [`xhlds_model_check 1`](/docs/xhlds/settings#xhlds_model_check); with [`xhlds_model_check 2`](/docs/xhlds/settings#xhlds_model_check) the server stops with this line as a `FATAL ERROR`.

A model the server precached (and sends to players) has a part with more than 2048 vertices or normals. The game's model renderer has room for 2048 per part; a part with more writes past that room, which can crash players' games when they see the model, or draw it wrong. The line names the file and its largest such part. The server itself never draws models, so it runs on as before.

**Is it a problem?** Yes: players are at risk whenever the part is on their screen, e.g. a weapon with it lying on the ground or a player wearing it.

**What to do:** replace the model, or have its maker split the part into two parts of 2048 or fewer that the same body value shows together, or lower its detail. A plugin's config usually names the model files; check which file a replacement points to before you upload it.

[`xhlds_model_check 2`](/docs/xhlds/settings#xhlds_model_check) stops the server instead (`FATAL ERROR`, as for a missing model), for test servers where it must not be missed. Like every `FATAL ERROR` it leaves a crash report (`sys_error=` has this line), which hostsrc's crash service counts as a crash. `hlds_run` or the panel then starts the server again into the same error while the first map has the model, so do not use 2 on a live server. [`xhlds_model_check 0`](/docs/xhlds/settings#xhlds_model_check) turns the check off.

## On the server [#on-the-server]

[`xhlds_explain XH-M01`](/docs/xhlds/commands#xhlds_explain) prints this explanation on the server console, also over rcon.
