Network Troubleshooting
Solutions for common connection issues with Two-Face.
Quick Diagnostics
Check Connection Status
# Verify Two-Face is running
ps aux | grep two-face
# Check if port is in use (Lich mode)
netstat -an | grep 8000
# Test internet connectivity
ping eaccess.play.net
View Logs
# Tail the log file
tail -f ~/.two-face/two-face.log
# Search for errors
grep -i error ~/.two-face/two-face.log
Common Issues
Connection Refused
Symptom:
Error: Connection refused to 127.0.0.1:8000
Cause: Lich proxy isn’t running or listening on the expected port.
Solutions:
-
Verify Lich is running:
# Check for Lich process ps aux | grep -i lich -
Check Lich has connected to game:
- Lich must be logged into a character
- The proxy only starts after game connection
-
Verify port number:
- Check Lich’s configured proxy port
- Default is 8000, but may be different
-
Try a different port:
# If 8000 is blocked, configure Lich for 8001 two-face --port 8001
Connection Timeout
Symptom:
Error: Connection timed out
Cause: Network issue between Two-Face and the target.
Solutions:
-
Lich mode - Check Lich is responding:
telnet 127.0.0.1 8000 -
Direct mode - Check internet connectivity:
# Test eAccess server nc -zv eaccess.play.net 7910 # Or with OpenSSL openssl s_client -connect eaccess.play.net:7910 -
Firewall check:
- Ensure port 7910 is allowed outbound
- Check corporate/school firewall policies
-
Try again later:
- Simutronics servers may be temporarily unavailable
- Check official forums for server status
Authentication Failed
Symptom:
Error: Authentication failed
Cause: Invalid credentials or account issue.
Solutions:
-
Verify credentials:
- Double-check account name (case-insensitive)
- Verify password (case-sensitive)
- Test login via official client first
-
Account status:
- Ensure subscription is active
- Check account isn’t banned/suspended
- Verify no billing issues
-
Character name:
- Confirm character exists
- Check spelling (often case-sensitive)
- Verify character is on correct game instance
-
Certificate issue (direct mode):
# Reset certificate rm ~/.two-face/simu.pem # Retry connection
TLS Handshake Failed
Symptom:
Error: TLS handshake failed
Cause: SSL/TLS configuration issue.
Solutions:
-
Update OpenSSL:
# Check version openssl version # Update (varies by OS) # macOS: brew upgrade openssl # Ubuntu: sudo apt update && sudo apt upgrade openssl -
Reset certificate:
rm ~/.two-face/simu.pem -
Check system time:
- TLS requires accurate system time
- Sync with NTP server
-
Network proxy:
- Disable SSL inspection proxies
- Corporate proxies may intercept TLS
Character Not Found
Symptom:
Error: Character 'Mychar' not found on account
Cause: Character doesn’t exist or wrong game instance.
Solutions:
-
Check character name spelling:
- Some systems are case-sensitive
- No spaces or special characters
-
Verify game instance:
# GemStone IV Prime --game prime # GemStone IV Platinum --game plat # GemStone IV Test --game test # DragonRealms --game dr -
List characters:
- Login via official client to see character list
- Verify account has characters on that game
Disconnected Unexpectedly
Symptom: Connection drops during gameplay.
Cause: Network instability, server kick, or timeout.
Solutions:
-
Enable auto-reconnect:
[connection] auto_reconnect = true reconnect_delay = 5 -
Check network stability:
# Monitor packet loss ping -c 100 eaccess.play.net -
Idle timeout:
- Game may disconnect idle connections
- Configure keepalive if available
-
Server-side kick:
- Check for policy violations
- Too many connections from same IP
- Anti-automation detection
Port Already in Use
Symptom:
Error: Address already in use: 0.0.0.0:8000
Cause: Another application is using the port.
Solutions:
-
Find the process:
# Linux/macOS lsof -i :8000 # Windows netstat -ano | findstr :8000 -
Kill the process:
# Linux/macOS kill -9 <PID> # Windows taskkill /F /PID <PID> -
Use different port:
- Configure Lich for different port
- Connect Two-Face to new port
No Data Received
Symptom: Connected but no game output appears.
Cause: Stream configuration or parsing issue.
Solutions:
-
Check stream configuration:
# Ensure main window has appropriate streams [[widgets]] type = "text" streams = ["main", "room", "combat"] -
Verify XML passthrough (Lich mode):
- Lich must pass through game XML
- Check Lich configuration
-
Test with simple layout:
# Minimal test layout [[widgets]] type = "text" streams = [] # Empty = all streams x = 0 y = 0 width = 100 height = 100 -
Check logs for parsing errors:
grep -i parse ~/.two-face/two-face.log
SSL Certificate Error
Symptom:
Error: SSL certificate problem: self signed certificate
Cause: Certificate verification issue (expected for eAccess).
Solutions:
-
This is normal for first connection - certificate should be pinned automatically
-
If persistent, reset certificate:
rm ~/.two-face/simu.pem -
Check no MITM proxy is intercepting traffic
Platform-Specific Issues
Windows
OpenSSL not found:
# Ensure vcpkg installed OpenSSL
vcpkg list | findstr openssl
# Set VCPKG_ROOT
set VCPKG_ROOT=C:\path\to\vcpkg
Permission denied on config:
- Run as Administrator once to create directories
- Or manually create
%USERPROFILE%\.two-face\
macOS
OpenSSL version mismatch:
# Use Homebrew OpenSSL
export OPENSSL_DIR=$(brew --prefix openssl)
# Or install specific version
brew install openssl@3
Keychain access:
- macOS may prompt for keychain access
- Allow Two-Face to access certificates
Linux
Missing libraries:
# Debian/Ubuntu
sudo apt install libssl-dev ca-certificates
# Fedora
sudo dnf install openssl-devel ca-certificates
# Arch
sudo pacman -S openssl
SELinux blocking:
# Check for denials
ausearch -m AVC -ts recent
# Temporarily permissive (testing only)
sudo setenforce 0
Advanced Diagnostics
Network Capture
# Capture Lich traffic
tcpdump -i lo port 8000 -w lich_traffic.pcap
# Capture eAccess traffic
tcpdump -i eth0 host eaccess.play.net -w eaccess_traffic.pcap
Debug Logging
Enable verbose logging:
# config.toml
[logging]
level = "debug"
file = "~/.two-face/debug.log"
Test Mode
Some issues can be isolated with test connections:
# Test Lich connection
echo "look" | nc localhost 8000
# Test eAccess with OpenSSL
openssl s_client -connect eaccess.play.net:7910 -quiet
Getting Help
If issues persist:
- Check logs:
~/.two-face/two-face.log - Reproduce minimally: Simple config, default layout
- Search issues: Check GitHub issues for similar problems
- Report bug: Include:
- Two-Face version
- OS and version
- Connection mode
- Relevant log excerpts (redact credentials!)
- Steps to reproduce
See Also
- Lich Proxy - Lich connection details
- Direct eAccess - Direct connection details
- TLS Certificates - Certificate management