> For the complete documentation index, see [llms.txt](https://titans.gitbook.io/titans/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://titans.gitbook.io/titans/party-system.md).

# Party System

Party data is saved in config/titans/parties.json\
Party configurations are stored in config/titans/party\_config.json

Players can create, invite, and manage parties using `/titans party` commands or through the in-game **Party Overview GUI**.\
Each party tracks total damage, boss fight participation, and member data even after restarts.

By default the max party size is set to 4 in party\_config.json

#### &#x20;Key Features

**Persistent Party Data**

* All party info (leader, members, total damage) is saved automatically to `parties.json`.
* Data persists across server restarts.

&#x20;**Shared Damage Tracking**

* When a boss with **party rewards** is fought, all damage is counted as **party damage**.
* Damage is stored in both `parties.json` and the party’s internal cache.
* When the server restarts, total party damage is restored correctly.

&#x20;**Member Management (Permission: titans.party)**

* **Create:** `/titans party create <name>`
* **Invite:** `/titans party invite <player>`
* **Join:** `/titans party join <leader>`
* **Leave:** `/titans party leave`
* **Disband:** `/titans party disband`
* **Kick (Admin or Leader):** `/titans admin party kick <player>`

All name creation and renaming is filtered through an **advanced language filter** that blocks inappropriate or disguised slurs (things like `f@gg0t`, `f@g`, etc.).

**Party Overview Menu**

Players can open a GUI using `/titans party` or after joining a group.\
The menu displays:

* Party name & leader
* Member list (with online/offline indicators)
* Total shared party damage
* Buttons for Invite, Leave, and Disband (leaders only)

**🎯 Leader-Only Actions**

* Inviting players
* Disbanding the party
* Kicking members
* Renaming the party

Non-leaders can only leave or view the party.\
\
Never edit party storage by hand

```
{
  "d4a28c34-1234-5678-9abc-000000000000": {
    "leader": "d4a28c34-1234-5678-9abc-000000000000",
    "name": "EliteRaiders",
    "members": [
      "d4a28c34-1234-5678-9abc-000000000000",
      "a9f44c90-5678-1234-9abc-111111111111"
    ],
    "totalDamage": 154820,
    "lockedInBossFight": false
  }
}
```

#### Party Logic Highlights

* Parties are auto-saved every time damage, membership, or status changes.
* Damage tracking distinguishes **solo vs. party fights**:
  * Bosses with `party rewards` → record as **party damage only**.
  * Solo fights → record as **player damage only**.
* Automatic validation ensures members cannot exceed `max_party_members`.
* Disbanded parties are immediately removed from memory and from `parties.json`

#### Admin Commands

Admins can fully manage parties via `/titans admin` commands (see below).

| Command                                         | Description                                  |
| ----------------------------------------------- | -------------------------------------------- |
| `/titans admin party list`                      | Lists all active and saved parties           |
| `/titans admin party kick <leader> <player>`    | Force-removes a member from a specific party |
| `/titans admin party rename <leader> <newName>` | Renames a party                              |
| `/titans admin party delete <leader>`           | Deletes an entire party from storage         |
| `/titans admin party resetdamage <leader>`      | Resets party total damage                    |


---

# 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://titans.gitbook.io/titans/party-system.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.
