From 09f829f8bee3a30183ec13dd68ac351cb5c73a31 Mon Sep 17 00:00:00 2001 From: Houmgaor Date: Thu, 5 Feb 2026 11:34:06 +0100 Subject: [PATCH] docs: add player commands reference and update command documentation - Add new player-commands.md with user-friendly command guide - Document all 12 commands: reload, ravi, course, rights, tele, kqf, ban, help, psn, discord, timer, playtime - Include usage examples, troubleshooting, and special features (@dice) - Update commands.md with new commands and current config format - Add security considerations for new admin commands - Update docs/README.md to link both player and operator guides Addresses community request for command documentation (issue #147) --- docs/README.md | 3 +- docs/commands.md | 269 ++++++++++++++++++++++++++++-------- docs/player-commands.md | 296 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 513 insertions(+), 55 deletions(-) create mode 100644 docs/player-commands.md diff --git a/docs/README.md b/docs/README.md index 4c29a7bb4..ad11bd4c4 100644 --- a/docs/README.md +++ b/docs/README.md @@ -27,7 +27,8 @@ Comprehensive configuration documentation for Erupe, the Monster Hunter Frontier - **[Gameplay Options](gameplay-options.md)** - NP/RP caps, boost times, quest allowances - **[Courses](courses.md)** - Subscription course configuration -- **[In-Game Commands](commands.md)** - Chat commands for players and admins +- **[In-Game Commands](commands.md)** - Command configuration for server operators +- **[Player Commands Reference](player-commands.md)** - User-friendly command guide for players ### Optional Features diff --git a/docs/commands.md b/docs/commands.md index ebbf44f22..743481514 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -2,42 +2,28 @@ In-game chat commands for players and administrators. +> **Looking for player documentation?** See [Player Commands Reference](player-commands.md) for a user-friendly guide to using commands in-game. + ## Configuration ```json { - "Commands": [ - { - "Name": "Rights", - "Enabled": false, - "Prefix": "!rights" - }, - { - "Name": "Raviente", - "Enabled": true, - "Prefix": "!ravi" - }, - { - "Name": "Teleport", - "Enabled": false, - "Prefix": "!tele" - }, - { - "Name": "Reload", - "Enabled": true, - "Prefix": "!reload" - }, - { - "Name": "KeyQuest", - "Enabled": false, - "Prefix": "!kqf" - }, - { - "Name": "Course", - "Enabled": true, - "Prefix": "!course" - } - ] + "Commands": { + "Enabled": true, + "CommandPrefix": "!", + "Reload": { "Enabled": true, "Prefix": "reload" }, + "Raviente": { "Enabled": true, "Prefix": "ravi" }, + "Course": { "Enabled": true, "Prefix": "course" }, + "Rights": { "Enabled": false, "Prefix": "rights" }, + "Teleport": { "Enabled": false, "Prefix": "tele" }, + "KeyQuest": { "Enabled": false, "Prefix": "kqf" }, + "Ban": { "Enabled": false, "Prefix": "ban" }, + "Help": { "Enabled": true, "Prefix": "help" }, + "PSN": { "Enabled": true, "Prefix": "psn" }, + "Discord": { "Enabled": true, "Prefix": "discord" }, + "Timer": { "Enabled": true, "Prefix": "timer" }, + "Playtime": { "Enabled": true, "Prefix": "playtime" } + } } ``` @@ -194,12 +180,148 @@ Server: "Usage: !rights " ### Teleport **Prefix:** `!tele` -**Recommended:** Disabled (not yet implemented) -**Usage:** `!tele ` +**Recommended:** Disabled +**Usage:** `!tele ` -Teleport to specific locations. +Teleport to specific stage coordinates. -**Status:** Command structure exists but handler not fully implemented in the codebase. +**Examples:** + +```text +Player types: !tele 500 -200 +Server: "Teleporting to 500 -200" +[Character moves to coordinates] +``` + +**⚠️ SECURITY WARNING:** Allows bypassing normal movement. Only enable for administrators. + +--- + +### Help + +**Prefix:** `!help` +**Recommended:** Enabled +**Usage:** `!help` + +Display a list of all enabled commands on the server. + +**Example:** + +```text +Player types: !help +Server: "Available commands: !reload, !ravi, !course, !help..." +``` + +--- + +### Timer + +**Prefix:** `!timer` +**Recommended:** Enabled +**Usage:** `!timer` + +Toggle the quest timer display on/off. Preference is saved to the player's account. + +**Example:** + +```text +Player types: !timer +Server: "Quest timer disabled" + +Player types: !timer +Server: "Quest timer enabled" +``` + +--- + +### Playtime + +**Prefix:** `!playtime` +**Recommended:** Enabled +**Usage:** `!playtime` + +Display total character playtime. + +**Example:** + +```text +Player types: !playtime +Server: "Playtime: 142h 35m 12s" +``` + +--- + +### PSN + +**Prefix:** `!psn` +**Recommended:** Enabled +**Usage:** `!psn ` + +Link a PlayStation Network ID to the player's account. + +**Example:** + +```text +Player types: !psn MyPSNUsername +Server: "PSN ID set to: MyPSNUsername" +``` + +**Use Cases:** +- Cross-platform account linking +- Server-specific PSN integrations + +--- + +### Discord + +**Prefix:** `!discord` +**Recommended:** Enabled +**Usage:** `!discord` + +Generate a temporary token for Discord account linking. + +**Example:** + +```text +Player types: !discord +Server: "Discord token: abc123-xyz789" +[Player uses token with Discord bot to link accounts] +``` + +**Note:** Requires [Discord Integration](discord-integration.md) to be configured. + +--- + +### Ban + +**Prefix:** `!ban` +**Recommended:** Disabled +**Usage:** `!ban [duration]` + +Ban a player from the server. Supports temporary and permanent bans. + +**Duration Format:** `` where unit is: +- `s` - seconds +- `m` - minutes +- `h` - hours +- `d` - days +- `mo` - months +- `y` - years + +**Examples:** + +```text +Admin types: !ban ABC123 +Server: "User ABC123 permanently banned" + +Admin types: !ban ABC123 7d +Server: "User ABC123 banned for 7 days" + +Admin types: !ban ABC123 2h +Server: "User ABC123 banned for 2 hours" +``` + +**⚠️ SECURITY WARNING:** Only enable for trusted administrators. Requires operator permissions. ## Command Configuration @@ -257,6 +379,8 @@ Server: "The Rights command is disabled on this server" - **Rights**: Grants admin privileges and all courses - **KeyQuest**: Unlocks restricted content +- **Ban**: Can permanently remove players from server +- **Teleport**: Bypasses normal movement restrictions ### Medium-Risk Commands (Use with Caution) @@ -267,6 +391,11 @@ Server: "The Rights command is disabled on this server" - **Reload**: Only affects visual state, no persistent changes - **Raviente**: Only affects raid event, no account changes +- **Help**: Read-only, shows available commands +- **Timer**: User preference only, no gameplay impact +- **Playtime**: Read-only display +- **PSN**: Account linking, low risk +- **Discord**: Token generation, requires Discord bot to be useful ## Implementation Details @@ -294,10 +423,31 @@ Each command handler checks if the command is enabled before executing. ```json { - "Commands": [ - {"Name": "Reload", "Enabled": true, "Prefix": "!reload"}, - {"Name": "Raviente", "Enabled": true, "Prefix": "!ravi"} - ] + "Commands": { + "Enabled": true, + "CommandPrefix": "!", + "Reload": { "Enabled": true, "Prefix": "reload" }, + "Raviente": { "Enabled": true, "Prefix": "ravi" }, + "Help": { "Enabled": true, "Prefix": "help" } + } +} +``` + +### Community Server Configuration + +```json +{ + "Commands": { + "Enabled": true, + "CommandPrefix": "!", + "Reload": { "Enabled": true, "Prefix": "reload" }, + "Raviente": { "Enabled": true, "Prefix": "ravi" }, + "Course": { "Enabled": true, "Prefix": "course" }, + "Help": { "Enabled": true, "Prefix": "help" }, + "Timer": { "Enabled": true, "Prefix": "timer" }, + "Playtime": { "Enabled": true, "Prefix": "playtime" }, + "Discord": { "Enabled": true, "Prefix": "discord" } + } } ``` @@ -305,31 +455,42 @@ Each command handler checks if the command is enabled before executing. ```json { - "Commands": [ - {"Name": "Rights", "Enabled": true, "Prefix": "!rights"}, - {"Name": "Raviente", "Enabled": true, "Prefix": "!ravi"}, - {"Name": "Teleport", "Enabled": true, "Prefix": "!tele"}, - {"Name": "Reload", "Enabled": true, "Prefix": "!reload"}, - {"Name": "KeyQuest", "Enabled": true, "Prefix": "!kqf"}, - {"Name": "Course", "Enabled": true, "Prefix": "!course"} - ] + "Commands": { + "Enabled": true, + "CommandPrefix": "!", + "Reload": { "Enabled": true, "Prefix": "reload" }, + "Raviente": { "Enabled": true, "Prefix": "ravi" }, + "Course": { "Enabled": true, "Prefix": "course" }, + "Rights": { "Enabled": true, "Prefix": "rights" }, + "Teleport": { "Enabled": true, "Prefix": "tele" }, + "KeyQuest": { "Enabled": true, "Prefix": "kqf" }, + "Ban": { "Enabled": true, "Prefix": "ban" }, + "Help": { "Enabled": true, "Prefix": "help" }, + "PSN": { "Enabled": true, "Prefix": "psn" }, + "Discord": { "Enabled": true, "Prefix": "discord" }, + "Timer": { "Enabled": true, "Prefix": "timer" }, + "Playtime": { "Enabled": true, "Prefix": "playtime" } + } } ``` -### Custom Prefixes +### Custom Prefixes (Slash Commands) ```json { - "Commands": [ - {"Name": "Reload", "Enabled": true, "Prefix": "/refresh"}, - {"Name": "Raviente", "Enabled": true, "Prefix": "/ravi"}, - {"Name": "Course", "Enabled": true, "Prefix": "/sub"} - ] + "Commands": { + "Enabled": true, + "CommandPrefix": "/", + "Reload": { "Enabled": true, "Prefix": "refresh" }, + "Raviente": { "Enabled": true, "Prefix": "ravi" }, + "Course": { "Enabled": true, "Prefix": "sub" } + } } ``` ## Related Documentation +- [Player Commands Reference](player-commands.md) - User-friendly guide for players - [Courses](courses.md) - Course configuration for the `!course` command - [Discord Integration](discord-integration.md) - Commands may post to Discord - [Gameplay Options](gameplay-options.md) - Gameplay balance settings diff --git a/docs/player-commands.md b/docs/player-commands.md new file mode 100644 index 000000000..ac45850b8 --- /dev/null +++ b/docs/player-commands.md @@ -0,0 +1,296 @@ +# Player Commands Reference + +This guide documents all chat commands available to players on Erupe servers. + +## Using Commands + +Type commands in the chat window. All commands start with `!` (configurable by server operators). + +**Example:** Type `!course hunterlife` to toggle the Hunter Life course. + +--- + +## General Commands + +### !reload + +Reloads all players in your current area. + +**Usage:** `!reload` + +**What it does:** Forces a refresh of all player data in your Land/Stage. Useful if you see visual glitches or players appear invisible. + +**Response:** "Reloading players..." + +--- + +### !course + +Toggle subscription courses on your account. + +**Usage:** `!course ` + +**Available courses** (server-dependent): +| Course Name | Description | +|-------------|-------------| +| `hunterlife` | Hunter Life Course - Various hunting QoL benefits | +| `extra` | Extra Course - Additional features | +| `premium` | Premium Course - Premium benefits | +| `assist` | Assist Course - Helper features | +| `nboost` | N Boost - Point multipliers | +| `frontier` | Frontier Course | +| `legend` | Legend Course | + +**Examples:** +``` +!course hunterlife → Toggles Hunter Life Course +!course premium → Toggles Premium Course +``` + +**Response:** +- "Hunter Life Course enabled" (if turning on) +- "Hunter Life Course disabled" (if turning off) +- "Hunter Life Course is locked" (if not available on this server) + +**Note:** Available courses depend on server configuration. Ask your server operator which courses are enabled. + +--- + +### !help + +Display available commands. + +**Usage:** `!help` + +**What it does:** Shows a list of all enabled commands on the server. + +**Note:** Implementation varies by server version. + +--- + +### !timer + +Toggle the quest timer display. + +**Usage:** `!timer` + +**What it does:** Shows or hides the quest countdown timer during hunts. Your preference is saved to your account. + +**Response:** +- "Quest timer enabled" +- "Quest timer disabled" + +--- + +### !playtime + +Show your total playtime. + +**Usage:** `!playtime` + +**What it does:** Displays how long you've played on your current character. + +**Response:** "Playtime: 142h 35m 12s" + +--- + +## Account Linking Commands + +### !psn + +Link a PlayStation Network ID to your account. + +**Usage:** `!psn ` + +**Example:** `!psn MyPSNUsername` + +**What it does:** Associates your PSN ID with your Erupe account. Used for cross-platform features or server integrations. + +**Response:** "PSN ID set to: MyPSNUsername" + +--- + +### !discord + +Generate a Discord account linking token. + +**Usage:** `!discord` + +**What it does:** Creates a temporary token you can use to link your Discord account via the server's Discord bot. + +**Response:** "Discord token: abc123-xyz789" + +**How to use:** +1. Type `!discord` in-game +2. Copy the token shown +3. Use the token with the server's Discord bot (usually via a `/link` command in Discord) + +--- + +## Raviente Siege Commands + +These commands are used during the Great Slaying (Raviente) siege event. + +### !ravi + +**Usage:** `!ravi ` + +**Subcommands:** + +| Command | Alias | Description | +|---------|-------|-------------| +| `!ravi start` | - | Start the Great Slaying event | +| `!ravi checkmultiplier` | `!ravi cm` | Check current damage multiplier | +| `!ravi sendres` | `!ravi sr` | Send resurrection support to other players | +| `!ravi sendsed` | `!ravi ss` | Send sedation support | +| `!ravi reqsed` | `!ravi rs` | Request sedation support from others | + +**Examples:** +``` +!ravi start → Initiates the Raviente siege (if not already running) +!ravi cm → Shows "Current multiplier: 2.5x" +!ravi sr → Sends resurrection support +``` + +**Notes:** +- Commands only work when players are participating in a Raviente siege +- `!ravi start` fails if a siege is already in progress +- Support commands require resources/items to use + +--- + +## Special Chat Features + +### @dice + +Roll a random number. + +**Usage:** Type `@dice` in chat + +**What it does:** Rolls a random number between 1 and 100, visible to all players in your area. + +**Note:** This is not a `!` command - just type `@dice` in regular chat. + +--- + +## Admin Commands + +These commands are disabled by default and require operator permissions. Server administrators may enable them for staff use. + +### !tele + +Teleport to coordinates. + +**Usage:** `!tele ` + +**Example:** `!tele 500 -200` + +**What it does:** Instantly moves your character to the specified X/Y coordinates on the current map. + +--- + +### !rights + +Set account permission level. + +**Usage:** `!rights ` + +**Example:** `!rights 31` + +**What it does:** Modifies the rights/permissions integer on your account. Used for granting course access or special permissions. + +--- + +### !kqf + +Manage Key Quest Flags (HR progression). + +**Usage:** +- `!kqf get` - View current KQF value +- `!kqf set ` - Set KQF to specific value + +**Example:** `!kqf set 00000000FFFFFFFF` + +**What it does:** Directly modifies Hunter Rank key quest completion flags. The value must be exactly 16 hexadecimal characters. + +**Note:** Changes take effect after switching worlds/lands. + +--- + +### !ban + +Ban a player from the server. + +**Usage:** `!ban [duration]` + +**Parameters:** +- `character_id` - The 6-character ID of the player to ban +- `duration` (optional) - How long to ban. Omit for permanent ban. + +**Duration format:** `` +| Unit | Meaning | +|------|---------| +| `s` | Seconds | +| `m` | Minutes | +| `h` | Hours | +| `d` | Days | +| `mo` | Months | +| `y` | Years | + +**Examples:** +``` +!ban ABC123 → Permanent ban +!ban ABC123 7d → 7-day ban +!ban ABC123 2h → 2-hour ban +!ban ABC123 1mo → 1-month ban +``` + +--- + +## Troubleshooting + +### Command not working? + +1. **Check spelling** - Commands are case-sensitive on some servers +2. **Check if enabled** - Server operators can disable specific commands +3. **Check permissions** - Admin commands require operator status +4. **Try !help** - See which commands are available on your server + +### "Command is disabled" message + +The server operator has disabled this command. Contact your server admin if you believe it should be available. + +### Command does nothing + +- Make sure you're typing in the correct chat channel +- Some commands only work in specific situations (e.g., `!ravi` during sieges) +- Check for typos in parameters + +--- + +## For Server Operators + +For detailed configuration options, see [In-Game Commands Configuration](commands.md). + +Commands are configured in `config.json` under the `Commands` section: + +```json +"Commands": { + "Enabled": true, + "CommandPrefix": "!", + "Reload": { "Enabled": true, "Prefix": "reload" }, + "Raviente": { "Enabled": true, "Prefix": "ravi" }, + "Course": { "Enabled": true, "Prefix": "course" }, + "Rights": { "Enabled": false, "Prefix": "rights" }, + "Teleport": { "Enabled": false, "Prefix": "tele" }, + "KeyQuest": { "Enabled": false, "Prefix": "kqf" }, + "Ban": { "Enabled": false, "Prefix": "ban" }, + "Help": { "Enabled": true, "Prefix": "help" }, + "PSN": { "Enabled": true, "Prefix": "psn" }, + "Discord": { "Enabled": true, "Prefix": "discord" }, + "Timer": { "Enabled": true, "Prefix": "timer" }, + "Playtime": { "Enabled": true, "Prefix": "playtime" } +} +``` + +Set `"Enabled": false` to disable any command, or change `"Prefix"` to use a different trigger word.