MN Troubleshoot Script

Bearro’s – PAC MN Troubleshooting Script

This script will run and check your node for errors, it will fix some errors, if there is a command to do so. Run the command under the version below in your VPS, run in root user and directory, as usual. Towards the bottom is a current list of improvement ideas, contact me if you have any further ideas!

Important:

Careful to never run scrips you are unsure about, this script is hosted on this domain so you can clearly see the source. In discord, never run code from a untrustworthy source. I have been working with members of the PAC team to ensure this code is acceptable. The type of commands used in my code are all for several masternode status checks and are pretty basic. Any time an repair that requires modification, the script will prompt you for approval. I claim no responsibility for its performance, please see http://protopac.net/disclaimer/ regarding the use of this code and this site.

Current Version 4.5:

Click in space and copy text, paste with right click in command window of your VPS server connection for your masternode. This will run the script for checking multiple status as seen below…

This currently uses the explorer: http://usa.pacblockexplorer.com:3002/

For block check, please confirm this is the correct status before relying on block count.

Step 1: INSTALL AND REINSTALL COMMAND:

The below command will help you download and install the latest version. Use the command from step 2 to run the script. This will get you the latest files, delete any old files, and run for the first time. SEE STEP 2 for a normal run routine.

wget http://protopac.net/wget/mn/PAC_Troubleshoot_Install.sh -P /root/ && chmod +x /root/PAC_Troubleshoot_Install.sh && /root/PAC_Troubleshoot_Install.sh && /root/PAC_Troubleshoot.sh

Step 2: RE_RUN COMMAND

The command below will run and re-run after the script is installed on the VPS, you can re-select recent commands by the up arrow on the keyboard and hit enter to run again. Any future versions will use the same command

/root/PAC_Troubleshoot.sh

Benefits:

Though this got released sooner than I anticipated due to network faults, please keep my proposal in mind, as I will likely be posting soon. This is an independent project and not one sponsored by PAC core team or core budget. Here is my proposal http://protopac.net/proposals/mn-troubleshoot-script-proposal/ , and here are the current features:

  • Help make a more stable network for us all by helping create healthy masternode hosting
  • Enable the average user to quickly diagnose and fix problems, helping to diversify network hosting and making MN hosting more user-friendly
  • Check 9 different errors that can occur commonly with masternodes and fix an if possible.
    • #1. MN Process Check & auto start again if failure
    • #2. Sentinel Check
    • #3. MN Status Checks & auto reset masternode sync if needed
    • #4. Masternode Version Check – V:12.5.1 – P:70214
    • #5. Check current block and hash online and compare to masternodes & auto- reindex if needed
    • #6. For October 2018 Fork ‘Block – 158418’ BlockHash Check
    • #7. Memory and Swap Check & optional auto install of swapspace.
    • #8. Disk Usage Check
    • #9. Checking of @foxd’s service is installed & Optional auto install or reboot
  • Quickly and visually give the status of what is going on with your node, without having to remember
  • Can be used to aid in the setup process of new nodes to ensure they are done correctly and are opterational
  • Automatically heal problems found, which is optional via command line input.
  • A unique feature for PAC, this will be not be open source to make this a special for development PAC.
  • Free up time of our talented moderators so they can do more to improve PAC

This should show this result if your node is in good status:

Version Notes:

  • Version 4.5: Pre-released version before my proposal was approved to show dedication to making a great tool, features:
    • file management with new install script separate from main one to competently eliminate potential file duplicates and easily get latest version
    • check for block stagnation and only re index if not quickly increasing blocks, check if sync is at 0 blocks- if sync is frozen, and skip fork check if fails
    • ignore trying to fix inactive script only ask to fix no script
  • Version 4.0: Reordered test for sync status to check if block count is zero, re-worded sections, added not for case when enabled but network sees you differently.
  • Version 3.8: added ability to re-index nodes, msc. typos and sorting of information, ability to reset sync, and ability to start foxd’s service if shows inactive
  • Version 3.5: fixed the script so it will auto reboot foxd service if already installed if able, fixed to show the block hash online for checking if on correct chain, and fixed the end result status to show correctly if anything errors

Improvement Ideas:

  • Separate install command to eliminate confusion on latest version
  • Make an optional for restarting foxd’s script and fix daemon issue
  • Try to reinstall sentinel if it fails
  • Wait to see if blocks are moving and tell user if they need to wait for syncing longer
  • Option to automatically update if on wrong version
  • Skip step 6 if step 5 fails
  • Use external source for checking node status to compare
  • Source multiple places for block check
  • Implement any remaining auto-fix features

Testing

If you are helping test new versions please use the following command

Install — run command:

wget http://protopac.net/wget/mn/PAC_Troubleshoot_TEST.sh && chmod +x PAC_Troubleshoot_TEST.sh && ./PAC_Troubleshoot_TEST.sh

To Reinstall new version :

sudo rm PAC_Troubleshoot_TEST.sh* && wget http://protopac.net/wget/mn/PAC_Troubleshoot_TEST.sh && chmod +x PAC_Troubleshoot_TEST.sh && ./PAC_Troubleshoot_TEST.sh

To re-run command after installation

./PAC_Troubleshoot_TEST.sh

Special thanks to contributors!

Contributors:

  • @dijida
    • input on function, code ideas, and testing.
  • @fozzyblob
    • input on function, code ideas, and testing.
  • @foxd
    • inspiration from his service he made and all his wonderful work, and code ideas.
  • @Artsy
    • testing and feedback

Note: If this script gets funded, each of these individuals will be rewarded.

Bitnami