# webMAN MOD Web Commands Syntax and Usage: Complete Remote PS3 Control Guide

> Master webMAN MOD web commands for remote PS3 control. Learn the syntax and usage to mount games, change settings, and execute system operations via HTTP requests. Your ultimate guide.

- Repository: [Aldo Vargas/webman-mod](https://github.com/aldostools/webman-mod)
- Tags: how-to-guide
- Published: 2026-02-24

---

**webMAN MOD interprets any HTTP request starting with "/" as a web command, routing it through `do_web_command()` in [`include/www/www_client.h`](https://github.com/aldostools/webman-mod/blob/main/include/www/www_client.h) to modular handlers in the `cmd/` directory that mount games, modify configuration files, and execute system operations.**

webMAN MOD is a plugin for PlayStation 3 consoles that embeds a lightweight HTTP server directly into the XMB interface. Mastering the **webMAN MOD web commands** syntax enables remote management of your console through simple HTTP requests, FTP commands, or local batch scripts. This system parses text-based instructions beginning with a forward slash and executes them via dedicated handler modules, as implemented in the aldostools/webman-mod repository.

## Core Architecture and Request Routing

### The HTTP Request Parser

The central dispatcher for all remote interactions resides in [`include/www/www_client.h`](https://github.com/aldostools/webman-mod/blob/main/include/www/www_client.h). The function `do_web_command()` parses incoming URLs and determines whether they represent static file requests or executable commands by checking the `is_binary` flag. When `is_binary == WEB_COMMAND`, the code jumps to the web-command processing block at lines ≈ 00611‑00645, where it separates the command path from its parameters and prepares for execution.

### Modular Command Implementation

Individual command logic resides in the `cmd/` directory, with specific implementations separated by function. The build system injects these handlers through `#include "../cmd/*.h"` directives, exposing functions that interact with `wm_config.bin` and hardware interfaces. Key files include:

- **[`cmd/setup.c`](https://github.com/aldostools/webman-mod/blob/main/cmd/setup.c)**: Handles `/setup.ps3` variations for configuration management
- **[`cmd/mount_copy.c`](https://github.com/aldostools/webman-mod/blob/main/cmd/mount_copy.c)**: Processes `/mount.ps3`, `/copy.ps3`, and `/delete.ps3` operations
- **[`cmd/refresh.c`](https://github.com/aldostools/webman-mod/blob/main/cmd/refresh.c)**: Manages XMB refreshes after file system changes

## Web Command Syntax Rules

Every **webMAN MOD web command** follows a strict parsing protocol defined in the HTTP server core.

- **Leading slash requirement**: All commands must start with "/" to differentiate them from static file requests. Example: `/setup.ps3`

- **Optional extension**: While historically required, the `.ps3` extension is now optional. Both `/mount` and `/mount.ps3` execute identically.

- **Parameter passing**: Arguments may follow as query strings (`?`) or appended paths. Both `/mount.ps3?dev_hdd0/game/XYZ` and `/mount.ps3/dev_hdd0/game/XYZ` are valid.

- **Command chaining**: Separate multiple operations with semicolons (`;`). The server processes `/unmount.ps3;/mount.ps3/XYZ;/reboot.ps3` sequentially.

- **Size limit**: The HTTP buffer accepts commands up to **2 KB** (2048 bytes), sufficient for complex batch operations.

## Remote Access Entry Points

The **webMAN MOD web commands** system accepts input through multiple interfaces:

1. **HTTP GET**: Standard browser or curl requests to `http://<PS3_IP>/<command>`
2. **PS3MAPI server**: Remote API calls for automated management tools
3. **FTP "SITE" command**: Execute commands through the FTP interface using `SITE /<command>`
4. **Batch scripts**: Text files (`.bat`) stored on the console containing multiple commands
5. **Custom combos**: Button combinations mapped to specific command strings via [`combos.html`](https://github.com/aldostools/webman-mod/blob/main/combos.html)

## Essential Web Command Reference

| Command | Purpose | Example URL |
|---------|---------|-------------|
| `/setup.ps3` | Open configuration interface | `http://192.168.1.100/setup.ps3` |
| `/setup.ps3!` | Reload settings from `wm_config.bin` | `http://192.168.1.100/setup.ps3!` |
| `/setup.ps3?` | Reset all settings to defaults | `http://192.168.1.100/setup.ps3?` |
| `/mount.ps3<path>` | Mount game ISO or folder | `http://192.168.1.100/mount.ps3/dev_hdd0/game/BLUS12345` |
| `/unmount.ps3` | Unmount current game | `http://192.168.1.100/unmount.ps3` |
| `/install.ps3<path>` | Install PKG files from any location | `http://192.168.1.100/install.ps3/dev_hdd0/packages/App.pkg` |
| `/delete.ps3<path>` | Remove files or directories | `http://192.168.1.100/delete.ps3/dev_hdd0/tmp/oldfile.txt` |
| `/copy.ps3<src>=<dst>` | Copy files with progress monitoring | `http://192.168.1.100/copy.ps3/dev_hdd0/a.txt=dev_hdd0/b.txt` |
| `/reboot.ps3` | Soft-reboot the console | `http://192.168.1.100/reboot.ps3` |
| `/shutdown.ps3` | Power off the system | `http://192.168.1.100/shutdown.ps3` |
| `/hexview.ps3?addr=<hex>` | Debug memory viewer | `http://192.168.1.100/hexview.ps3?addr=0x100000` |
| `/0/<path>` | Short-path alias for `dev_hdd0` | `http://192.168.1.100/0/games` resolves to `/dev_hdd0/GAMES` |

The complete command catalog is available at `http://<PS3_IP>/help.ps3`, sourced from [`_Projects/updater/pkgfiles/USRDIR/html/help.html`](https://github.com/aldostools/webman-mod/blob/main/_Projects/updater/pkgfiles/USRDIR/html/help.html) in the repository.

## Practical Usage Examples

### Mounting Games via cURL

Execute remote mounting from any PC on the network:

```bash
curl "http://192.168.1.100/mount.ps3/dev_hdd0/game/BCUS12345"

```

If `auto_start` is enabled in `wm_config.bin`, the game launches automatically after mounting.

### Chaining System Operations

Combine unmounting, mounting, and rebooting in a single request:

```bash
curl "http://192.168.1.100/unmount.ps3;/mount.ps3/dev_hdd0/game/BCES12345;/reboot.ps3"

```

The semicolon separator ensures sequential execution: unmount completes, then mount, then reboot.

### Dynamic Configuration Updates

Modify runtime settings without opening the GUI using the `@` delimiter:

```bash
curl "http://192.168.1.100/setup.ps3@/wm_config.bin@/auto_power_off=1"

```

This syntax updates the in-memory configuration and writes changes back to `wm_config.bin`.

### FTP SITE Command Execution

Control the console through an FTP client:

```bash
ftp> site /mount.ps3/dev_hdd0/game/BLUS12345

```

The FTP server forwards the string directly to `do_web_command()`, executing identically to HTTP requests.

## Summary

- **webMAN MOD web commands** are text-based instructions prefixed with "/" that the HTTP server parses via `do_web_command()` in [`include/www/www_client.h`](https://github.com/aldostools/webman-mod/blob/main/include/www/www_client.h)
- Command handlers are modular C files in the `cmd/` directory, compiled into the plugin via `#include "../cmd/*.h"` directives
- Syntax supports optional `.ps3` extensions, query string or path parameters, and semicolon-separated chaining up to 2 KB total length
- Access methods include HTTP GET, FTP SITE commands, PS3MAPI, local `.bat` files, and custom controller combos
- Configuration changes modify `wm_config.bin`, with immediate reload available via `/setup.ps3!`

## Frequently Asked Questions

### What is the maximum length for a webMAN MOD web command request?

The HTTP request buffer limits commands to **2 KB** (2048 bytes). This accommodates lengthy chained commands with multiple parameters while maintaining server stability on the PS3's limited memory footprint.

### Can webMAN MOD web commands execute without the .ps3 file extension?

Yes. While the historical syntax required `.ps3` extensions, current implementations in `cmd/` handlers accept bare paths like `/mount` and `/setup` interchangeably with `/mount.ps3` and `/setup.ps3`.

### Where is the complete list of webMAN MOD web commands documented?

The authoritative reference resides in [`_Projects/updater/pkgfiles/USRDIR/html/help.html`](https://github.com/aldostools/webman-mod/blob/main/_Projects/updater/pkgfiles/USRDIR/html/help.html) within the source tree, served dynamically at `http://<PS3_IP>/help.ps3` when the plugin is running. This HTML file catalogs short-path aliases, batch-script syntax, and debug commands like `/hexview.ps3` and `/peek.lv1`.

### How does webMAN MOD distinguish between file requests and web commands?

The `do_web_command()` function in [`include/www/www_client.h`](https://github.com/aldostools/webman-mod/blob/main/include/www/www_client.h) inspects the `is_binary` flag. When `is_binary == WEB_COMMAND` (detected around lines ≈ 00611‑00645), the server treats the request as an executable command rather than a static file, routing it to the appropriate handler in [`cmd/setup.c`](https://github.com/aldostools/webman-mod/blob/main/cmd/setup.c), [`cmd/mount_copy.c`](https://github.com/aldostools/webman-mod/blob/main/cmd/mount_copy.c), or other command modules.