> For the complete documentation index, see [llms.txt](https://docs.lenoscripts.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lenoscripts.com/scripts/lenoreports/user-guide.md).

# User Guide

Create and follow reports, manage tickets, use screenshots, and set staff duty.

The instructions below use the default commands and keys. Server owners can change them in configuration; see [Commands](/scripts/lenoreports/commands.md).

## Create a report

1. Open `/report` or press **F6**.
2. Start a new report and select a category.
3. Enter a short title and a description of what happened.
4. Add involved players using their current server IDs, if needed.
5. Submit with **Create**. The ticket appears in your open reports.

Nearby players are captured when the report is submitted. Being recorded as nearby is separate from joining the ticket as a participant.

## Follow a ticket and manage participants

Select an open report to read the conversation and send a reply. Added participants can access the open ticket and chat. The author can add or remove participants and withdraw the report; staff can manage participants through the staff interface.

Player health, armor, coordinates, and inventory snapshots describe the captured state. They are investigation records rather than a continuously refreshed view of the player's current state. Inventory contents depend on the selected inventory bridge.

## Add screenshot evidence

Screenshots require an existing open ticket, enabled captures, `screenshot-basic`, and a configured images webhook.

1. Open the ticket's chat and choose the camera action.
2. Aim the game view at the relevant scene. Nearby player ID labels may appear, depending on configuration.
3. **Left-click** to capture, or press **Esc** to cancel camera mode.
4. Wait for the uploaded image to appear in the conversation.
5. Select the image thumbnail to open its preview.

The default capture cooldown is 8 seconds. `maxPerReport = 0` or `-1` means no configured per-ticket image limit. A positive limit is shared by the report's screenshots, not allocated separately to each participant.

The current integration stores Discord attachment URLs. Images in old reports may become unavailable when those URLs expire; permanent evidence retention is not guaranteed by this integration.

## Open the staff queue

Open `/reports` or press **F7** with staff permission. The queue groups reports as:

| Group     | Meaning                                         |
| --------- | ----------------------------------------------- |
| Mine      | Reports claimed by your current player identity |
| Unclaimed | Reports waiting for a staff member              |
| Others    | Reports claimed by another staff member         |

Mine and Others prioritize recent activity; Unclaimed prioritizes the oldest waiting reports. Staff unread indicators focus on Mine and Unclaimed.

Select a ticket to inspect its conversation, timeline, and player snapshots. Claim it to assign it to yourself. Use **Unclaim** to return it to the waiting queue; only the current assignee can unclaim it. Claiming assigns responsibility but does not make the ticket inaccessible to other staff.

## Set staff duty and receive notifications

Use the **On Duty / Off Duty** switch in the staff sidebar.

| Setting                                  | Default effect                                            |
| ---------------------------------------- | --------------------------------------------------------- |
| `Config.StaffChat.defaultOnDuty = false` | A staff member without a saved preference starts Off Duty |
| `Config.StaffChat.persistDuty = true`    | The duty preference is saved for that player identity     |
| `Config.StaffNotify.onlyOnDuty = true`   | Report notifications are limited to staff On Duty         |

Opening the staff menu does not automatically switch duty on. Duty controls the roster and notification eligibility; staff access still comes from permissions.

After receiving a report notification, press **G** to open the last notified report. The shortcut requires enabled staff notifications and a previous report notification.

## Investigate and close a report

Player actions are available to staff when enabled by the server:

| Action            | Purpose                               |
| ----------------- | ------------------------------------- |
| Goto              | Move yourself to the selected player  |
| Bring             | Move the selected player to you       |
| Freeze / Unfreeze | Freeze or release the selected player |

Actions require an open report and an online target associated with it. Closing a report attempts to return teleported players and staff and release freezes.

To close a ticket, choose a reason: **Resolved**, **No Response**, **Player Offline**, **Duplicate**, or **Other**. **Other requires a note in the staff UI.** Closed reports leave the active queue and are available through history.

For integrations, the public `CloseReport` export has a narrower contract: it cannot submit an Other note. See [Exports and Events](/scripts/lenoreports/exports-and-events.md#closereport-reasons).

## Staff chat

Open **Staff Chat** to communicate with other staff. The on-duty roster shows available staff. Use `@Name` to mention a colleague; mention notifications target staff who are on duty. References such as `#123` identify report numbers, and the interface recognizes references to existing reports.

Duty is not a separate permission to read staff chat. Access to the channel requires staff permission.

## History and statistics

Open **History** to find closed reports. Staff can search all closed reports; player history lists reports authored by that player, not every ticket they participated in. Search, category, close reason, staff filters, sorting, and pagination help find a specific ticket.

Staff can open **Statistics** and select today, 7 days, 30 days, or 6 months. First response measures the first staff chat response, not the claim action. Report counts, response times, resolution times, and staff activity use database records.

For installation errors, see [FAQ / Troubleshooting](/scripts/lenoreports/faq-troubleshooting.md).


---

# 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.lenoscripts.com/scripts/lenoreports/user-guide.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.
