bot.add now spawns real bot players instead of broken entity type 0. Bots accept weapon, at, facing, and count options from Lua — facing takes a string (“up”, “down”, “left”, “right”) or a vector table. Dev-spawned bots are frozen in place so they hold their position and facing for testing.

Bot and remote player weapons now render correctly. The initial weapon is applied on join and kept in sync via the move broadcast; previously the weapon field in PlayerJoined was broadcast but silently ignored on the client.

Facing direction is now part of the network protocol. Bots broadcast their current facing with every move tick; the client applies it to the rendered character so remote players face the right way when standing still.