nMule User Manual
Centralized muling server that receives items from your farming bots and can chain to parent mules for hierarchical wealth management.
Links: TRiBot Store | Forum Thread | Discord
Table of Contents
- Quick Start
- Requirements
- Connecting Bots to the Mule
- How It Works
- Settings Reference
- Runtime Control Panel
- Parent Mule Chaining
- Troubleshooting
- Getting Help
- Tips
Quick Start
- Position your mule account at a safe, tradeable location (near a bank is recommended if using banking features)
- Log in to the account that will act as the mule
- Start the script and select a Mule ID (1-99)
- Configure your bots to connect to this mule using the IP address and Mule ID
- Click Start - the mule will log out and wait for trade requests
The mule stays logged out until a bot signals it's ready to trade, then logs in, completes the trade, and logs back out.
Script Arguments
Load a saved settings profile by passing the profile name as a script argument:
MyProfile
This loads .tribot/nScripts/nMule/settings/MyProfile.ini and starts immediately without showing the GUI. Useful for automation and automatically starting scripts on clients.
Additional options:
last- Load the most recently used settings- Profiles saved to nScripting.com Settings Storage can also be loaded by name
Requirements
Items/GP Needed
- No special requirements - just have the items you want to give to bots in your inventory or bank
- If using Platinum Token conversion, start at a bank
- If using GE offer collection, position the mule at the Grand Exchange
Connecting Bots to the Mule
Same Machine (Easiest)
When your bots run on the same computer as the mule:
- IP Address:
127.0.0.1(localhost) - Mule ID: The ID you selected (1-99)
- No port forwarding required
This is the simplest setup and requires no network configuration.
Different Machines (Requires Port Forwarding)
When your bots run on different computers than the mule:
- Find your public IP: The script displays this when it starts, or use a site like whatismyip.com
- Calculate the port:
45000 + Mule ID(e.g., Mule ID 5 = port 45005) - Forward the port on your router to the machine running the mule
- Configure firewall to allow incoming connections on that port
Bot configuration:
- IP Address: Your public IP (e.g.,
203.0.113.45) - Mule ID: The ID you selected (1-99)
Note: If you have multiple mules on the same machine, each uses a different port based on its ID. You'll need to forward each port separately.
VPS/Cloud Setup
If running on a VPS or cloud server:
- Use the server's public IP
- Ensure the security group/firewall allows inbound TCP on port
45000 + Mule ID - No router port forwarding needed (the server is already publicly accessible)
How It Works
nMule operates as a server that connected bots communicate with:
- Idle State: The mule stays logged out, listening for connections
- Trade Request: A bot signals it wants to trade
- Login: The mule logs in and moves to the mule tile (if configured)
- Trade Execution: Accepts the trade from the known bot, offers/accepts items as configured
- Post-Trade: Optionally banks items, converts gold to platinum tokens, or stays logged in briefly
- Logout: Returns to idle state
The mule only accepts trades from bots that have properly connected and requested a trade through the socket connection - random players cannot trade with it.
Settings Reference
Main Settings
Mule ID
- A number 1-99 that identifies this mule
- Bots use this ID (along with your IP) to connect
- Each mule on the same machine must have a unique ID
Advanced Preferences
Stay Logged In
- Stay logged in after trade for a period of time: Keeps the account logged in after each trade for a configurable duration
- Useful when multiple bots trade in quick succession but not simultaneously
- Configure the time range and unit (seconds, minutes, etc.)
Banking
- Bank items: Automatically deposits received items to the bank
- Item IDs to ignore: Comma-separated list of item IDs to keep in inventory (not deposit)
- Start near a bank if using this feature
Mule Tile
- Use specific mule tile: Forces the mule to return to a specific location
- Stay within x tiles distance: How far the mule can stray before returning
- Set Current Tile: Captures your current in-game position
- Useful for keeping the mule in a safe, predictable location
Other
- Disable membership failsafe: By default, the script stops when membership runs out. Enable this to continue operating on F2P worlds
GE Offers
- Collect pending GE offers when logged in: When at the Grand Exchange, collects completed offers before trading
- Skipped if inventory is full
World Hopping
- Allow world hopping ingame: By default, world hops only occur while logged out
- Ignore connected bots in nearby player count: Don't count your own bots as "nearby players"
- World hop to F2P bots when in members world: Automatically hop to F2P when trading F2P bots
- World hop to members when trading members items in F2P: Hop to members world to trade members-only items
- Time-based world hopping: Hop worlds on a schedule
- Player-based world hopping: Hop when too many players are nearby or when someone talks
- World hop after x trades: Hop worlds after completing a certain number of trades
Discord Webhooks - Trades
- Send a discord webhook message after each trade: Get notifications for every trade
- Include overall totals: Add cumulative incoming/outgoing totals to each message
- Include screenshot of game: Attach a screenshot to the webhook
Platinum Tokens
- Convert extra gold to platinum tokens: Automatically exchange excess coins at the bank
- Convert when over: Only trigger conversion when gold exceeds this amount
- Keep amount as gold: Always keep this much gold after conversion
- Start at a bank if using this feature
Export Trade Log
- Export trade log to tsv file on script end: Saves a detailed trade history to
.tribot/nScripts/nMule/data/ - File includes: timestamp, username, incoming/outgoing values and items
Stop Conditions
- Stop after no bots connected for x time: Automatically stops the script if no bots have been connected for a specified duration
- Standard stop conditions (runtime, level, etc.) are also available
Standard settings for antiban, AFK behavior, utility options, and Discord notifications are also available - hover over options for details.
Runtime Control Panel
Click "View Control Panel" on the paint overlay to access runtime controls.
Connected Bots Tab
Shows all bots currently connected to this mule with columns for:
- Checkbox: Select bots for commands
- Account: The bot's username
- Script: What script the bot is running
Commands (dropdown menu):
- View session info
- Stop script / Force stop script
- Pause script / Resume script
- Mule items (remotely trigger a mule)
- Run script
- Shutdown client
- Kill connection
- Minimize/Maximize client
- Enable/Disable graphics
Execute command: Run immediately on selected bots Schedule command: Run at a specific time
Context menu:
- Select all from...: Select all bots running a specific script
- Copy Selected Names: Copy usernames to clipboard
Scheduled Commands Tab
Lists commands scheduled for future execution. Right-click options:
- View bots: See which bots will be affected
- Cancel command: Remove the scheduled command
- Repeat: Toggle repeating execution
Trade Log Tab
Searchable list of all completed trades showing:
- Timestamp
- Username traded
- Items received/given
- GP values
Right-click to copy all trades to clipboard.
Parent Mule Chaining
nMule can trade its accumulated items to a "parent mule" - another nMule instance higher in the chain.
Setting Up Parent Mule Connection
Under Advanced Preferences > Parent Mule > Mule Connection:
- IP Address: The parent mule's IP
- Mule ID: The parent mule's ID
Mule Trades (Trigger-Based)
Configure when this mule should trade to its parent using Mule Trades:
Trigger Types:
- Time-based frequency: Trade every X minutes/hours
- Time of day: Trade at specific times
- Above/below item quantity: Trade when inventory reaches a threshold
- Every x trades: Trade after receiving X trades from bots
Each trigger set can have its own items to trade. Supports "all match" (all conditions must be met) or "any match" (any condition triggers).
Don't Trigger While Trading
- Don't trigger muling to parent if bots are trying to trade this mule: Prevents interrupting active bot trades
- Threshold: How many pending bot trades block parent muling
Scheduled Mule (Legacy)
Alternative time-based parent muling:
- Mule to/from parent mule: Enable scheduled trading
- Perform initial mule on start: Trade immediately when script starts
- Time unit and frequency range: How often to trade
- Configure Items: What to send/receive from parent
Troubleshooting
"Failed to create mule server. Ensure you have an id 1-99 selected."
Cause: Invalid Mule ID or the ID is already in use.
Fix:
- Choose an ID between 1 and 99
- If you just restarted the script, wait a moment for the previous server to close
- Ensure no other mule is using the same ID on this machine
"Server has been killed"
Cause: The internal mule server stopped unexpectedly.
Fix: Restart the script. Check if the port is blocked by a firewall or another application.
"Failed to find bank"
Cause: The platinum token conversion or banking action couldn't locate a bank.
Fix: Start the mule near a bank, or disable banking/platinum token features if not needed.
Bots can't connect to the mule
Fix:
- Same machine: Use IP
127.0.0.1 - Different machine:
- Forward port
45000 + Mule ID(e.g., ID 5 = port 45005) - Use your public IP address
- Check firewall settings
- Forward port
- See the Connecting Bots to the Mule section for detailed setup instructions
Getting Help
If you run into issues not covered in Troubleshooting:
- Generate a bug report - In TRiBot: Dev Tab → Generate Bug Report (includes logs, settings, and screenshot)
- Post on Discord - Share the zip and describe what happened vs. what you expected at discord.gg/BFtypSSbjp
For issues that are hard to capture in a screenshot, a short screen recording helps.
Tips
- Start near a bank if using banking, platinum token conversion, or GE collection features
- Use the "Stay logged in" option if you have bots that trade in bursts rather than continuously - saves repeated logins
- Set up Discord webhooks to monitor mule activity remotely
- Export trade logs for record-keeping and debugging
- Use parent mule chains for high-volume operations where a single mule would accumulate too much wealth
- Configure world hopping after X trades to reduce the chance of being reported by the same players repeatedly
- Use the "Stop after no bots connected" condition to automatically shut down mules when your bot farm finishes