Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
295 commits
Select commit Hold shift + click to select a range
5fece5f
updated bundle manager
alanH1998 Jan 3, 2023
3a1124a
Merge branch 'dot_net_update' of https://github.com/nicehash/NiceHash…
alanH1998 Jan 3, 2023
e488c13
added elp input disable when set from rig manager
alanH1998 Jan 4, 2023
80e2d28
fixing according to report
alanH1998 Jan 4, 2023
263d584
updating enabled state of algos in benchmark tab fixed
alanH1998 Jan 5, 2023
7236362
testing status color is now correct
alanH1998 Jan 5, 2023
ed38439
NL-2120 Nvidia monitoring update
Jan 5, 2023
6fef810
updating login message and status
alanH1998 Jan 5, 2023
b74f7a2
prepared for fans
alanH1998 Jan 5, 2023
d1192c1
Merge pull request #2846 from nicehash/NL-2120_nvidia_monitoring_update
object05 Jan 6, 2023
9a2e904
added new dlls and minor adjustments
alanH1998 Jan 6, 2023
03e9a91
Merge branch 'dot_net_update_nhmws4' of https://github.com/nicehash/N…
alanH1998 Jan 6, 2023
fe04789
fixed computedevice
alanH1998 Jan 6, 2023
4e4f595
added post build event
alanH1998 Jan 6, 2023
df40ab0
took out scheduler in V4 temporarily
alanH1998 Jan 6, 2023
42612f4
per rig miners settings work
alanH1998 Jan 10, 2023
bbff623
NL-2140 NVIDIA monitoring update
Jan 13, 2023
5205a7e
fix
Jan 13, 2023
dbed9ca
PID controller fix
Jan 13, 2023
67b1ce2
Pid controller fix
Jan 13, 2023
c56711b
Precompiled libs update
Jan 13, 2023
1fd5ffc
New libs
Jan 13, 2023
4c1716f
Merge pull request #2848 from nicehash/NL-2140_nvidia_monitoring
object05 Jan 13, 2023
aa4eec6
preparing for deltas
alanH1998 Jan 13, 2023
5f5a2e3
added changes for deltas
alanH1998 Jan 13, 2023
6ede9dd
preparing for test
alanH1998 Jan 16, 2023
58a1b98
fixed edge case in building login message
alanH1998 Jan 16, 2023
3c8a096
modified removal of value
alanH1998 Jan 16, 2023
c7e6e27
added re-login on plugin install/uninstall
alanH1998 Jan 18, 2023
64743b1
added rebenchmark option for rig
alanH1998 Jan 18, 2023
bad0ecd
Scheduler working
alanH1998 Jan 23, 2023
52aa56b
fixed restart miners temporarily
alanH1998 Jan 23, 2023
238918b
modified status sending so it sends only changed fields
alanH1998 Jan 25, 2023
b0b0f04
updated mutable setting
alanH1998 Jan 31, 2023
4c1acd5
NL-2187 Scheduler timezone fix
Jan 31, 2023
16759ac
added some early returns if admin on received action
alanH1998 Jan 31, 2023
9de63b1
Merge pull request #2857 from nicehash/NL-2187_scheduler_timezone_fix
object05 Feb 1, 2023
5ea8c38
fixed stuff according to bug report
alanH1998 Feb 2, 2023
71a3c60
toggle auto update added
alanH1998 Feb 3, 2023
0197760
added core voltage support for nvidia
alanH1998 Feb 10, 2023
2a65e5a
ws4 relogin working
alanH1998 Feb 13, 2023
1645211
NL-2173 Set benchmarks speed
Feb 13, 2023
48bcc09
Merge pull request #2858 from nicehash/NL-2173_set_benchmark_speeds
alanH1998 Feb 13, 2023
ddf5748
fixed status messages duplicating
alanH1998 Feb 13, 2023
3b4fd3f
started on events
alanH1998 Feb 14, 2023
b1e4914
updated gui for event viewing
alanH1998 Feb 15, 2023
1c20491
connected notification gui
alanH1998 Feb 16, 2023
aa738a1
NL-2215 Core voltage monitoring
Feb 16, 2023
44941f8
Merge pull request #2859 from nicehash/NL-2215_core_voltage
alanH1998 Feb 17, 2023
c3a491e
Merge pull request #2860 from nicehash/dot_net_update_nhmws4_events
alanH1998 Feb 17, 2023
597bdc7
updated dlls
alanH1998 Feb 17, 2023
cbd1e64
deleted non existing imports
alanH1998 Feb 17, 2023
b8ec3c1
test merge from master to ws4
alanH1998 Feb 20, 2023
abee773
test merge changes
alanH1998 Feb 20, 2023
22a43ea
bug fixes and dll updates
alanH1998 Feb 21, 2023
9a2c85a
fixed ranges and split abs-rel on nvidia
alanH1998 Feb 27, 2023
ddd8123
version bump
alanH1998 Feb 27, 2023
309fb92
fixed abs memory clock not setting
alanH1998 Feb 27, 2023
6d1c523
merge from master
alanH1998 Feb 27, 2023
454b6ca
Merge branch 'master' of https://github.com/nicehash/NiceHashMiner in…
alanH1998 Feb 27, 2023
0119df1
bug fixes regarding elps and profile switching
alanH1998 Mar 2, 2023
c451593
NL-2229 TDP setting disabled status
Mar 2, 2023
5896030
Merge pull request #2864 from nicehash/NL-2229_TDP_settings_disabled
object05 Mar 2, 2023
b09ee0d
NL-2232 NHMWS4 start and stop
Mar 3, 2023
f212533
Code added back
Mar 3, 2023
a6b950d
Merge pull request #2865 from nicehash/NL-2232_start_stop_nhmws4
object05 Mar 3, 2023
6c0d301
minor fixes according to report
alanH1998 Mar 3, 2023
872d725
Merge branch 'ws4_master_test_merge' of https://github.com/nicehash/N…
alanH1998 Mar 3, 2023
2323fc2
updated dlls, logging and modified monitor
alanH1998 Mar 7, 2023
965b776
fixed tdp setting through nhmws4
alanH1998 Mar 8, 2023
0d60d8d
fixed event logging and partially added system dump functionality
alanH1998 Mar 9, 2023
604c4e6
registry saving fix
alanH1998 Mar 9, 2023
702b244
registry writing for production only
alanH1998 Mar 9, 2023
fe7551b
added remote shutdown and restart
alanH1998 Mar 10, 2023
d61c171
added better returns for restart and shutdown
alanH1998 Mar 10, 2023
b0bbd4e
added system dump to call action
alanH1998 Mar 13, 2023
035d726
Merge pull request #2869 from nicehash/ws4_master_test_merge
object05 Mar 14, 2023
d0143f7
Merge branch 'master' into dot_net_update_nhmws4
object05 Mar 14, 2023
a6de590
added selective build flags
alanH1998 Mar 14, 2023
ca13832
Merge branch 'dot_net_update_nhmws4' of https://github.com/nicehash/N…
alanH1998 Mar 14, 2023
bad13ce
fixed start/stop button being enabled after mining when toggled off a…
alanH1998 Mar 15, 2023
d7070ff
Merge branch 'master' of https://github.com/nicehash/NiceHashMiner in…
alanH1998 Mar 20, 2023
3703090
signed dlls
alanH1998 Mar 20, 2023
a276701
increased the benchmark settings byte range
alanH1998 Mar 22, 2023
de10cce
modified readme for user plugin
alanH1998 Mar 22, 2023
1683e25
modified readme
alanH1998 Mar 22, 2023
75dbe1f
modified image
alanH1998 Mar 22, 2023
64af6d7
modified readme again
alanH1998 Mar 22, 2023
737ae71
modified readme
alanH1998 Mar 22, 2023
d00feab
updated another range
alanH1998 Mar 22, 2023
6a91c6c
fixed crash when toggling all devices in device tab
alanH1998 Mar 23, 2023
c98748b
NL-2260 Gminer update
Mar 27, 2023
2210d0a
Version update
alanH1998 Mar 28, 2023
5876aef
NL-2271 NHM Intel detection
Apr 3, 2023
6965203
NL-2277 Detect Intel GPU
Apr 3, 2023
7004c9c
NL-2325 Import IGCL functions
Apr 6, 2023
5f04ec9
NL-2329 Getters and setters
Apr 13, 2023
6aab5ff
NL-2324 lolMiner update
Apr 13, 2023
af64d3a
NL-2320 Check all days by default
Apr 13, 2023
71af635
NL-2269 Default width on view
Apr 13, 2023
dda9bde
NL-2319 Remove oc toggle
Apr 13, 2023
25c2b95
Fan speed rig manager
Apr 14, 2023
c83f908
Rig manager fan speed rpm
Apr 14, 2023
af50dc5
NL-2321 Run on startup fix
Apr 17, 2023
76e9be2
NL-2334 Update lolMiner
Apr 17, 2023
78c8351
NL-2274 Local event for benchmarking
Apr 17, 2023
a015266
Uncommented part of code
Apr 17, 2023
ed29724
Post build events
Apr 17, 2023
1787662
Filename change
Apr 17, 2023
b283798
Merge pull request #2877 from nicehash/NL-2271_intel_gpu_detection
alanH1998 Apr 17, 2023
1ede44c
sma time increase
alanH1998 Apr 17, 2023
5a44df4
Merge branch 'dot_net_update_nhmws4' of https://github.com/nicehash/N…
alanH1998 Apr 17, 2023
d541f18
NL-2338 Raise supported plugin version
Apr 18, 2023
7fea095
Merge pull request #2878 from nicehash/NL-2271_intel_gpu_detection
alanH1998 Apr 18, 2023
72d4413
Update signed libs
Apr 18, 2023
d08e8fe
Fix reporting ranges
Apr 18, 2023
9e9a544
fixes regarding events
alanH1998 Apr 18, 2023
7b827a4
Merge branch 'dot_net_update_nhmws4' of https://github.com/nicehash/N…
alanH1998 Apr 18, 2023
917192d
fixed intel TDP being reset to the wrong value
alanH1998 Apr 19, 2023
ae84b35
NL-2343 NVIDIA set tdp watts
Apr 20, 2023
e08b700
Merge branch 'dot_net_update_nhmws4' into NL-2343_tdp_watts
Z1gismundus Apr 20, 2023
721087e
Dll added
Apr 20, 2023
b801f33
Merge branch 'NL-2343_tdp_watts' of github.com:nicehash/NiceHashMiner…
Apr 20, 2023
c8929d3
added basic filtering for clock settings
alanH1998 Apr 21, 2023
c9088ba
fixed only 1 device benchmarking
alanH1998 Apr 21, 2023
ea4106f
Merge pull request #2880 from nicehash/NL-2343_tdp_watts
alanH1998 Apr 21, 2023
b5f02fa
fixed a header showing when it shouldnt
alanH1998 Apr 24, 2023
3702078
NL-2350 Fix TdpSetSimple function
Apr 24, 2023
3cea1bb
Remove unused namespace
Apr 24, 2023
768e98d
Merge pull request #2881 from nicehash/NL-2343_tdp_watts
alanH1998 Apr 24, 2023
608d0b0
Set checkboxes to true at setting defaults
Apr 24, 2023
171db2f
Merge pull request #2882 from nicehash/NL-2343_tdp_watts
alanH1998 Apr 24, 2023
bfbccac
Update obsolete plugins list
Apr 25, 2023
443c69e
Srbminer added as obsolete
Apr 25, 2023
5cc047d
Merge pull request #2883 from nicehash/NL-2343_tdp_watts
alanH1998 Apr 25, 2023
758c2ba
signed nvidia monitoring
alanH1998 Apr 25, 2023
e72b127
upped the max worker name len to 24
alanH1998 Apr 25, 2023
ecee2d6
Merge branch 'dot_net_update_nhmws4' of https://github.com/nicehash/N…
alanH1998 May 9, 2023
b225144
updated gminer to latest
object05 May 9, 2023
838717e
Merge pull request #2885 from nicehash/NL-2260_gminer_update
alanH1998 May 9, 2023
92b1d7d
increased VRAM for octopus on some algos, removed GrinCuckatoo31 from…
object05 May 30, 2023
e396898
fixed events to more strict form
object05 May 30, 2023
d7604f8
fixed an event and removed excess functions
object05 Jun 1, 2023
4067798
more small fixes
object05 Jun 1, 2023
de148c9
Merge pull request #2889 from nicehash/plugin_updates
alanH1998 Jun 1, 2023
e84a1d8
further event fixes
object05 Jun 2, 2023
92af64d
modified the vram to 1 gb less
object05 Jun 2, 2023
e7ab2ff
Merge pull request #2890 from nicehash/plugin_fix
alanH1998 Jun 2, 2023
b9339a3
increased vram limit for octopus to 7.5gb
object05 Jun 2, 2023
27f3175
Merge pull request #2891 from nicehash/vram_limit_plugin
object05 Jun 2, 2023
d8910b0
increased nanominer version
object05 Jun 2, 2023
5e84d9c
updated excavator
object05 Jun 12, 2023
97cd37f
Merge pull request #2896 from nicehash/excavator_update
alanH1998 Jun 12, 2023
aff707c
updated nanominer
object05 Jun 12, 2023
ed8b76c
Merge pull request #2897 from nicehash/nanominer_update
alanH1998 Jun 12, 2023
8ab3ce8
Merge branch 'dot_net_update_nhmws4' of https://github.com/nicehash/N…
object05 Jun 12, 2023
173f603
Merge branch 'event_fix' of https://github.com/nicehash/NiceHashMiner…
object05 Jun 12, 2023
642cb28
removed unnecessary logging
object05 Jun 12, 2023
6171e6d
fix in progress
object05 Jun 13, 2023
a77d459
increased excavator version
object05 Jun 13, 2023
c0148dc
Merge pull request #2898 from nicehash/excavator_update_new
alanH1998 Jun 13, 2023
0b43ab3
increased excavator version, testing
object05 Jun 14, 2023
a4f8550
updated lolminer for nexapow
object05 Jun 14, 2023
b9cc5b8
increased lolminer to 21 due to some compatibility issues
object05 Jun 14, 2023
bdb4035
cpu setting works
object05 Jun 15, 2023
d9c5e6b
added gui option to turn off events
object05 Jun 15, 2023
3d6d6be
Merge branch 'dot_net_update_nhmws4' into excavator_cmds
alanH1998 Jun 20, 2023
26f24e5
Merge pull request #2901 from nicehash/excavator_cmds
alanH1998 Jun 20, 2023
fbe96df
Merge pull request #2902 from nicehash/lolminer_nexa
alanH1998 Jun 20, 2023
fecacf9
Merge pull request #2903 from nicehash/event_fix
alanH1998 Jun 20, 2023
03c6d85
increased kawpow limit to over 4gb
alanH1998 Jun 20, 2023
a7df2d9
Merge pull request #2904 from nicehash/kawpow_vram_bump
alanH1998 Jun 20, 2023
d81761c
disabled excavator elps from inside elp view
alanH1998 Jun 20, 2023
6a3d8c6
Merge pull request #2905 from nicehash/excavator_elp_view
alanH1998 Jun 20, 2023
bd9488b
increased to 3.1.0.8
alanH1998 Jun 20, 2023
e6f7d1e
Merge pull request #2906 from nicehash/version_increase
alanH1998 Jun 20, 2023
dccb370
fixed speed anomaly resetting on excavator
object05 Jun 21, 2023
31eb92d
Merge pull request #2907 from nicehash/excavator_speed_anomaly_fix
alanH1998 Jun 21, 2023
13880a9
excavator cmd parsing fixed, messageparser no longer checking some ca…
object05 Jul 4, 2023
42a4363
Merge pull request #2909 from nicehash/ws_and_excavator_fix
alanH1998 Jul 4, 2023
0b08732
removed gaming mode
object05 Jul 13, 2023
dcb41e0
more removal of gaming mode
object05 Jul 13, 2023
69fdeda
fixed interface error for nvidias, override limits if could not retrieve
object05 Jul 13, 2023
d188bd0
fixed amd dll because of amd drivers, updated excavator and lolminer …
object05 Jul 20, 2023
49a4fc6
fixed excavator not starting
object05 Jul 20, 2023
e7a6ca2
version increase
object05 Jul 20, 2023
2fd4fb5
fixed miner going to error mode when it shouldnt
object05 Jul 20, 2023
5571beb
Merge pull request #2914 from nicehash/removed_gaming_mode
alanH1998 Jul 20, 2023
978ec92
added toggle for oc resets
object05 Aug 7, 2023
4455078
added a toggle for disabling gpu tweaks
object05 Aug 29, 2023
1845567
Merge pull request #2922 from nicehash/reset_OC_toggle
alanH1998 Aug 29, 2023
d9520a3
removed nbminer from preinstalled, added gminer as preinstalled
object05 Aug 31, 2023
b6793ed
nvidia dll fix, nbminer and gminer update,
object05 Sep 8, 2023
138afaf
upped version to 3.1.0.10
object05 Sep 8, 2023
c906554
Merge pull request #2924 from nicehash/dot_net_update_removed_nbminer…
alanH1998 Sep 8, 2023
01f93aa
updated excavator
object05 Sep 15, 2023
e36cdc8
updated excavator to 22.2
object05 Oct 10, 2023
60e0132
added overheat detection event, some minor fixes on other events
object05 Oct 12, 2023
22e7775
fixed switch event
object05 Oct 20, 2023
ab5002d
miners update
object05 Dec 1, 2023
c82a52b
fixed event switch to itself
object05 Dec 1, 2023
80f45f6
removed xmrig completely
object05 Jan 22, 2024
ba8ff47
added plugins caching
object05 Feb 2, 2024
d0faa6d
test for update
object05 Feb 19, 2024
84238e2
fixed reporting of clocks
object05 Feb 19, 2024
3ede0ec
added karlsenhash
object05 Mar 1, 2024
87c1472
elp more user data
object05 Mar 1, 2024
5bcc9d5
removed amd from gminer
object05 Mar 6, 2024
3a9f010
updated minimal support
object05 Mar 6, 2024
706afc4
signed dlls
object05 Mar 6, 2024
908e568
Merge pull request #2936 from nicehash/update
alanH1998 Mar 6, 2024
9100e7a
updated minor version
object05 Mar 6, 2024
704e4d1
Merge pull request #2937 from nicehash/update
alanH1998 Mar 6, 2024
1822dea
preparing for next update
object05 Apr 15, 2024
17107e7
updated version to 3.1.1.0
object05 Apr 15, 2024
f5ade3b
Merge pull request #2942 from nicehash/nhm_update
alanH1998 Apr 15, 2024
d5b25a9
updated excavator and lolminer
object05 May 10, 2024
886affb
Merge pull request #2946 from nicehash/nhm_update
alanH1998 May 10, 2024
f729255
updated quickminer-excavator again
object05 May 17, 2024
3fc363a
Merge pull request #2947 from nicehash/nhm_update
alanH1998 May 17, 2024
18664c2
bumped to 3.1.1.1
object05 May 22, 2024
f05a1c6
Merge pull request #2949 from nicehash/version_bump
alanH1998 May 22, 2024
840bb0c
updated dlls, minor bug fix with miner not behaving correctly upon crash
object05 Jul 19, 2024
58e7f6c
bumped to 3.1.1.2
object05 Jul 19, 2024
3469bad
removed demo user
object05 Nov 19, 2024
6a11c52
fix 2
object05 Nov 19, 2024
feef761
version bump
object05 Nov 19, 2024
af29c79
removed deprecated algorithms from plugins
alanH1998 Nov 22, 2024
6b1e288
Merge pull request #2971 from nicehash/nhmws4_update
alanH1998 Nov 22, 2024
e6b75b2
removed nbminer
alanH1998 Nov 22, 2024
00e5cee
Merge pull request #2972 from nicehash/nhmws4_update
alanH1998 Nov 25, 2024
719c073
added pyrin back to excavator and lolminer
alanH1998 Dec 2, 2024
98b8ad1
Merge pull request #2973 from nicehash/revert_pyrin
alanH1998 Dec 2, 2024
ebc2042
added xelis hash
alanH1998 Dec 11, 2024
a57ae88
bumped version
alanH1998 Dec 11, 2024
937b355
Merge pull request #2974 from nicehash/added_xelis
alanH1998 Dec 16, 2024
9554405
updating nano
object05 Mar 14, 2025
c0a2074
Merge pull request #2979 from nicehash/dot_net_miner_nano_update
alanH1998 Mar 14, 2025
70dfc95
updated lolminer
alanH1998 May 6, 2025
229637d
Merge pull request #2987 from nicehash/lolminer_update
alanH1998 May 7, 2025
38b25b3
removed login button
alanH1998 Jun 23, 2025
1afdcc5
version increase
alanH1998 Jun 24, 2025
51c38f7
Merge pull request #2988 from nicehash/login_fixes
alanH1998 Jun 24, 2025
7d4f941
added login window tooltip
alanH1998 Jun 24, 2025
03b5b3a
Merge pull request #2989 from nicehash/login_fixes
alanH1998 Jun 24, 2025
189bc21
added new tooltip
alanH1998 Jul 3, 2025
de16f4d
Merge pull request #2990 from nicehash/login_fixes
alanH1998 Jul 3, 2025
4cbd4b5
removed pyrin on excavator and lolminer
alanH1998 Sep 22, 2025
0591d3c
updated excavator and lolminer versions
alanH1998 Oct 1, 2025
2cb3adf
preparing for update, updated version
alanH1998 Oct 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 1 addition & 23 deletions NiceHashMiner.sln
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Miners", "Miners", "{F40126
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{BB931C9A-EE48-42A6-B5F3-3A193B1A051A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MP.NBMiner", "src\Miners\NBMiner\MP.NBMiner.csproj", "{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MinerProcessCounter", "src\Tools\MinerProcessCounter\MinerProcessCounter.csproj", "{69B58028-8F30-4D3F-8E51-DEF85C08E4CC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreateLogReport", "src\Tools\CreateLogReport\CreateLogReport.csproj", "{663285C0-8F68-4638-BEB2-4BB042868445}"
Expand All @@ -34,8 +32,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "runnhmasadmin", "src\Tools\
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NiceHashMiner", "src\NiceHashMiner\NiceHashMiner.csproj", "{56653651-3BF1-4A89-A20C-3178C06A29A3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MP.XMRig", "src\Miners\XMRig\MP.XMRig.csproj", "{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NHMCore", "src\NHMCore\NHMCore.csproj", "{43DCAF38-D0C4-4335-983D-650F78461EB2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NiceHashMinerLauncher", "src\NiceHashMinerLauncher\NiceHashMinerLauncher.csproj", "{674DECD6-9BC3-4BA7-B0AE-4C2EA7D74C51}"
Expand Down Expand Up @@ -80,7 +76,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CrowdinTranslationsConverte
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AssemblyInfoVersionManager", "src\Tools\AssemblyInfoVersionManager\AssemblyInfoVersionManager.csproj", "{A1481D50-D481-409C-BF07-C44F9AF1DD51}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MP.GMiner", "src\Miners\GMiner\MP.GMiner.csproj", "{72746BBD-6A91-4441-87AA-8EFE4B2DA7BB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MP.GMiner", "src\Miners\GMiner\MP.GMiner.csproj", "{72746BBD-6A91-4441-87AA-8EFE4B2DA7BB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand All @@ -98,14 +94,6 @@ Global
{279A5B29-3799-43FA-9734-E462E046BA81}.Release|Any CPU.Build.0 = Release|Any CPU
{279A5B29-3799-43FA-9734-E462E046BA81}.Release|x64.ActiveCfg = Release|Any CPU
{279A5B29-3799-43FA-9734-E462E046BA81}.Release|x64.Build.0 = Release|Any CPU
{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8}.Debug|x64.ActiveCfg = Debug|Any CPU
{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8}.Debug|x64.Build.0 = Debug|Any CPU
{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8}.Release|Any CPU.Build.0 = Release|Any CPU
{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8}.Release|x64.ActiveCfg = Release|Any CPU
{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8}.Release|x64.Build.0 = Release|Any CPU
{69B58028-8F30-4D3F-8E51-DEF85C08E4CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{69B58028-8F30-4D3F-8E51-DEF85C08E4CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{69B58028-8F30-4D3F-8E51-DEF85C08E4CC}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand Down Expand Up @@ -178,14 +166,6 @@ Global
{56653651-3BF1-4A89-A20C-3178C06A29A3}.Release|Any CPU.Build.0 = Release|Any CPU
{56653651-3BF1-4A89-A20C-3178C06A29A3}.Release|x64.ActiveCfg = Release|Any CPU
{56653651-3BF1-4A89-A20C-3178C06A29A3}.Release|x64.Build.0 = Release|Any CPU
{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5}.Debug|x64.ActiveCfg = Debug|Any CPU
{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5}.Debug|x64.Build.0 = Debug|Any CPU
{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5}.Release|Any CPU.Build.0 = Release|Any CPU
{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5}.Release|x64.ActiveCfg = Release|Any CPU
{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5}.Release|x64.Build.0 = Release|Any CPU
{43DCAF38-D0C4-4335-983D-650F78461EB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{43DCAF38-D0C4-4335-983D-650F78461EB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{43DCAF38-D0C4-4335-983D-650F78461EB2}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand Down Expand Up @@ -367,12 +347,10 @@ Global
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{A4B0CDCB-D1D7-4563-9888-D58E0B36D0F8} = {F40126B4-5B3B-4085-B47D-A5EF4B51570C}
{69B58028-8F30-4D3F-8E51-DEF85C08E4CC} = {BB931C9A-EE48-42A6-B5F3-3A193B1A051A}
{663285C0-8F68-4638-BEB2-4BB042868445} = {BB931C9A-EE48-42A6-B5F3-3A193B1A051A}
{1B657592-641E-42EC-BC44-ABCAE62EF1FD} = {F40126B4-5B3B-4085-B47D-A5EF4B51570C}
{3712894A-0836-4CE3-A4A9-C21A32AACBEC} = {BB931C9A-EE48-42A6-B5F3-3A193B1A051A}
{850CBE9E-AB73-4C24-AFBD-2FA4911E07B5} = {F40126B4-5B3B-4085-B47D-A5EF4B51570C}
{ED4101C4-C44E-4C6C-8F93-73A950388823} = {BB931C9A-EE48-42A6-B5F3-3A193B1A051A}
{FBB69B33-8A14-4087-909C-F33791384D35} = {F40126B4-5B3B-4085-B47D-A5EF4B51570C}
{E9A55CE7-37B9-462F-92E8-AE929C5ADCCA} = {F40126B4-5B3B-4085-B47D-A5EF4B51570C}
Expand Down
Binary file added doc/UserPlugins/09.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/UserPlugins/10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 22 additions & 9 deletions doc/UserPlugins/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,55 @@ NiceHash Miner from version 3.0.7.0 supports generic plugins for experimental pu

## #1 Generating generic plugin files

### 1 First, navigate to the **NiceHash Miner root directory > internals > UserMinerPlugins.json**<br /><img src="01.png" />
### 1. First, navigate to the **NiceHash Miner root directory > internals > UserMinerPlugins.json**<br /><img src="01.png" />

### 2 Add a plugin name here, we will use **ExamplePlugin**.<br /><img src="02.png" />
### 2. Add a plugin name here, we will use **ExamplePlugin**.<br /><img src="02.png" />

### 3 Start NiceHash Miner for the files to be created automatically. Close NiceHash Miner after it initializes.
### 3. Start NiceHash Miner for the files to be created automatically. Close NiceHash Miner after it initializes.

### 4 New files will be generated in the **..\miner_plugins\ExamplePlugin** directory.<br /><img src="03.png" />
### 4. New files will be generated in the **..\miner_plugins\ExamplePlugin** directory.<br /><img src="03.png" />

## #2 Moving the miner files to plugin bins directory

### 1 Download the preferred miner from the official source.
### 1. Download the preferred miner from the official source.

<br />

### 2 Create a new folder named **bins** in the **NiceHash Miner\miner_plugins\ExamplePlugin** directory and move the miner file (all files included in the miner folder, not just the executable) to the **bins** directory.
### 2. Create a new folder named **bins** in the **NiceHash Miner\miner_plugins\ExamplePlugin** directory and move the miner file (all files included in the miner folder, not just the executable) to the **bins** directory.

<img src="04.png" />

<br />

## #3 Editing the plugin settings

### 1 Open **NiceHash Miner\miner_plugins\ExamplePlugin\Devices.json** and mark each compatible device as compatible with the plugin by changing **`"compatible": false`** to **`"compatible": true`**.<br /><img src="05.png" /><br />If the miner uses custom device IDs (has different GPU detection technique), make sure to manually change the device ID ("miner_device_id") also.
### 1. Open **NiceHash Miner\miner_plugins\ExamplePlugin\Devices.json** and mark each compatible device as compatible with the plugin by changing **`"compatible": false`** to **`"compatible": true`**.<br /><img src="05.png" /><br />If the miner uses custom device IDs (has different GPU detection technique), make sure to manually change the device ID ("miner_device_id") also.
<br />

### 2 Open NiceHash Miner\miner_plugins\ExamplePlugin\MinerSettings.json and change the algorithm_command_line to a compatible command for the selected miner.<br />You can use all the placeholders from the top default_command_line. Example of a algorithm_command_line: `-a {ALGORITHM} -o nicehash+tcp://{POOL_URL}:{POOL_PORT} -u {USERNAME} -api 127.0.0.1:{API_PORT} -log -d {DEVICES} {EXTRA_LAUNCH_PARAMETERS}`<br />Optionally, change the "device_seperator" for the miner.<br /><img src="06.png" />
### 2. Open NiceHash Miner\miner_plugins\ExamplePlugin\MinerSettings.json and change the algorithm_command_line to a compatible command for the selected miner.<br />You can use all the placeholders from the top default_command_line. Example of a algorithm_command_line: `-a {ALGORITHM} -o nicehash+tcp://{POOL_URL}:{POOL_PORT} -u {USERNAME} -api 127.0.0.1:{API_PORT} -log -d {DEVICES} {EXTRA_LAUNCH_PARAMETERS}`<br />Optionally, change the "device_seperator" for the miner.<br /><img src="06.png" />

<br />

### 3 Navigate to ExamplePlugin\Internals and open MinersBinsUrlsSettings.json
### 3. Navigate to ExamplePlugin\Internals and open MinersBinsUrlsSettings.json

Change the `"bin_path"` to the miner executable name. Do not use any specific path, NHM will automatically look for the miner in NiceHash Miner\miner_plugins\ExamplePlugin\bins.

<img src="07.png" />
<br />

### 4. Navigate to NiceHash Miner\configs\AcceptedPlugins.json

Add the name of the plugin you added in the `"UserMinerPlugins.json"` to the last line.
<img src="09.png" />
<br />

### 5. Navigate to NiceHash Miner\miner_plugins\ExamplePlugin\PluginSupportedAlgorithmsSettings.json

Add the target algorithms to target device groups, default is DaggerHashimoto and RandomXmonero (for example we configured to add DaggerHashimoto algo in the MinersSettings.json earlier):
<img src="10.png" />
<br />


# Additional information
Navigate to `NiceHash Miner\miner_plugins\ExamplePlugin\internals` and check the included files. There are other customizations possible through these files. Including adding extra launch parameters and supported algorithms. All of the settings are self-explanatory to advanced users.

Expand Down
Binary file modified pre_compiled_libs/device_detection_x64/device_detection.exe
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
56 changes: 49 additions & 7 deletions src/Miners/Excavator/CmdConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,10 @@ public static string CreateTemplate(IEnumerable<int> gpuUuids, string algorithmN
return CreateDefaultTemplateAndCreateCMD("__SUBSCRIBE_PARAM_LOCATION__", "__SUBSCRIBE_PARAM_USERNAME__", gpuUuids, algorithmName);
}

public static string CommandFileTemplatePath(string pluginUUID)
public static string CommandFileTemplatePath(string pluginUUID, string binPath, string fileName)
{
return Paths.MinerPluginsPath(pluginUUID, "internals", "CommandLineTemplate.json");
var path = Paths.MinerPluginsPath(pluginUUID, binPath, fileName);
return path;
}

private static List<Command> CreateInitialCommands(string subscribeLocation, string subscribeUsername, IEnumerable<int> excavatorIds, string algorithmName)
Expand All @@ -58,9 +59,24 @@ private static List<Command> CreateInitialCommands(string subscribeLocation, str
new Command { Id = 1, Method = "subscribe", Params = new List<string>{ subscribeLocation, subscribeUsername } },
new Command { Id = 2, Method = "algorithm.add", Params = new List<string>{ algorithmName.ToLower() } },
};
return initialCommands;
}
private static List<Command> CreateExtraCommands(IEnumerable<int> excavatorIds, string algorithmName, List<Command> mandatoryCMDS = null)
{
var initialCommands = new List<Command>();
if (algorithmName == "randomx")
{
initialCommands.AddRange(excavatorIds.Select((dev, index) => new Command { Id = index + 3, Method = "worker.add", Params = new List<string> { algorithmName, dev.ToString(), "NTHREADS=0", "HIGHPRIORITY=0", "USELARGEPAGE=1", "USEMSR=1" } }));
if (mandatoryCMDS != null)
{
foreach (var c in initialCommands)
{
var crossRef = mandatoryCMDS.FirstOrDefault(m => m.Id == c.Id);
if (crossRef == null) continue;
c.Params = crossRef.Params;
}
}

}
else initialCommands.AddRange(excavatorIds.Select((dev, index) => new Command { Id = index + 3, Method = "worker.add", Params = new List<string> { algorithmName.ToLower(), dev.ToString() } }));
return initialCommands;
Expand All @@ -78,6 +94,11 @@ private static string CreateDefaultTemplateAndCreateCMD(string subscribeLocation
Commands = CreateInitialCommands(subscribeLocation, subscribeUsername, excavatorIds, algorithmName),
},
new CommandList
{
Time = 1,
Commands = CreateExtraCommands(excavatorIds, algorithmName),
},
new CommandList
{
Event = "on_quit",
Commands = new List<Command>{ },
Expand All @@ -91,9 +112,10 @@ private static string CreateDefaultTemplateAndCreateCMD(string subscribeLocation
return null;
}
}
private static string[] _invalidTemplateMethods = new string[] { "subscribe", "algorithm.add", "worker.add" };
private static string[] _invalidTemplateMethods = new string[] { "subscribe", "algorithm.add" };
private static string ParseTemplateFileAndCreateCMD(string templateFilePath, IEnumerable<int> excavatorIds, string subscribeLocation, string subscribeUsername, string algorithmName)
{

if (!File.Exists(templateFilePath)) return null;
try
{
Expand All @@ -103,9 +125,26 @@ private static string ParseTemplateFileAndCreateCMD(string templateFilePath, IEn
.Select(cmd => (cmd, commands: cmd.Commands.ToList()))
.Where(p => p.commands.Any())
.ToArray();

var otherCmds = template
.Where(cmd => cmd.Commands.All(c => _invalidTemplateMethods.Contains(c.Method)))
.Select(cmd => (cmd, commands: cmd.Commands.ToList()))
.Where(p => p.commands.Any())
.ToArray();

foreach (var (cmd, commands) in validCmds)
{
cmd.Commands = commands;
foreach(var c in cmd.Commands)
{
if(c.Method == "worker.add")
{
if (c.Params.Count >= 2 && c.Params[0].ToLower() != "randomx")
{
c.Params = new List<string> { algorithmName.ToLower(), c.Params[1] };
}
}
}
}
var commandListTemplate = new List<CommandList>
{
Expand All @@ -115,7 +154,10 @@ private static string ParseTemplateFileAndCreateCMD(string templateFilePath, IEn
Commands = CreateInitialCommands(subscribeLocation, subscribeUsername, excavatorIds, algorithmName),
},
};
if (validCmds.Any()) commandListTemplate.AddRange(validCmds.Select(p => p.cmd));
if (validCmds.Any())
{
commandListTemplate.AddRange(validCmds.Select(p => p.cmd));
}
return JsonConvert.SerializeObject(commandListTemplate, Formatting.Indented, _jsonSettings);
}
catch (Exception e)
Expand All @@ -136,16 +178,16 @@ private static string CreateCommandWithTemplate(string subscribeLocation, string
return template;
}
private static string GetServiceLocation(string miningLocation)
{
{
if (BuildOptions.BUILD_TAG == BuildTag.TESTNET) return $"nhmp-test.auto.nicehash.com:443";
if (BuildOptions.BUILD_TAG == BuildTag.TESTNETDEV) return $"nhmp-dev.auto.nicehash.com:443";
//BuildTag.PRODUCTION
return $"nhmp.auto.nicehash.com:443";
}

public static string CmdJSONString(string pluginUUID, string _miningLocation, string username, string algorithmName, params int[] excavatorIds) {
public static string CmdJSONString(string pluginUUID, string _miningLocation, string username, string algorithmName, string fileName, string binPath, params int[] excavatorIds) {
var miningLocation = GetMiningLocation(_miningLocation);
var templatePath = CommandFileTemplatePath(pluginUUID);
var templatePath = CommandFileTemplatePath(pluginUUID, binPath, fileName);
var miningServiceLocation = GetServiceLocation(miningLocation);
var command = CreateCommandWithTemplate(miningServiceLocation, username, excavatorIds, templatePath, algorithmName);
if (command == null) Logger.Error("Excavator.CmdConfig", "command is NULL");
Expand Down
Loading