Documentation
Change RustMinerSystem Configuration In CLI Mode
Edit rust-config, port-config.json, and wallet-config.json in RustMinerSystem CLI mode, then apply changes with rustminer restart.
Change RustMinerSystem Configuration In CLI Mode
In CLI mode, configuration is changed from the server terminal instead of the web dashboard. Edit the RustMinerSystem configuration files, save them, and run rustminer restart to apply the changes.
The default install directory is:
cd /root/rustminersystem
If your build uses a custom directory or a debug environment, run the install script and choose menu item 21 to view runtime status and file paths.
Workflow
Recommended workflow:
cd /root/rustminersystem
cp rust-config rust-config.bak.$(date +%Y%m%d%H%M%S)
cp port-config.json port-config.json.bak.$(date +%Y%m%d%H%M%S)
cp wallet-config.json wallet-config.json.bak.$(date +%Y%m%d%H%M%S)
nano rust-config
nano port-config.json
nano wallet-config.json
rustminer restart
You can also use vim, vi, or another terminal editor. After changing JSON files, validate the format when jq is available:
jq . port-config.json >/dev/null
jq . wallet-config.json >/dev/null
If jq is not installed, at least confirm that JSON quotes, commas, square brackets, and braces are still valid.
rust-config
rust-config is a text file with one setting per line:
KEY=value
Plain switches and ports use numbers directly. Array or object values use single-line JSON. Do not split one JSON value across multiple lines.
Common settings:
| Setting | Description |
|---|---|
ENABLE_WEB_UI |
Enables the web dashboard. 1 means enabled, 0 means disabled. CLI mode requires web access to be disabled, so set it to 0. |
ENABLE_WEB_TLS |
Web dashboard protocol. 1 means HTTPS, 0 means HTTP. This only matters when web access is enabled. |
START_PORT |
Web dashboard port. Use a port in the 10000-65535 range when possible. |
RMS_PORT |
RMS access port. Use a port in the 10000-65535 range when possible. |
POOLNODE_PORT |
PoolNode access port. Use a port in the 10000-65535 range when possible. |
IP_BLACKLIST |
IP blacklist, stored as a JSON array. |
WALLET_BLACKLIST |
Wallet blacklist, stored as a JSON array. |
WALLET_WHITELIST |
Wallet whitelist, stored as a JSON array. |
POOL_ENDPOINT |
Custom pool and custom wallet settings, stored as a JSON object. |
RMS |
RMS-related settings, stored as a JSON object. |
WARNING_SETTING |
Alert settings, stored as a JSON object. |
Example:
ENABLE_WEB_UI=0
ENABLE_WEB_TLS=0
START_PORT=46679
RMS_PORT=13293
POOLNODE_PORT=15354
IP_BLACKLIST=["203.0.113.10","198.51.100.20"]
WALLET_BLACKLIST=["wallet-name"]
WALLET_WHITELIST=[]
You can also replace port values with sed:
sed -i 's/^START_PORT=.*/START_PORT=46679/' rust-config
sed -i 's/^RMS_PORT=.*/RMS_PORT=13293/' rust-config
sed -i 's/^POOLNODE_PORT=.*/POOLNODE_PORT=15354/' rust-config
Do not publish or screenshot real REMOTE_KEY, REMOTE_CODE, OB_TOKEN, SMTP secrets, or similar tokens. If you only change ports, web access, or blacklists, you usually do not need to edit these secret fields.
port-config.json
port-config.json stores port settings as a JSON array. Each object represents one miner access port.
Port ID Format
When you manually add a port, generate id with this fixed format:
5 random letters or digits + . + 2 random digits
Examples:
6YMpg.06
A1b2C.34
As a regular expression, the format is [A-Za-z0-9]{5}\.[0-9]{2}. Do not reuse the same id inside one port-config.json file.
Common fields:
| Field | Description |
|---|---|
id |
Port ID. Keep the existing value when editing an existing port; when adding one manually, use a format like 6YMpg.06 and keep it unique. |
port |
Local listen port used by miners to connect to RustMinerSystem. |
name |
Port name. It can be empty. |
currency |
Coin name. |
category |
Algorithm or category name. |
protocol |
Miner access protocol: 0 TCP, 1 TLS, 3 TTS, 5 RMS2, 6 RMS3, 8 RMS3(zstd), 9 TP. |
limit_connections |
Connection limit for the port. |
pool_address |
Primary pool address. |
connect_mode |
Primary pool connection protocol: 0 TCP, 1 TLS. |
pool_address2 |
Backup pool address. It can be empty. |
connect_mode2 |
Backup pool connection protocol: 0 TCP, 1 TLS. |
mode |
Port mode: 0 efficient mode, 1 compatibility mode. |
Example:
[
{
"id": "6YMpg.06",
"port": 47777,
"name": "IRON proxy",
"currency": "IRON",
"category": "blake3s",
"protocol": 1,
"limit_connections": 65535,
"pool_address": "hk.ironfish.example.com:1145",
"pool_address2": "",
"connect_mode": 0,
"connect_mode2": 0,
"mode": 0,
"proxy_addr": null,
"proxy_device": null,
"pattern_addr": "",
"replace_addr": "",
"status": 2,
"error": "",
"nc": 1
}
]
Example: change the primary pool address for one port:
jq 'map(if .id == "6YMpg.06" then .pool_address = "hk.ironfish.example.com:1145" else . end)' port-config.json > port-config.json.tmp
mv port-config.json.tmp port-config.json
rustminer restart
wallet-config.json
wallet-config.json stores wallet settings as a JSON array. Each object represents one wallet or device forwarding and ratio setting.
Wallet ID And Port Relation
When you manually add a wallet configuration, id uses the same random format:
5 random letters or digits + . + 2 random digits
For example: AFq3H.35. Do not reuse the same id inside one wallet-config.json file.
server_id is not another random value. It must match the id of one port object in port-config.json. For example, if the port is:
{
"id": "6YMpg.06",
"port": 47777
}
Then a wallet bound to this port should use:
{
"id": "AFq3H.35",
"server_id": "6YMpg.06"
}
Common fields:
| Field | Description |
|---|---|
id |
Wallet configuration ID. Keep the existing value when editing an existing record; when adding one manually, use a format like AFq3H.35 and keep it unique. |
server_id |
Related port ID. It must match the id of a port object in port-config.json; do not use the port number, and do not generate it randomly. |
addr |
Wallet name or wallet identifier. |
device |
Device name. |
pool_address |
Pool address for this wallet. |
pool_protocol |
Wallet pool connection protocol: 0 TCP, 1 TLS. |
ratio |
Wallet fee ratio as a decimal. For example, 0.03 means 3%. |
Example:
[
{
"id": "AFq3H.35",
"server_id": "6YMpg.06",
"addr": "wallet-main",
"device": "MY20602",
"pool_address": "kas.example.com:443",
"pool_protocol": 0,
"ratio": 0.03
}
]
Example: change one wallet ratio to 5%:
jq 'map(if .id == "AFq3H.35" then .ratio = 0.05 else . end)' wallet-config.json > wallet-config.json.tmp
mv wallet-config.json.tmp wallet-config.json
rustminer restart
Apply And Roll Back
Restart after saving changes:
rustminer restart
If ports cannot connect or the service behaves abnormally after a change, restore from backup:
cp rust-config.bak.YYYYMMDDHHMMSS rust-config
cp port-config.json.bak.YYYYMMDDHHMMSS port-config.json
cp wallet-config.json.bak.YYYYMMDDHHMMSS wallet-config.json
rustminer restart
Replace YYYYMMDDHHMMSS with the timestamp from your actual backup filename.
