General procedureTo successfully troubleshoot a problem, it helps to obey the following rules:
- Never change more than one thing at a time.
- Write down everything.
The general troubleshooting procedure is:
- Think about the problem to determine whether it results from unintentional side effects. If so, stop.
- Reboot the computer and determine if the problem is repeatable. If the problem does not occur again, stop.
- Read the game's documentation and website to determine if it is a known problem and a solution is available. If so, try it and stop if it works.
- Search the Internet to determine if a solution from a reliable source is available. If so, try it and stop if it works.
- Examine records of the problem and classify the problem as deterministic or nondeterministic.
- Deterministic problems happen the same way every time and are often caused by software or data corruption.
- Non-deterministic problems happen differently each time and are usually caused by bad hardware.
- Verify the computer operation assumptions are true.
- Perform stability tests on the computer.
- Perform data integrity tests on the computer's software.
Computer designs assume that all the following things are true. If any of these assumptions are not true, it may be the source of the problem.
- The computer is not overheating. Fans are clean and have enough space in front and behind them to cool the electronics.
- The computer's real-time clock is set correctly.
- The computer's user is in full control of the computer, and the computer is not being given conflicting commands by other users or software from the network.
- The computer does not have unreliable or faulty peripherals attached to it.
- The computer has a reliable power supply.
- The computer's memory is perfectly reliable.
- The computer has enough extra disk storage for any virtual memory it may need.
- The computer is fast enough and has sufficient cooling for the work it is being asked to do.
- The computer's internal connectors are clean and signals pass through them reliably.
- The computer user is not actively attempting to run the computer outside specifications (over-clocking, under-volting, etcetera.)
- The computer's user is not actively trying to deceive the hardware or software.