Phase 0 (housekeeping): - Add .gitignore to protect credentials and runtime files - Track all project source code, docs, and config Phase 1 (perception loop): - Implement pluggable parser architecture (BaseMudParser ABC + ParserFactory) - Add DeadSoulsParser with regex for HP/MP/SP prompt, room descriptions, exits (multiple formats), NPC/item detection, and combat events - Add OutputBuffer for accumulating text between prompts - Update GameState with SP support and update_from_prompt/room/combat methods - Rewire main loop to use parser + buffer for real-time game state updates - Add reconnection logic to TelnetClient (retry with backoff) - Remove old TextParser (replaced by pluggable system) - Add mud_type config field for selecting parser at runtime - Add comprehensive test suite (50 tests, all passing)
3.4 KiB
MUD Test Servers - Quick Start Guide
✅ L'applicazione funziona!
L'errore che vedi è normale - stai usando il config di esempio con mud.example.com che non esiste.
MUD Pubblici per Testing
Ecco alcuni MUD pubblici che puoi usare per testare l'applicazione:
1. Aardwolf MUD (Consigliato per testing)
mud:
host: "aardmud.org"
port: 23
username: "" # Crea account al primo login
password: ""
Caratteristiche:
- Molto popolare e stabile
- Accetta nuovi giocatori
- Buona documentazione
- Supporta ANSI colors
2. Discworld MUD
mud:
host: "discworld.starturtle.net"
port: 23
username: ""
password: ""
3. Alter Aeon
mud:
host: "alteraeon.com"
port: 3010
username: ""
password: ""
4. Materia Magica
mud:
host: "materiamagica.com"
port: 4000
username: ""
password: ""
Come Configurare
Opzione 1: Modifica config.yaml
Apri config.yaml e modifica la sezione mud:
mud:
host: "aardmud.org" # Cambia questo
port: 23 # E questo
username: "" # Lascia vuoto per nuovo account
password: ""
Opzione 2: Crea config personalizzato
# Copia il config di esempio
Copy-Item config.yaml test_config.yaml
# Modifica test_config.yaml con il tuo editor preferito
# Poi esegui con:
python -m src.main --config test_config.yaml
Test Rapido con Aardwolf
- Modifica config.yaml:
mud:
host: "aardmud.org"
port: 23
username: ""
password: ""
- Esegui l'applicazione:
.\venv\Scripts\Activate.ps1
python -m src.main
- Cosa aspettarsi:
- Connessione al server ✅
- Ricezione del messaggio di benvenuto
- Prompt per creazione personaggio
- (L'AI non è ancora implementata completamente, quindi vedrai solo i log)
Modalità Debug
Per vedere più dettagli durante la connessione, modifica in config.yaml:
logging:
level: "DEBUG" # Cambia da INFO a DEBUG
console: true
Creazione Account Manuale
Se vuoi prima creare un account manualmente:
# Usa telnet per connetterti
telnet aardmud.org 23
# Oppure usa un client MUD come MUSHclient o Mudlet
Poi inserisci le credenziali in config.yaml.
Prossimi Passi
Una volta connesso con successo:
- ✅ Connessione funzionante - Vedrai i log di connessione
- ⏭️ Implementare Character Creator - Per creare automaticamente il personaggio
- ⏭️ Implementare Text Parser - Per interpretare i comandi del MUD
- ⏭️ Implementare Explorer - Per iniziare l'esplorazione
Troubleshooting
Firewall
Se hai problemi di connessione, verifica che il firewall non blocchi le connessioni Telnet (porta 23 o 4000).
Timeout
Alcuni MUD potrebbero avere timeout. Aumenta il timeout in telnet_client.py se necessario.
ANSI Colors
Se vedi caratteri strani, il parser ANSI potrebbe aver bisogno di aggiustamenti per quel MUD specifico.
Note Importanti
⚠️ Rispetta le regole del MUD: Molti MUD hanno regole contro i bot. Usa questa applicazione solo per:
- Testing e sviluppo
- MUD che permettono bot
- Scopi educativi
⚠️ Non abusare: Implementa sempre i delay umani e non sovraccaricare il server.