forked from MultiPoolMiner/MultiPoolMiner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.txt
1253 lines (929 loc) · 70.9 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
====================================================================
__ __ _ _ _ _____ _ __ __ _
| \/ | | | | (_) __ \ | | \/ (_)
| \ / |_ _| | |_ _| |__) |__ ___ | | \ / |_ _ __ ___ _ __
| |\/| | | | | | __| | ___/ _ \ / _ \| | |\/| | | '_ \ / _ \ '__|
| | | | |_| | | |_| | | | (_) | (_) | | | | | | | | | __/ |
|_| |_|\__,_|_|\__|_|_| \___/ \___/|_|_| |_|_|_| |_|\___|_|
====================================================================
MultiPoolMiner - created by aaronsace, uselessguru and grantemsley
WEBSITE: https://multipoolminer.io
GITHUB: https://github.com/MultiPoolMiner/MultiPoolMiner/releases
REDDIT: https://www.reddit.com/r/multipoolminer/
TWITTER: @multipoolminer
Licensed under the GNU General Public License v3.0
Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. https://github.com/MultiPoolMiner/MultiPoolMiner/blob/master/LICENSE
README.txt - updated on 10/11/2019 (dd/mm/yyyy) - latest version can be found here: https://github.com/MultiPoolMiner/MultiPoolMiner/blob/master/README.txt
====================================================================
FEATURE SUMMARY:
- Monitors crypto mining pools and coins in real-time and finds the most profitable for your machine
- Controls any miner that is available via command line
- Supports benchmarking, multiple platforms (AMD, NVIDIA and CPU) and mining on A Hash Pool, BlazePool, BlockMasters, Hash Refinery, MiningPoolHub, Nicehash, YiiMP, ZergPool and Zpool pools
- Includes Watchdog Timer to detect and handle miner failures
- Comprehensive web GUI with dashboard and balances overview
- Power usage is part of the profibility calculation (optional)
- API port is configurable, default is 3999
- Invalid share detection; miner gets marked failed if the configured ration of accepted / bad shares is exceeded
Any bitcoin donations are greatly appreciated: 1MsrCoAt8qM53HUMsUxvy9gMj3QVbHLazH
====================================================================
INSTALLATION:
1. Download the latest RELEASE (.zip package) from https://github.com/MultiPoolMiner/MultiPoolMiner/releases
2. Extract it to your Desktop (MultiPoolMiner will NOT work from folders such as "C:\Program Files\")
3. Make sure you have all pre-requisites installed/updated from the IMPORTANT NOTES section below.
4. Right-click on the (required) Start.bat file and open it with a Notepad application. Multiple start.bat files are included as examples.
5. Edit the Start.bat file with your details (such as YOUR username, wallet address, region, worker name, device type). New users should NOT edit anything else. Please see COMMAND LINE OPTIONS below for specification and further details.
6. Save and close the Start.bat file you just edited.
7. Launch the Start.bat file you just edited.
8. Let the benchmarking finish (you will be earning shares even during benchmarking).
9. Optional: Download, install and configure HWiNFO64, this is required if you want to make power usage a part of the profit calculation. See ConfigHWinfo64.pdf for details.
Done. You are all set to mine the most profitable coins and maximise your profits using MultiPoolMiner.
====================================================================
IMPORTANT NOTES:
- It is not recommended but to upgrade from a previous version of MultiPoolMiner, you may simply copy the 'Stats' folder.
- Having PowerShell 6.2 installed is now a requirement. Windows 64bit: https://github.com/PowerShell/PowerShell/releases/download/v6.2.1/PowerShell-6.2.1-win-x64.msi, ALL OTHER VERSIONS: https://github.com/PowerShell/PowerShell/releases
- Microsoft .NET Framework 4.5.1 or later is required for MultiPoolMiner to function properly. Please update from here: https://www.microsoft.com/en-us/download/details.aspx?id=40773
- CCMiner (NVIDIA cards only) may need 'MSVCR120.dll' if you don't already have it: https://www.microsoft.com/en-gb/download/details.aspx?id=40784. Make sure that you install both the x86 and the x64 versions.
- CCMiner (NVIDIA cards only) may need 'VCRUNTIME140.DLL' if you don't already have it: https://www.microsoft.com/en-us/download/details.aspx?id=48145. Make sure that you install both the x86 and the x64 versions.
- It is highly recommended to set Virtual Memory size in Windows to at least 16 GB in multi-GPU systems: Computer Properties -> Advanced System Settings -> Performance -> Advanced -> Virtual Memory
- Please see the FAQ section on the bottom of this page before submitting bugs and feature requests on Github. https://github.com/MultiPoolMiner/MultiPoolMiner/issues
- Logs and Stats are produced in text format; use them when submitting issues.
- Currently mining with up to 6 GPUs is fully supported. Where required advanced users can create additional or amend current miner files to support mining with more than 6 graphics cards.
====================================================================
COMMAND LINE OPTIONS (case-insensitive - except for wallet addresses (e.g. BTC), see Sample Usage section below for an example):
Listed in alphabetical order. Note: For basic operation not all parameters must be defined through start.bat.
-AllowedBadShareRatio
Allowed ratio of bad shares (total / bad) as reported by the miner. If the ratio exceeds the configured threshold then the miner will marked as failed. Allowed values: 0.00 - 1.00. Default of 0 disables this check
-API_Key
Required only if you are mining at MiningPoolHub. Adding this parameter / key pair allows MPM to gather the balances at the pool.
The API_Key can be found in the MiningPoolHub Account detail page.
-APIPort
Port for the MPM API and web GUI. The miner port range will start from APIPort +1. Default is 3999. 0 disables the API.
-Algorithm
Supported algorithms sorted by pool can be found at https://multipoolminer.io/algorithms. Use commas to separate multiple values.
The following algorithms are currently supported:
Bitcore, Blakecoin, Blake2s, BlakeVanilla, C11, CryptoNightV7, CryptoNightHeavy, Ethash, X11, Decred, Equihash, Groestl, HMQ1725, HSR, JHA, Keccak, Lbry, Lyra2RE2, Lyra2z, MyriadGroestl, NeoScrypt, Pascal, Phi, Phi2, Phi1612, Polytimos, Quark, Qubit, Scrypt, SHA256, Sib, Skunk, Skein, Timetravel, Tribus, Veltor, X11, X11evo, X16R, X16S, X17, Yescrypt
Note that the list of supported algorithms can change depending on the capabilities of the supported miner binaries. Some algos are now being mined with ASICs and are no longer profitable when mined with CPU/GPU and will get removed from MPM.
Special parameters:
Ethash2gb - can be profitable for older GPUs that have 2GB or less GDDR memory. It includes ethash coins that have a DAG file size of less than 2GB (and will be mined when most profitable). Ethereum and a few other coins have surpassed this size therefore cannot be mined with older cards.
ethash3gb - can be profitable for older GPUs that have 3GB or less GDDR memory. It includes ethash coins that have a DAG file size of less than 3GB (and will be mined when most profitable). Ethereum and a few other coins have surpassed this size therefore cannot be mined with older cards.
decrednicehash - if you want to include non-dual, non-Claymore Decred mining on Nicehash. NH created their own implementation of Decred mining protocol.
Note that the pool selected also needs to support the required algorithm(s) or your specified pool (-poolname) will be ignored when mining certain algorithms. The -algorithm command is higher in execution hierarchy and can override pool selection. This feature comes handy when you mine on Zpool but also want to mine ethash coins (which is not supported by Zpool). WARNING! If you add all algorithms listed above, you may find your earnings spread across multiple pools regardless what pool(s) you specified with the -poolname command.
-BasePowerUsage
Additional base power usage (in Watt) for running the computer, monitor etc. regardless of mining hardware. Allowed values: 0.0 - 999, default is 0
-BenchmarkInterval
MultiPoolMiner's update interval in seconds during benchmarks / power metering. This is an universal timer for running the entire script (downloading/processing APIs, calculation etc). It determines how long a benchmark is run for each miner file (miner/algorithm/coin). Default is 60.
Note: This value correlates with '-MinHashRateSamples'. If you set '-MinHashRateSamples' too high, then MPM cannot get enough samples for reliable measurement (recommendation: 10 or more). In this case increase the benchmark interval length.
-CoinName [Zcash, ZeroCoin etc.]
Limit mining to the listed coins only; this is also a per-pool setting (see Advanced Configuration). Use commas to separate multiple values.
Note: Only the pools ending in ...-Coin expose all coin names in their API. Check the web dashboard / pools to see which pools expose which values.
-ConfigFile [Path\ConfigFile.txt]
The default config file name is '.\Config.txt'
If the config file does not exist MPM will create a config file with default values. If the file name does not have an extension MPM will add .txt file name extension.
By default MPM will use the values from the command line. If you hardcode config values directly in the config file, then these values will override the command line parameters (see Advanced Configuration).
-Currency [BTC, USD, EUR, GBP, ETH ...]
Choose the default currency or currencies your profit stats will be shown in. Use commas to separate multiple values.
Important: MultiPoolMiner will use the first currency in the list as main currency. All profit / earning numbers will be displayed in the main (=first in the list) currency.
Note: Instead af BTC you can also use mBTC (= BTC / 1000).
-CurrencySymbol [BTC, LTC, ZEC etc.]
Limit mining to the listed currency only; this is also a per-pool setting (see Advanced Configuration). Use commas to separate multiple values.
Note: Only the pools ending in ...-Coin expose all currency symbols in their API. Check the web dashboard / pools to see which pools expose which values.
-Dashboard
Launch web dashboard after MPM start.
-Delay
Specify the number of seconds required to pass before opening each miner. It is useful when cards are more sensitive to switching and need some extra time to recover (eg. clear DAG files from memory)
-DeviceName
Choose the relevant GPU(s) and/or CPU mining. [CPU, GPU, GPU#02, AMD, NVIDIA, AMD#02, OpenCL#03#02 etc.]. Use commas to separate multiple values.
-DisableDevFeeMining
Disable miner developer fees (Note: not all miners support turning off their built in fees, others will reduce the hashrate).
This is also a per-miner setting (see Advanced Configuration).
-DisableDeviceDetection
All miner by default create separate instances for each card model.
To disable add *-DisableDeviceDetection* to your start batch file. This decreases profit.
Note: Changing this parameter this will trigger some benchmarking.
-DisableEstimateCorrection
Some pools overestimate the projected profits.
By default MPM will reduce the projected algo price by a correction factor (actual_last24h / estimate_last24h) to counter the pool overestimated prices.
Note: Not all pools include the information required for this to work in their API (currently know are MiningPoolHub & Nicehash). For these pools this setting is ignored.
This is also a per-miner setting (see Advanced Configuration).
-DisableMinersWithDevFee
Use only miners that do not have a dev fee built in.
-Donate
Donation of mining time in minutes per day to aaronsace. Default is 24, minimum is 10 minutes per day (less than 0.7% fee). If Interval is set higher than the donation time, the interval will prime. The downloaded miner software can have their own donation system built in. Check the readme file of the respective miner used for more details.
-ExcludeAlgorithm
Similar to the '-Algorithm' command but it is used to exclude unwanted algorithms. Supported algorithms sorted by pool can be found at https://multipoolminer.io/algorithms. Use commas to separate multiple values.
This is also a per-pool setting (see Advanced Configuration).
-ExcludeCoinName [Zcash, ZeroCoin etc.]
Similar to the '-CoinName' command but it is used to exclude selected coins from being mined. Use commas to separate multiple values.
This is also a per-pool setting (see Advanced Configuration).
Note: Only the pools ending in ...-Coin expose all coin names in their API. Check the web dashboard / pools to see which pools expose which values.
-ExcludeDeviceName
Similar to the '-DeviceName' command but it is used to exclude unwanted devices for mining. [CPU, GPU, GPU#02, AMD, NVIDIA, AMD#02, OpenCL#03#02 etc.]. Use commas to separate multiple values.
-ExcludeMinerName
Similar to the '-MinerName' command but it is used to exclude certain miners you don't want to use. This is useful if a miner is causing issues with your machine. Use commas to separate multiple values.
Important: Newer miners, e.g. ClaymoreEthash create several child-miner names, e.g. ClaymoreEthash-GPU#01-Pascal-40. These can also be used with '-ExcludeMinerName'.
The parameter value(s) can be in one of the 3 forms: MinerBaseName e.g. 'TeamRed', MinerBaseName-Version, e.g. 'TeamRed-v0.5.6' or MinerName, e.g. 'TeamRed-v0.5.6-1xEllesmere8GB'. Use commas to separate multiple values.
-ExcludePoolName
Similar to the '-PoolName' command but it is used to exclude unwanted mining pools. Use commas to separate multiple values.
-MinHashRateSamples
Minimum number of hashrate samples MPM will collect during benchmark per interval (higher numbers produce more exact numbers, but might prolong benchmaking). Allowed values: 10 - 99 (default is 10)
Note: This value correlates with '-BenchmarkInterval'. If MPM cannot get the minimum valid has rate samples during the configured interval, it will automatically extend the interval to up to 3x the interval length.
-HashRateSamplesPerInterval
Approximate number of hashrate samples that MPM tries to collect per interval (higher numbers produce more exact numbers, but use more CPU cycles and memory). Allowed values: 5 - 20
Note: This value correlates with '-Interval'. If you set '-Interval' too short, then MPM cannot get enough samples for reliable measurement (recommendation: 10 or more). In this case increase the interval length.
-HWiNFO64_SensorMapping
Custom HWiNFO64 sensor mapping, only required when $MeasurePowerUsage is $true, see ConfigHWinfo64.pdf
Note: This requires advanced configuration steps (see ConfigHWinfo64.pdf)
-IgnoreFees
Beginning with version 3.1.0 MPM makes miner and pool fees part of the profitability calculation. This will lead to somewhat lower, but more accurate profit estimates.
Include this command to ignore miner and pool fees (as older versions did)
-IgnorePowerCost
Include this command to ignore the power costs when calculating profit. MPM will use the miner(s) that create the highest earning regardless of the power cost, so the resulting profit may be lower.
-Interval
MultiPoolMiner's update interval in seconds. This is an universal timer for running the entire script (downloading/processing APIs, calculation etc). It also determines how long a benchmark is run for each miner file (miner/algorithm/coin). Default is 60.
Note: This value correlates with *-MinHashRateSamples*. If you set *-MinHashRateSamples* too short, then MPM cannot get enough samples for reliable measurement (anything over 10 is fine). In this case increase the interval length.
-IntervalMultiplier
Interval multiplier per algorithm during benchmarking, if an algorithm is not listed the default of 1 is used.
The default values are @{"EquihashR15053" = 2; "Mtp" = 2; "MtpNicehash" = 2; "ProgPow" = 2; "Rfv2" = 2; "X16r" = 5; "X16Rt" = 3; "X16RtGin" = 3; "X16RtVeil" = 3}
Note: The default values can be overwritten by specifying other values in the config file (Advanced configuration via config file required, see below).
-MeasurePowerUsage
Include this command to to gather power usage per device. This is a pre-requisite to calculate power costs and effective earnings.
Note: This requires advanced configuration steps (see ConfigHWinfo64.pdf)
-MinAccuracy
Only pools with price accuracy greater than the configured value. Allowed values: 0 - 1 (default is 0.5 = 50%)
Sometimes pools report erroneously high price spikes, just to self-correct after a few intervals. A value of 0.5 will ignore any princing information with a margin of error greater than 50%.
-MinerName
Specify to only include (restrict to) certain miner applications.
The parameter value(s) can be in one of the 3 forms: MinerBaseName e.g. 'TeamRed', MinerBaseName-Version, e.g. 'TeamRed-v0.5.6' or MinerName, e.g. 'TeamRed-v0.5.6-1xEllesmere8GB'. Use commas to separate multiple values.
-MinerstatusKey
By default the MPM monitor uses the BTC address ('-Wallet') to identify your mining machine (rig). Use -MinerstatusKey [your-miner-status-key] to anonymize your rig. To get your minerstatuskey goto to https://multipoolminer.io/monitor
-MinerstatusURL https://multipoolminer.io/monitor/miner.php
Report and monitor your mining rig's status by including the command above. Wallet address must be set even if you are only using MiningPoolHub as a pool. You can access the reported information by entering your wallet address on the https://multipoolminer.io/monitor web address. By using this service you understand and accept the terms and conditions detailed in this document (further below).
-MinWorker
Minimum numner of workers at the pool required to mine on algo / coin, if less skip the algo / coin, there is little point in mining an algo or coin if there are only very few miners working on it, default: {"*": = 10}, to always mine all coins set to 0.
Wildcards (* and ?) for the algorithm names are supported. If an algorithm name/wildcard matches more than one entry then the lower number takes priority.
this is also a per-pool setting (see Advanced Configuration).
-PoolBalancesUpdateInterval
MPM queries the pool balances every n minutes. Default is 15, minimum is 0 (=on every loop). MPM does this to minimize the requests sent to the pools. Pools usually do not update the balances in real time, so querying on each loop is unnecessary.
Note: The balance overview is still shown on each loop.
-Poolname [ahashpool[-algo / -coin], blazepool[-algo / -coin], blockmasters[-algo / -coin], hashrefinery[-algo / -coin], miningpoolhub[-algo / -coin], nicehash(old), nlpool[-algo / -coin], phiphipool (deprecated), ravenminer, zergpool[-algo / -coin], zpool[-algo / -coin]]
The following pools are currently supported (in alphabetical order); use commas to separate multiple values:
## AHashPool-Algo / AHashPool-Coin
WebSite: https://www.ahashpool.com/
Payout in BTC (Bitcoin address must be provided using the '-Wallet' command)
AHashPool-Coin allows mining selected coins only, e.g mine only ZClassic (Advanced configuration via config. file required, see below).
## BlazePool-Algo / BlazePool-Coin
WebSite: http://www.blazepool.com/
Payout in BTC (Bitcoin address must be provided using the '-Wallet' command)
BlazePool-Coin allows mining selected coins only, e.g mine only ZClassic (Advanced configuration via config. file required, see below).
## BlockMasters-Algo / BlockMasters-Coin
WebSite: http://www.blockmasters.co/
Payout in BTC (Bitcoin address must be provided using the '-Wallet' command), or any currency available in API (Advanced configuration via config file required, see below).
BlockMasters-Coin allows mining selected coins only, e.g mine only ZClassic (Advanced configuration via config. file required, see below).
## HashRefinery-Algo / HashRefinery-Coin
WebSite: http://pool.hashrefinery.com
Payout in BTC (Bitcoin address must be provided using the '-Wallet' command)
HashRefinery-Coin allows mining selected coins only, e.g mine only ZClassic (Advanced configuration via config. file required, see below).
## MiningPoolHub-Algo / MiningPooHub-Coin
WebSite: https://miningpoolhub.com/
- 'miningpoolhub-algo' parameter uses the 17xxx ports therefore allows the pool to decide on which coin is mined of a specific algorithm
- 'miningpoolhub-coin' allows for MultiPoolMiner to calculate and determine what is mined from all of the available coins (20xxx ports).
Usage of the 'miningpoolhub' parameter is recommended as the pool have internal rules against switching before a block is found therefore prevents its users losing shares submitted due to early switching. A registered account is required when mining on MiningPoolHub (username must be provided using the -username command, see below).
Payout in BTC (Bitcoin address must be provided using the -wallet command, see below), or any currency available in API (Advanced configuration via config file required, see below).
MiningPooHub-Coin allows mining selected coins only, e.g mine only ZClassic (Advanced configuration via config file required, see below).
## Nicehash(old)
WebSite: https://www.nicehash.com / https://old.nicehash.com
Payout in BTC (Bitcoin address must be provided using the *-Wallet* command) or BCH, ETX, LTC, XRP or AND ZEC (currency must be provided in config file (Advanced configuration via config file required, see below).
## NLPool
WebSite: https://www.nlpool.nl/
Payout in BTC (Bitcoin address must be provided using the -wallet command, see below), LTC or any currency available in API (Advanced configuration via config file required, see below).
## PhiPhiPool (Deprecated)
WebSite: https://www.phi-phi-pool.com
Note: PhiPhiPool no longer offers auto-conversion to BTC. Do NOT mine with a BTC address.
A separate wallet address for each mined currency must be provided in config file (Advanced configuration via config file required, see below).
## Ravenminer
WebSite: https://ravenminer.com
Payout in RVN. A separate RVN wallet address must be provided in config file (Advanced configuration via config file required, see below).
##ZergPool-Algo / ZergPool-Coin
WebSite: http://zergpool.eu
Payout in BTC (Bitcoin address must be provided using the *-Wallet* command), or any currency available in API (Advanced configuration via config file required, see below).
ZergPool-Coin allows mining selected coins only, e.g mine only ZClassic (Advanced configuration via config file required, see below).
##Zpool-Algo / Zpool-Coin
WebSite: http://www.zpool.ca/
Payout in BTC (Bitcoin address must be provided using the '-Wallet' command), or any currency available in API (Advanced configuration via config file required, see below).
Zpool-Coin allows mining selected coins only, e.g mine only ZClassic (Advanced configuration via config file required, see below)
IMPORTANT: For the list of default configured pools consult 'start.bat.' This does not rule out other pools to be included. Selecting multiple pools is allowed and will be used on a failover basis OR if first specified pool does not support that algorithm/coin. See the '-Algorithm' command for further details and example.*
-PowerPrices
Power price per kW·h, set value for each time frame, e.g. {"00:00"=0.3;"06:30"=0.6;"18:30"=0.3}, 24hr format!
-PricePenaltyFactor
Default factor with which MPM multiplies the prices reported by ALL pools. The default value is 1 (valid range is from 0.1 to 1.0).
E.g. If you feel that the general profit estimations as reported by MPM are too high, e.g. %20, then set '-PricePenaltyFactor' to 0.8.
This is also settable per pool (see advanced configuration below). The value set on the pool level will override this general setting.
-ProfitabilityThreshold = 0
Minimum profit (in $Currency[0]) that must be made otherwise all mining will stop, set to 0 to allow mining even when making losses. Allowed values: 0.0 - 999, default is 0
-Proxy
Specify your proxy address if applicable, i.e http://192.0.0.1:8080
-Region [Europe/US/Asia]
Choose your region or the region closest to you.
-ReportStatusInterval
Seconds until next miner status update (https://multipoolminer.io/monitor). Allowed values 30 - 300. Set to 0 to disable status reporting.
-ShowAllMiners (replaces '-UseFastestMinerPerAlgoOnly' as used in versions before 3.3.0)
Include this command to list all available miners per algo and device index in the summary screen.
By default, if there are several miners available to mine the same algo, only the most profitable of them will be listed in the summary screen.
Note: In benchmark mode ALL available miners wil be listed
-ShowAllPoolBalances
Include this command to display the balances of all pools (including those that are excluded with '-ExcludeMinerName') on the summary screen and in the web GUI.
-ShowMinerWindow
Include this command to show the running miner windows (minimized).
By default MPM hides most miner windows as to not steal focus (Miners of API type 'Wrapper' will remain hidden). Hidden miners write their output to files in the Log folder.
-ShowPowerUsage
Include this command to show power usage in miner overview list
Note: This requires advanced configuration steps (see ConfigHWinfo64.pdf)
-SingleAlgoMining
To prevent dual algorithm mining, add '-SingleAlgoMining' to your start batch file.
-SSL
Specifying the '-SSL' command (without a boolean value of true or false) will restrict the miner application list to include only the miners that support secure connection.
-SwitchingPrevention
Since version 2.6, the delta value (integer) that was used to determine how often MultiPoolMiner is allowed to switch, is now user-configurable on a scale of 1 to infinity on an intensity basis. Default is 1 (Start.bat default is 2). Recommended values are 1-10 where 1 means the most frequent switching and 10 means the least switching. Please note setting this value to zero (0) will not turn this function off! Please see further explanation in MULTIPOOLMINER'S LOGIC section below.
-UserName
Your username you use to login to MiningPoolHub.
-Wallet
Your Bitcoin payout address. Required when mining on AhashPool, BlazePool, Hash Refinery, Nicehash and Zpool (unless you have defined another payout currency (Advanced configuration via config file required, see below).
-WarmupTime
Time a miner is allowed to warm up before it could get marked as failed, e.g. to compile the binaries or to get the API ready. Default is 30 (seconds).
-Watchdog
Include this command to enable the watchdog feature which detects and handles miner and other related failures.
It works on a unified interval that is defaulted to 60 seconds. Watchdog timers expire if three of those intervals pass without being kicked. There are three stages as to what action is taken when watchdog timers expire and is determined by the number of related expired timers.
- Stage 1: when 1 timer expires relating to one miner/algorithm combination, the one miner/algorithm combination is kicked
- Stage 2: when 2 timers expire relating to one miner file, the one miner file is kicked
- Stage 3: when 3 timers expire relating to one pool, the pool is kicked
Watchdog timers reset after three times the number of seconds it takes to get to stage 3.
-WorkerName
To identify your mining rig.
SAMPLE USAGE (check "start.bat" file in root folder):
############ START OF CONTENT OF START.BAT ############
@echo off
cd /d %~dp0
rem ON MINING RIGS SET MININGRIG=TRUE
SET MININGRIG=FALSE
if not "%GPU_FORCE_64BIT_PTR%"=="1" (setx GPU_FORCE_64BIT_PTR 1) > nul
if not "%GPU_MAX_HEAP_SIZE%"=="100" (setx GPU_MAX_HEAP_SIZE 100) > nul
if not "%GPU_USE_SYNC_OBJECTS%"=="1" (setx GPU_USE_SYNC_OBJECTS 1) > nul
if not "%GPU_MAX_ALLOC_PERCENT%"=="100" (setx GPU_MAX_ALLOC_PERCENT 100) > nul
if not "%GPU_SINGLE_ALLOC_PERCENT%"=="100" (setx GPU_SINGLE_ALLOC_PERCENT 100) > nul
if not "%CUDA_DEVICE_ORDER%"=="PCI_BUS_ID" (setx CUDA_DEVICE_ORDER PCI_BUS_ID) > nul
set "command=& .\multipoolminer.ps1 -Wallet 1Q24z7gHPDbedkaWDTFqhMF8g7iHMehsCb -UserName aaronsace -WorkerName multipoolminer -Region europe -Currency btc,usd,eur -DeviceName amd,nvidia,cpu -PoolName miningpoolhubcoins,zpool,nicehash -Algorithm blake2s,cuckaroo39,cuckatoo31,cryptonightR,cryptonightV8,cryptonightheavy,decrednicehash,ethash,ethash2gb,ethash3gb,equihash,equihash1445,equihash1505,keccak,lbry,lyra2re3,mtp,mtpnicehash,neoscrypt,pascal,sib,skein,skunk,sonoa,timetravel10,x16r,x16rt,x16s,x17,x22i -Donate 24 -Watchdog -MinerStatusURL https://multipoolminer.io/monitor/miner.php -SwitchingPrevention 2"
if exist "~*.dll" del "~*.dll" > nul 2>&1
if /I "%MININGRIG%" EQU "TRUE" goto MINING
rem Launch web dashboard
set "command=%command% -Dashboard"
if exist ".\SnakeTail.exe" goto SNAKETAIL
start pwsh -noexit -executionpolicy bypass -command "& .\reader.ps1 -log 'MultiPoolMiner_\d\d\d\d-\d\d-\d\d\.txt' -sort '^[^_]*_' -quickstart"
goto MINING
:SNAKETAIL
tasklist /fi "WINDOWTITLE eq SnakeTail - MPM_SnakeTail_LogReader*" /fo TABLE 2>nul | find /I /N "SnakeTail.exe" > nul 2>&1
if "%ERRORLEVEL%"=="1" start /min .\SnakeTail.exe .\MPM_SnakeTail_LogReader.xml
:MINING
pwsh -noexit -executionpolicy bypass -windowstyle maximized -command "%command%"
echo Powershell 6 or later is required. Cannot continue.
pause
############ END OF CONTENT OF START.BAT ############
====================================================================
ADVANCED CONFIGURATION
Advanced config options are available via config file
MPM supports customized configuration via config files. The default config file name is '.\Config.txt'.
If you do not include the command line parameter -ConfigFile [Path\FileName.txt] then MPM will use the default file name.
If the config file does not exist MPM will create a config file with default values. If the file name does not have an extension MPM will add .txt file name extension.
The default config file contains only the parameters which are also available per command line.
Note: More config items are added to the live configuration during runtime. For full list of available config items at runtime see the API at http://localhost:3999/config. All items could also be added manually to the config file (use with caution as this might lead to unpredictable results).
The config file is a JSON file and human readable / editable. A good primer for understanding the JSON structure can be found here: https://www.tutorialspoint.com/json/index.htm
Warning: The JSON file structure is very fragile - every comma counts, so be careful when editing this file manually. To test the validity of the structure use a web service like https://jsonblob.com (copy/paste the complete file).
Sample content of 'Config.txt'
{
"Algorithm": "$Algorithm",
"AllowedBadShareRatio": "$AllowedBadShareRatio",
"API_ID": "$API_ID",
"API_Key": "$API_Key",
"APIPort": "$APIPort",
"BasePowerUsage": "$BasePowerUsage",
"BenchmarkInterval": "$BenchmarkInterval",
"CoinName": "$CoinName",
"ConfigFile": "$ConfigFile",
"Currency": "$Currency",
"CurrencySymbol": "$CurrencySymbol",
"Dashboard": "$Dashboard",
"Debug": "$Debug",
"Delay": "$Delay",
"DeviceName": "$DeviceName",
"DisableDevFeeMining": "$DisableDevFeeMining",
"DisableDeviceDetection": "$DisableDeviceDetection",
"DisableEstimateCorrection": "$DisableEstimateCorrection",
"DisableMinersWithDevFee": "$DisableMinersWithDevFee",
"Donate": "$Donate",
"ErrorAction": "$ErrorAction",
"ErrorVariable": "$ErrorVariable",
"ExcludeAlgorithm": "$ExcludeAlgorithm",
"ExcludeCurrencySymbol": "$ExcludeCurrencySymbol",
"ExcludeCoinName": "$ExcludeCoinName",
"ExcludeDeviceName": "$ExcludeDeviceName",
"ExcludeMinerName": "$ExcludeMinerName",
"ExcludePoolName": "$ExcludePoolName",
"HashRateSamplesPerInterval": "$HashRateSamplesPerInterval",
"HWiNFO64_SensorMapping": "$HWiNFO64_SensorMapping",
"IgnoreFees": "$IgnoreFees",
"IgnorePowerCost": "$IgnorePowerCost",
"InformationAction": "$InformationAction",
"InformationVariable": "$InformationVariable",
"Interval": "$Interval",
"IntervalMultiplier": "$IntervalMultiplier",
"MeasurePowerUsage": "$MeasurePowerUsage",
"MinAccuracy": 0.5,
"MinerName": "$MinerName",
"MinerStatusKey": "$MinerStatusKey",
"MinerStatusUrl": "$MinerStatusUrl",
"MinHashRateSamples": "$MinHashRateSamples",
"Currency": "$Currency",
"MinWorker": "$MinWorker",
"OutBuffer": "$OutBuffer",
"OutVariable": "$OutVariable",
"PipelineVariable": "$PipelineVariable",
"PoolBalancesUpdateInterval": "$PoolBalancesUpdateInterval",
"PoolName": "$PoolName",
"PowerPrices": "$PowerPrices",
"PricePenaltyFactor": "$PricePenaltyFactor",
"ProfitabilityThreshold": "$ProfitabilityThreshold",
"Proxy": "$Proxy",
"Region": "$Region",
"ReportStatusInterval": "$ReportStatusInterval",
"ShowAllMiners": "$ShowAllMiners",
"ShowAllPoolBalances": "$ShowAllPoolBalances",
"ShowMinerWindow": "$ShowMinerWindow",
"ShowPowerUsage": "$ShowPowerUsage",
"SingleAlgoMining": "$SingleAlgoMining",
"SSL": "$SSL",
"SwitchingPrevention": "$SwitchingPrevention",
"UserName": "$UserName",
"Verbose": "$Verbose",
"Wallet": "$Wallet",
"WarmupTime": "$WarmupTime",
"WarningAction": "$WarningAction",
"WarningVariable": "$WarningVariable",
"Watchdog": "$Watchdog",
"WorkerName": "$WorkerName",
"Pools": {},
"MinersLegacy": {},
"Wallets": {
"BTC": "$Wallet"
},
"VersionCompatibility": "3.3.0"
}
There is a section for Pools, Miners and a general section
Advanced configuration for Pools
Settings for each configured pool are stored in its own subsection. These settings are only valid for the named pool.
CoinName per pool [Zcash, ZeroCoin etc.]
Only mine the selected coins at the specified pool.
E.g. To mine only Zcash & ZeroCoin at Zpool:
"Zpool-Coin": {
"CoinName": [
"Zcash",
"ZeroCoin"
]
}
Note: Only the pools ending in ...-Coin expose the coin name in their API.
CurrencySymbol per pool [DGB, LTC, ZEC etc.]
Only mine the selected currencies at the specified pool.
E.g. To mine only LTC & ZEC at Zpool:
"Zpool-Coin": {
"CurrencySymbol": [
"LTC",
"ZEC"
]
}
Note: Only the pools ending in ...-Coin expose all currency symbols in their API. Check the web dashboard / pools to see which pools expose which values.
DisableEstimateCorrection per pool
Some pools overestimate the projected profits. By default MPM will reduce the projected algo price by a correction factor (actual_last24h / estimate_last24h) to counter pool the overestimated prices.
E.g. To disable this at Zpool:
"Zpool-Algo": {
"DisableEstimateCorrection": false
}
ExcludeAlgorithm per pool
Do not use the configured algorithms for mining at the specified pool.
E.g. To NOT mine Equihash and Ethash2gb at Zpool:
"Zpool-Coin": {
"ExcludeAlgorithm": [
"Equihash",
"Ethash2gb"
]
}
ExcludeCoinName per pool [Zcash, ZeroCoin etc.]
Exclude selected coins from being mined at the specified pool.
E.g. To NOT mine Zcash & ZeroCoin at Zpool:
"Zpool-Coin": {
"ExcludeCoinName": [
"Zcash",
"ZeroCoin"
]
}
Note: Only the pools ending in ...-Coin expose the coin name in their API.
ExcludeCurrencySymbol per pool [DGB, LTC, ZEC etc.]
Exclude selected currency symbol from being mined at the specified pool.
E.g. To NOT mine DGB & LTC at Zpool:
"Zpool-Coin": {
"ExcludeCurrencySymbol": [
"DGB",
"LTC"
]
}
Note: Only the pools ending in ...-Coin expose all currency symbols in their API. Check the web dashboard / pools to see which pools expose which values.
ExcludeRegion per pool
Do not use the pool endpoints in select regions. This may be useful when a pool has a problem with its endpoints in some regions, e.g. https://bitcointalk.org/index.php?topic=472510.msg51637436#msg51637436.
E.g. To NOT use the MiningPoolHub mining endpoints in region 'Europe':
"MiningPoolHub-Algo": {
"ExcludeRegion": [
"Europe"
]
}
Note: The values for 'Regions' must match the definitions in 'Regions.txt'.
MinWorker
This parameter allows to define a required minimum number of workers at the pool per algorithm. If there are less then the configured number of workers MPM will skip the affected algorithms.
Wildcards (* and ?) for the algorithm names are supported. If an algorithm name/wildcard matches more than one entry then the lower number takes priority.
Important: The general '-MinWorker' value is always applied. Only algorithms matching the global workers count will eventually be handled by the per-pool config.
E.g. To ignore 'Ethash*' & 'Equihash1445' algorithms at MiningPoolHub if there are less than 10 workers set MinWorker like this:
"MiningPoolHub-Algo": {
"MinWorker": {
"Ethash*": 10,
"Equihash1445": 10
}
}
Note: Not all pools support this, for more information consult the pools web page or check the MPM web GUI
If *-MinWorker* is set on a general AND pool level, then the lower number takes priority.
NiceHash internal wallet
If you have a NiceHash internal wallet you can configure MPM/NiceHash Pool to mine to the internal address. MPM will then use the lower pool fee of 1% for calculations.
To use the NiceHash internal wallet modify the NiceHash pool section (you may have to create is first). Enter your "<YOUR_NICEHASH_INTERNAL_WALLET>" (of course you need to insert the real BTC address), and set the flag '"IsInternalWallet": true':
"NiceHash": {
"Wallets": {
"BTC": "<YOUR_NICEHASH_INTERNAL_WALLET>"
},
"IsInternalWallet": true
}
Payout currency
If a pool allows payout in another currency than BTC you can set the currency you wish to be paid.
By default MPM will add ALL currencies configured by $Wallet as possible payout currencies for the pool.
For each pool you can statically add a section similar to this to your config file:
"Zpool-Algo": {
"Wallets": {
"BTC": "$Wallet"
},
"Worker": "$WorkerName"
}
The payout currency is defined by this line:
"BTC": "$Wallet", (MPM will use the the wallet address from the start.bat file)
E.g. to change the payout currency for Zpool to LiteCoin replace the line for BTC with "LTC": "<YOUR_LITECOIN_ADDRESS>", (of course you need to insert a real LTC address)
"Zpool-Algo": {
"Wallets": {
"LTC": "<YOUR_LITECOIN_ADDRESS>"
},
"Worker": "$WorkerName"
}
Note: Not all pools support this, for more information consult the pools web page
PricePenaltyFactor per pool
If you feel that a pool is exaggerating its estimations then set a penalty factor to lower projected projected calculations.
E.g. You feel that Zpool is exaggerating its estimations by 10% - Set PricePenaltyFactor to 0.9:
"Zpool-Algo": {
"PricePenaltyFactor": 0.9
}
Note: This is also a general parameter (see -PricePenaltyFactor). If both parameters - general and pool - are present, then the pool parameter takes precedence.
Regions per pool
Only use pool endpoints is selected regions. This may be useful when a pool has a problem with its endpoints in some regions, e.g. https://bitcointalk.org/index.php?topic=472510.msg51637436#msg51637436.
E.g. To use MiningPoolHub mining endpoints in regions 'Asia' and 'US' ONLY:
"MiningPoolHub-Algo": {
"Region": [
"Asia",
"US"
]
}
Note: The values for 'Regions' must match the definitions in 'Regions.txt'.
Blockmasters & ZergPool(Coins) Solo/Party mining
Check the pools web page for more information first!
For Blockmasters & ZergPool(Coins) solo or party mining edit the config file like this:
"Pools": {
"Blockmasters-Algo": {
"PasswordSuffix": {
"Algorithm": {
"*": "",
"Equihash": ",m=solo"
}
}
},
"ZergPool-Coin": {
"PasswordSuffix": {
"Algorithm": {
"*": "",
"Equihash": ",m=solo"
},
"CoinName": {
"*": "",
"Digibyte": ",m=solo"
}
}
}
}
"*" stands for any algorithm / coinname. No other wildcards are allowed.
All values are cumulative, so if you specify a value for algorithm AND coinname, then both values will be appended.
Advanced configuration for Miners
Settings for each configured miner are stored in its own subsection. These settings are only valid for the named miner.
ExcludeAlgorithm per miner
E.g. To exclude the Ethash3gb algorithm from any version of the ClaymoreEthash miner:
"MinersLegacy": {
"ClaymoreEthash": {
"*": {
"ExcludeAlgorithm": [
"Ethash2gb"
]
}
}
}
E.g. To exclude the Ethash2gb or Blake2s algorithms from ClaymoreEthash-v15.0 miner:
"MinersLegacy": {
"ClaymoreEthash": {
"v15.0": {
"ExcludeAlgorithm": [
"Blake2s",
"Ethash2gb"
]
}
}
}
"*" stands for ANY miner version.
The algorithm name must be entered in the normalized form as returned by Get-Algorithm.
If both, a version specific and generic config ("*") exist, then all matching algorithms are excluded.
Disable miner developer fee per miner
Note: not all miners support turning off their built in fees, others will reduce the hashrate, check the miners web page for more information
E.g. To disable the dev fee mining from any version of the ClaymoreEthash miner:
"MinersLegacy": {
"ClaymoreEthash": {
"*": {
"DisableDevFeeMining": true
}
}
}
E.g. To disable the dev fee mining from ClaymoreEthash-v15.0 miner:
"MinersLegacy": {
"ClaymoreEthash": {
"v15.0": {
"DisableDevFeeMining": true
}
}
}
"*" stands for ANY miner version.
If this setting is defined in multiple places (version specific, version generic ("*") and global), then the most specific value is used.
Secondary algorithm intensities (dual algo miners only)
The mining intensities for secondary algorithms can be configured in the config file.
The miner name must be entered without the ending version number (e.g. for ClaymoreEthash-v15.0 remove -v15.0)
The algorithm names must be entered as the miner uses it, do not use the normalized algorithm name as returned by Get-Algorithm.
"MinersLegacy": {
"ClaymoreEthash": {
"*": {
"SecondaryAlgoIntensities": {
"blake2s": [
45,
60,
75
],
"pascal": [
30,
60,
90
]
}
},
"v15.0": {
"SecondaryAlgoIntensities": {
"decred": [
25,
40,
65
]
}
}
}
}
"*" stands for ANY version
If both, specific (e.g. miner version) and generic config ("*") exist, then only the specific config is used. The generic config will be ignored entirely.
If you do not specify clustom values for all algorithms, then the miners default values will be applied for the unconfigured algorithms.
Customize miner commands
MPM stores all default miner commands (= what algos to mine and the commands to do so) in the miner file. You can override these commands with your own by modifing the config file.
The miner name must be entered without the ending version number (e.g. for ClaymoreEthash-v15.0 remove -v15.0)
The algorithm name must be entered in the normalized form as returned by Get-Algorithm.
Commands must match the data structure as found in the existing miner files. Note: Not all miners use the same parameters.
"MinersLegacy": {
"ClaymoreEthash": {
"*": {
"AllCommands": [
{
"MainAlgorithm": "Ethash2gb",
"MinMemGB": 2,
"SecondaryAlgorithm": "blake2s",
"SecondaryIntensity": 25,
"Params": " -colors"
},
{
"MainAlgorithm": "ethash3gb",
"MinMemGB": 2,
"SecondaryAlgorithm": "blake2s",
"SecondaryIntensity": 35,
"Params": " -colors"
}
],
"CommonCommands": " -dbg -1"
},
"v15.0": {
"AllCommands": [
{
"MainAlgorithm": "Ethash2gb",
"MinMemGB": 2,
"SecondaryAlgorithm": "blake2s",
"SecondaryIntensity": 25,
"Params": " -colors"
},
{
"MainAlgorithm": "ethash3gb",
"MinMemGB": 2,
"SecondaryAlgorithm": "blake2s",
"SecondaryIntensity": 35,
"Params": " -colors"
}
],
"CommonCommands": " -dbg -1"
}
}
}
"*" stands for ANY version or ANY algorithm.
If both, specific (e.g. miner version / algorithm name) and generic config ("*") exist, then only the specific config is used. The generic config will be ignored entirely.
Commands: These settings will be added to the miner command line for the selected miner algorithm.
CommonCommands: These settings will be added to the miner command line for ALL miner algorithms.
Commands and CommonCommands are cumulative.
Pre- / post miner program execution
MPM can execute any program/script/batch file on any of these events:
- before a miner gets started (PreStopCommand)
- after a miner got startet (PostStartCommand)
- before a miner gets started (PreStopCommand)
- after a miner got stopped (PostStopCommand)
- after miner failure got detected (PostFailureCommand)
Modify the config file to define the program and its parameters. E.g.
"MinersLegacy": {
"*": {
"PreStartCommand": "_ the command put here would be run before ANY miner gets started",
"PostStartCommand": "cmd.exe /c ECHO $((Get-Date).ToUniversalTime()): Starting miner ($($Miner.Name) {$(($Miner.Algorithm | ForEach-Object {\"$($_)@$($Pools.$_.Name)\"}) -join \"; \")}). >> .\\Logs\\minerstart.log",
"PreStopCommand": "REM run this command before the miner gets stopped",
"PostStopCommand": "cmd.exe /c ECHO $((Get-Date).ToUniversalTime()): Stopped miner ($($Miner.Name) {$(($Miner.Algorithm | ForEach-Object {\"$($_)@$($Pools.$_.Name)\"}) -join \"; \")}). >> .\\Logs\\minerstop.log",
"PostFailureCommand": "_ the command put here would be run after any miner failure"
},
"lolMinerEquihash": {
"*": {
"PreStartCommand": "'C:\\Program Files (x86)\\MSI Afterburner\\MSIAfterburner.exe' -Profile1",
"PostStartCommand": ""
"PreStopCommand": "_ the command put here would be run before lolMinerEquihash miner (any version) gets stopped",
"PostStopCommand": "",
"PostFailureCommand": ""
}
},
"CryptoDredge": {
"v0.22.0": {
"PreStartCommand": "'C:\\Program Files (x86)\\MSI Afterburner\\MSIAfterburner.exe' -Profile2",
"PostStartCommand": ""
"PreStopCommand": "_ the command put here would be run before CryptoDredge-v0.20.2 miner gets stopped",
"PostStopCommand": "",
"PostFailureCommand": "shutdown /r /t 10"
}
}
}
"*" stands for ANY miner or ANY miner version.
The miner name must be entered without the ending version number (e.g. for NVIDIA-CryptoDredge-v0.20.2 remove -v0.20.2)
Important: If two or more entries match, then the more specific entry is executed.
Double quotes (") or backslashes must be escaped with backslash as shown below.
To execute simple batch file commands you need to use 'cmd.exe /c '.
You can also use any MPM internal variables or simple powershell code like this:
"PreStartCommand": "$(if (($Miner.Algorithm | Select-Object -Index 0) -eq \"MTP") {\"'C:\\Program Files\\Tools\\MSI Afterburner\\MSIAfterburner.exe' -Profile1\"})",
"PostStartCommand": "cmd.exe /c ECHO $((Get-Date).ToUniversalTime()): Started miner ($($Miner.Name) {$(($Miner.Algorithm | ForEach-Object {\"$($_)@$($Pools.$_.Name)\"}) -join \"; \")}). >> .\\Logs\\minerstart.log"
Advanced general configuration
Settings in this section affect the overall behaviour of MPM and will take precedence over command line parameters.
Ignore pool and miner fees
Beginning with version 3.1.0 MPM makes miner and pool fees part of the profitability calculation. This will lead to somewhat lower, but more accurate profit estimates.
To ignore miner and pool fees (as older versions did) add '"IgnoreFees": true' to the general section:
{
"SwitchingPrevention": "$SwitchingPrevention",
"IgnoreFees": true
}
Interval Multiplier
Some algorithms produce very fluctuating hash rate numbers. In oder to get more stable values these algorithms require a longer benchmark period.
To override the defaults add a section similar to this to the general section in the config file (these are the default values):
"IntervalMultiplier": {
"EquihashR15053": 2,
"Mtp": 2,
"MtpNicehash": 2,
"ProgPow": 2,
"Rfv2": 2,
"X16r": 5,
"X16Rt": 3,
"X16RtGin": 3,
"X16RtVeil": 3
}
Note: The custom config section in the config file replaces the defaults for ALL algorithms. Any algorithm not explicitly configured will be set to the default value of 1 (unless there is a hardcoded value in the miner file).
PricePenaltyFactor
Default factor with which MPM multiplies the prices reported by ALL pools. The default value is 1 (valid range is from 0.1 to 1.0).
E.g. You feel that MPM is exaggerating its profit estimations by 20% for ALL pools - Set PricePenaltyFactor to 0.8:
{
"SwitchingPrevention": "$SwitchingPrevention",
"PricePenaltyFactor": 0.8
}
Note: This is also a pool parameter (see PricePenaltyFactor per pool). If both parameters - general and pool - are present, then the pool parameter takes precedence.
To show miner windows
By default MPM hides most miner windows as to not steal focus . All miners write their output to files in the Log folder.
To show the miner windows add '"ShowMinerWindow": true' to the general section:
{
"SwitchingPrevention": "$SwitchingPrevention",
"ShowMinerWindow": true
}
Note: Showing the miner windows disables writing the miner output to log files. Miners of API type 'Wrapper' will remain hidden.
Pool Balances
MPM can gather the pending BTC balances from all configured pools.
To display the balances of all enabled pools (excluding those that are excluded with '-ExcludeMinerName') on the summary screen and in the web GUI add '"ShowPoolBalances": true' to the general section:
{
"SwitchingPrevention": "$SwitchingPrevention",
"ShowPoolBalances": true
}
To display the sum of each currency in the balances (depending on 'ShowPoolBalancesExcludedPools' including those that are excluded with 'ExcludeMinerName') and the exchange rates for all currencies on the summary screen add '"ShowPoolBalancesDetails": true' to the general section: