webMAN MOD Web Commands Syntax and Usage: Complete Remote PS3 Control Guide
webMAN MOD interprets any HTTP request starting with "/" as a web command, routing it through do_web_command() in 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. 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: Handles/setup.ps3variations for configuration managementcmd/mount_copy.c: Processes/mount.ps3,/copy.ps3, and/delete.ps3operationscmd/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
.ps3extension is now optional. Both/mountand/mount.ps3execute identically. -
Parameter passing: Arguments may follow as query strings (
?) or appended paths. Both/mount.ps3?dev_hdd0/game/XYZand/mount.ps3/dev_hdd0/game/XYZare valid. -
Command chaining: Separate multiple operations with semicolons (
;). The server processes/unmount.ps3;/mount.ps3/XYZ;/reboot.ps3sequentially. -
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:
- HTTP GET: Standard browser or curl requests to
http://<PS3_IP>/<command> - PS3MAPI server: Remote API calls for automated management tools
- FTP "SITE" command: Execute commands through the FTP interface using
SITE /<command> - Batch scripts: Text files (
.bat) stored on the console containing multiple commands - Custom combos: Button combinations mapped to specific command strings via
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 in the repository.
Practical Usage Examples
Mounting Games via cURL
Execute remote mounting from any PC on the network:
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:
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:
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:
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()ininclude/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
.ps3extensions, 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
.batfiles, 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 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 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, cmd/mount_copy.c, or other command modules.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →