> For the complete documentation index, see [llms.txt](https://theobsidianstudio-1.gitbook.io/theobsidianstudio-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://theobsidianstudio-1.gitbook.io/theobsidianstudio-docs/assets/obs_adminmenu/knowledge-base-faq.md).

# KNOWLEDGE BASE (FAQ)

{% hint style="info" %}
**Obsidian Diagnostic Center** Welcome to the core diagnostic database. Review these architectural resolutions before escalating to a support ticket. Over 99% of configuration anomalies can be resolved by consulting the data below.
{% endhint %}

***

<details>

<summary><strong>Do I really need to install OxMySQL?</strong></summary>

**Absolutely not.**

OBS Admin is engineered upon a high-performance JSON caching architecture (`data/bans.json`). If you leave `Config.UseMysql = false`, the script operates with zero database dependencies. It is 100% plug-and-play out of the box.

This guarantees maximum server thread performance by keeping all read/write operations contained entirely within the resource's memory matrix.

</details>

<details>

<summary><strong>I clicked "Take Screenshot" in the spectate menu and it threw an error.</strong></summary>

This specific, high-fidelity feature requires the `screenshot-basic` resource to be installed and actively running on your server infrastructure.

Without it, the panel cannot access the client's raw video memory. Download the resource from the official Cfx.re repository, ensure it in your `server.cfg`, and the UI payload will successfully transmit the framebuffer to your Discord webhook.

</details>

<details>

<summary><strong>My dashboard isn't rendering when I press F10.</strong></summary>

If the React frontend fails to initialize, execute the following diagnostic checks via your **F8 console** in-game:

1. **Identity Verification:** Ensure you actually injected your exact identifier (Rockstar License or Discord ID) into the `Config.Admins` array.
2. **Namespace Integrity:** Ensure you did **not** rename the resource folder. It *must* remain strictly named `obs_adminmenu` or the internal JavaScript callbacks will shatter.
3. **Boot Sequence:** Ensure `obs_adminmenu` is booting *after* your core framework in your `server.cfg`.

</details>

<details>

<summary><strong>I operate a heavily modified, custom QBCore/ESX framework. Will this work?</strong></summary>

**Yes.**

The Obsidian Auto-Detect Engine is incredibly resilient. Leave `Config.Framework = 'auto'` and the script will mathematically deduce your framework's structure and adapt its API calls.

If it struggles with an extremely anomalous core, you can manually override the engine by explicitly setting it to `'qbcore'` or `'esx'` in the core configuration.

</details>

<details>

<summary><strong>The live activity widgets are overlapping with my server's HUD. How do I fix this?</strong></summary>

OBS Admin features a dynamic UI repositioning engine. You do not need to edit complex CSS code.

Simply type `/wc <widget_type> <position>` in your game chat. *Example:* `/wc activity tr` instantly snaps the live activity feed to the **T**op-**R**ight quadrant of your monitor, flawlessly clearing your HUD.

</details>

<details>

<summary><strong>Staff members are complaining that the report menu isn't opening on F8.</strong></summary>

Ensure they are not running conflicting client-side modifications that hijack the physical F8 key state.

Additionally, verify their assigned rank in `Config.Admins` matches an authorized tier defined within the `Config.Report.StaffGroups` array. If they lack the required security clearance, the payload will intelligently abort the render request.

</details>

<details>

<summary><strong>How do I add custom Add-On vehicles to the Quick Spawn Builder?</strong></summary>

The Quick Spawn Builder is designed for infinite scalability. Navigate to `Config.Builder` inside your configuration file.

Locate the `vehicles` array and inject the exact spawn code of your custom vehicle alongside an appropriate FontAwesome icon syntax. *Example:* `{ name = 'mycustomgtr', icon = 'fa-car-side' }`. The UI will dynamically expand to accommodate your new data.

</details>

<details>

<summary><strong>The Microclimate engine isn't changing the weather when I enter a zone.</strong></summary>

First, verify that `Config.ZoneWeatherEnabled = true` is active.

If the internal logic is active but the visual state remains unchanged, your overarching weather sync script (such as `vSync` or `qb-weathersync`) is likely aggressively overriding local client states. Ensure OBS Admin is booting *after* your weather scripts to maintain architectural dominance over the weather natives.

</details>

<details>

<summary><strong>Is it possible to disable the Artificial Intelligence Responder in tickets?</strong></summary>

**Yes.**

If your community prefers strictly human interaction, you can sever the AI logic loop by toggling `Config.Report.AIEnabled = false`. The ticketing ecosystem will immediately revert to a standard, manual-response architecture.

</details>

<details>

<summary><strong>Why are the Discord Webhooks failing to transmit logs?</strong></summary>

The most common cause of transmission failure is an improperly formatted webhook URL. Ensure your URLs are valid and do not contain trailing spaces or hidden characters.

Furthermore, verify that `Config.LogToDiscord = true` is active at the top of the logging configuration, as this acts as the master circuit breaker for all outbound API requests.

</details>

<details>

<summary><strong>My Noclip is conflicting with another script. How do I rebind it?</strong></summary>

The native keybind matrix is highly malleable. Navigate to `Config.NoclipKey = 'b'` and alter the string to your desired key.

*Warning:* Avoid utilizing chat-centric keystrokes such as `/` or `T` to prevent catastrophic input overlapping when staff attempt to type commands.

</details>

<details>

<summary><strong>How do I configure the On-Duty staff uniforms?</strong></summary>

The Appearance Engine handles this automatically when staff press F9.

If you wish to morph them into a completely different ped model, define it in `Config.StaffPedModel`. If you prefer they keep their existing character face but equip a tactical uniform, leave the Ped Model as `nil` and define the precise drawable clothing layers inside the `Config.StaffClothing` matrix.

</details>


---

# 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://theobsidianstudio-1.gitbook.io/theobsidianstudio-docs/assets/obs_adminmenu/knowledge-base-faq.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.
