> For the complete documentation index, see [llms.txt](https://docs.nxcframework.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nxcframework.net/what-you-get/foundation.md).

# The foundation

The six resources that exist, and what each one does for you.

Written in terms of what each does for your server rather than how it does it. The [developer documentation](https://github.com/NC-Framework/nxc_devdocs) covers the how.

## `nxc_lib`

Shared code every other resource uses. You install it and never think about it again.

It calls no game natives at all, which is why it is the one resource with nothing to go wrong on a platform update.

## `nxc_core`

Identity and lifecycle. It decides who a connecting player is, keeps one account per person across reconnections, and holds the session other resources ask about.

**It deliberately does very little.** Everything depends on it, so every feature added to it widens the blast radius of a change and slows the restart cycle for unrelated work. Inventory, banking, jobs, and vehicles are excluded by design rather than by omission.

**Bans are not its job.** FXServer handles those.

## `nxc_config`

Settings that live in the database and change without a restart, with history, an impact preview before publishing, and rollback.

Every other resource registers what it has, so the list of settings on your server is assembled from the resources you actually run rather than from a file someone maintains by hand.

## `nxc_ui`

The interface. It owns **the single browser instance** in the game client, and other resources send it messages rather than opening their own.

That matters more than it sounds: every in-game interface is a browser, and two of them compete for your players' cursor. The most common symptom is a player who cannot move and cannot open the menu that would free them.

## `nxc_zones`

Places. A shop's interior, a job's work area, a restricted room — anything that needs to know when someone arrives or leaves.

Interior-aware and routing-bucket-aware, so a zone inside an apartment does not fire for someone standing in a different copy of it.

`/nxc_zones_debug` draws them, because a zone ten metres from where it was meant to be behaves exactly like one that works.

## `nxc_target`

Interaction. Hold the key, look at something, pick from the menu. This is how essentially all ordinary gameplay is meant to happen.

**Whether an option appears and whether it is allowed are decided in different places.** What a player sees is decided by their own machine and carries no authority; whether the action happens is decided by the server, which re-checks distance and permission before anything runs.

## `nxc_interact`

Doing something that takes time: an animation, a prop, a progress bar, and an outcome. Every job and business needs this, and without it each one writes its own — badly, differently, and with its own cancellation bugs.

**The server times it.** A player who removes the animation entirely still waits, because the wait is what is enforced rather than the animation.

## `nxc_devtools`

Diagnostics, and a demonstration site.

**Off unless you turn it on.** It registers nothing at all unless `nxc_dev_mode` is on and the caller holds an ace, so it is safe to leave installed. See [Console commands](/running-your-server/commands.md).

The demonstrations are three zones, four interactions, and a timed action at Legion Square. They exist so you can confirm the foundation works on your server rather than taking this documentation's word for it.

## Still missing

**The configuration editing interface.** `nxc_config` supports drafts, publication and rollback; there is no screen for them yet, so settings run on their declared defaults.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.nxcframework.net/what-you-get/foundation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
