Troubleshooting - edgeof8/tIRC GitHub Wiki
This page provides guidance on troubleshooting common problems you might encounter while using tIRC. For detailed logging and debugging techniques, refer to the Debugging And Logging page.
General Troubleshooting Steps
- Check Logs: This is often the first and most important step. Increase log verbosity if necessary (see Debugging And Logging).
- Verify Configuration: Ensure your
config/tirc_config.ini
is correctly set up, especially server details, nicks, and authentication info. Compare withtirc_config.ini.example
. - Restart tIRC: Sometimes, a simple restart can resolve temporary glitches.
- Update tIRC: Ensure you are running the latest stable version of tIRC, or the specific version you intend to use.
- Disable Scripts: If you suspect a script might be causing issues, try temporarily disabling custom scripts (via the
[Scripts]
sectiondisabled_scripts
in config, or by moving them out of thescripts/
directory) to see if the problem persists. - Check Network Connection: Ensure your internet connection is stable and that no firewalls are blocking tIRC's access to IRC ports.
Common Problem Areas
Connection Issues
-
Symptom: Cannot connect to server, "Connection refused", timeout errors.
- Check: Server address and port in
config.ini
. - Check: SSL/TLS settings (
ssl = true/false
). Some servers use non-standard ports for SSL (e.g., 6697) vs. non-SSL (e.g., 6667). - Check:
verify_ssl_cert
setting if using SSL. Set tofalse
if the server uses a self-signed certificate (use with caution). - Check: Network connectivity and firewalls.
- Use:
/rawlog on
to see low-level connection attempts.
- Check: Server address and port in
-
Symptom: Repeatedly disconnected shortly after connecting.
- Check: Nickname conflicts (is your chosen nick already in use or registered to someone else?).
- Check: NickServ identification (
nickserv_password
or SASL settings). Many servers require identification. - Check: Server messages in the Status window or logs for reasons (e.g., "Authentication failed", "Banned").
Configuration Problems
- Symptom: Settings not taking effect, client behaving unexpectedly.
- Check: Syntax in
tirc_config.ini
. Ensure sections[SectionName]
and keyskey = value
are correct. - Use:
/rehash
command after manual edits toconfig.ini
while tIRC is running. - Use:
/save
command to ensure in-client changes with/set
are persisted. - Check: tIRC startup logs for any configuration parsing errors.
- Check: Syntax in
UI Glitches or Freezes
- Symptom: Garbled text, unresponsive UI, incorrect window rendering.
- Check: Terminal emulator compatibility. Some terminals handle Curses better than others.
- Check: Terminal font and encoding (UTF-8 is recommended).
- Check: If using SSH, network latency can sometimes affect Curses UIs.
- Report: If reproducible, this might be a bug. Note your terminal, OS, and steps to reproduce.
Scripting Errors
- Symptom: Scripts not loading, commands from scripts not working, errors in logs related to scripts.
- Check: Script syntax. Run
python -m py_compile path/to/your/script.py
to check for basic Python errors. - Check:
ScriptManager
logs at startup for errors during script loading. - Check: Ensure the script has a
create_script(api_handler)
factory function. - Check: Ensure event handlers and command handlers have the correct signatures.
- Use:
self.api.log_info()
,self.api.log_error()
within your script for debugging. - Refer: To Scripting tIRC and Script API Reference.
- Check: Script syntax. Run
DCC Transfer Failures
- Symptom: DCC sends or gets fail to start or complete.
- Check:
[DCC]
settings inconfig.ini
(enabled, download_dir permissions, port range). - Check: Firewall settings on both your machine and router. DCC requires open ports or NAT traversal.
- Try: Passive mode for sends (
/dcc send -p ...
) if active mode fails, especially if behind NAT. - Check:
dcc_advertised_ip
setting if you know your external IP and are behind NAT. - Check:
logs/dcc.log
for specific error messages. - Refer: To DCC Support.
- Check:
Frequently Asked Questions (FAQ)
(This section can be expanded over time with actual FAQs)
-
Q: How do I auto-connect to a server and join channels on startup?
- A: In
config/tirc_config.ini
, under your desired[Server.YourServerName]
section, setauto_connect = true
and list channels inchannels = #chan1,#chan2
. Only one server can haveauto_connect = true
.
- A: In
-
Q: How do I use SASL authentication?
- A: In your server configuration block, set
sasl_username = your_account_name
andsasl_password = your_sasl_password
. Ensure the server supports SASL PLAIN (or other mechanisms if tIRC adds support for them).
- A: In your server configuration block, set
-
Q: My script isn't loading. What should I do?
- A: Check tIRC's startup logs for messages from
ScriptManager
. Ensure your script is in the correctscripts/
directory, has no syntax errors, and includes thecreate_script(api_handler)
function. Check for any missing dependencies if your script uses external libraries.
- A: Check tIRC's startup logs for messages from
If you cannot resolve an issue using these tips and the available documentation, please consider seeking help via the channels listed on the Support page.