Diagnosing holes in the world

One spot swallowsanyone who walks over it.

Three different faults produce that same report from a player, and they need three different fixes. Identify yours from the tells below before you build a patch — two of the three are made worse by patching.

A hole is an invisible wall turned inside out. There, you had collision with nothing drawn over it; here you have something drawn with no collision beneath it. Same root: what you see and what you collide with are separate data, shipped in separate files, and nothing enforces that they agree.

The drawn world comes from .ydr and .ydd, placed by a .ymap. The solid world is a .ybn — bound geometry with no appearance at all. The engine will happily load one without the other and report nothing, because from its side nothing failed.

Three causes, one symptom — tell them apart before you build anything
01

The floor left with the building

How it presents
Straight edges, roughly a building footprint. You fall a long way — often to the water plane or the map floor.
What happened
A structure was deleted to make room for a custom interior and its ground plane went with it. The .ybn that made that ground solid was part of the thing removed.

Patch it. The building is meant to be gone.

02

Two resources disagree about the same ground

How it presents
An odd shape matching nothing you can see, usually where a custom map meets the vanilla world. You fall a short distance and land on something.
What happened
Both resources ship collision for the area, the engine keeps one .ybn per filename, and the survivor does not include the piece you were standing on.

Fix the cause. Decide which should win.

03

The collision never loaded at all

How it presents
You fall through everything in that map, not one spot. Walls, floors, stairs — the whole interior is scenery.
What happened
The .ybn is missing from the resource, misnamed so nothing claims it, or sitting in a resource that never starts.

Not a hole. Stop reading about holes.

Rule out the third one first

It takes ten seconds and it changes everything you do next. Walk the interior. If you pass through walls and stairs as well as the floor, you do not have a hole — you have a resource whose collision is not loading at all, and no amount of patching one spot will help. Check the .ybn is present in stream, that its name matches what the .ymap expects, and that the resource is genuinely started rather than merely sitting on disk.

Then rule out the second

If the hole is localised, the question is whether two started resources are both claiming collision for that ground. Read server.cfg — the config, not the folder — and list the map resources that actually start, remembering that a # line loads nothing, that ensure [maps] starts everything inside it, and that exec can start resources from a file you were not reading.

Then search only those resources for the same .ybn filename appearing twice. If it does, this is a conflict, not a gap — and the fix is to decide which should win, because that also settles every other thing those two resources disagree about. There is usually more than one.

If nothing you run touches that area at all, you are not looking for a conflict. You are looking at base-game geometry or something a script is doing at runtime, and load order will not move either.

Only then: measure the gap

Cause one is the one you patch, and patching starts with numbers rather than with a tool. Stand at the edge without falling and record your coordinates, then walk the perimeter and take two or three more. You are about to build something that must overlap solid ground on every side, and a patch that is slightly too small is indistinguishable in testing from one that does not work.

Take the height from the surrounding floor, not from wherever you land. Getting the Z from the bottom of the fall is the single most common way a first patch ends up as a shelf several metres under the street.

Building the patch

What you want is a .ybn containing bound geometry and no drawable — solid, invisible, in its own resource, started last. Four things decide whether it holds:

Its own resource, always. Editing the map resource itself works until its author ships an update, at which point your patch vanishes and nothing connects the returning hole to a decision you made months earlier.

Test it like a player, not like an admin

Restart the server, then fully quit the client and rejoin. Collision is cached client-side; a reconnect will show you the old world and convince you a working patch failed.

Then attack it. Walk it, sprint it, drive it, and try to reach the middle from underneath. A patch that survives a walk and fails a car is a patch you will hear about from a player instead of finding yourself.

Leave yourself a note

Name the resource something you will recognise in a year and write one line saying what it patches and why. The person who has to make sense of an unexplained collision volume in the middle of Vinewood is you, and by then the reason will be completely gone.