Visualizzazione post con etichetta Addons. Mostra tutti i post
Visualizzazione post con etichetta Addons. Mostra tutti i post

giovedì 7 maggio 2009

How To: risolvere i problemi di disconnessione

(Disclaimer: l'articolo è liberamente tratto dal blog di Cadfael su elitistjerks)
Uno dei problemi comuni a tutti i giocatori di WoW è la fastidiosa disconnessione che avviene inesorabilmente (Murphy insegna) nei momenti topici di combattimento contro i Boss. Lo dichiaro in anticipo: rassegnatevi, non è un fattore che va e viene o sul quale la Blizzard presto o tardi ci metterà una pezza. E' qualcosa sul quale però si può intervenire, per cui vediamo come.

I Sintomi:
  • Casuali disconnessioni al momento dell'arrivo a Dalaran (log o teleport)
  • Disconnessioni durante fasi di raid in cui c'è pesante AoE o eventi come Thaddius o Gluth
  • Chain disconnects in generale
  • Eccessivi disconnessioni durante Sartharion
  • Lunghe fasi in cui non vedete giocatori o NPC, specialmente dopo l'applicazione di una nuova patch
  • Spesso venite disconnessi al momento del porting (in o out) di una instance
Se avete sperimentato più di una volta queste problematiche, questo articolo forse può aiutarvi a migliorare la qualità della vostra vita. Cercate, per quanto possibile, di applicare tutte le indicazioni che seguono, poiché il difetto potrebbe non essere legato ad un singolo aspetto, ma ad un insieme di fattori.

Il Problema:

Come detto non esiste una singola soluzione che magicamente risolve tutto, per cui è necessario applicare un approccio metodico per cercare di migliorare le cose. I client di WoW comunicano con i server attraverso un flusso di dati TCP. Ogni singolo pacchetto dati segue la sua strada attraverso la rete internet; se il percorso da qualche parte si interrompe, avviene la disconnessione. Tuttavia, contrariamente a quanto si può immaginare, la disconnessione non è causata dall'interruzione del collegamento, quanto dall'accumularsi dei dati che il server invia al client.

Per capire meglio: il server mette a disposizione di ogni client collegato un buffer nel quale scrive i dati. Immaginate quindi il buffer come un contenitore dal quale il client legge e preleva i dati. Viste le enormi quantità di connessioni contemporanee, questo contenitore è molto piccolo, per cui basta che vi sia un disturbo, ed il client per più di qualche secondo non svuoti il contenitore, per riempirlo. A quel punto il server chiude la comunicazione col vostro client, droppandola in quanto il vostro buffer ha raggiunto il limite di capienza. In una normale rete di computer i timeout di connessione sono impostati a svariati secondi, se non minuti, ma in questo caso parliamo di migliaia di connessioni contemporanee. I Server non hanno molta pazienza, ed è giusto sia così.

In sostanza questa è la principale causa delle disconnessioni. Ve ne sono altre che implicano problematiche del tutto differenti, quali interrogare la cache del server su item che non sono mai droppati prima (quello che accade quando usate atlas loot su item mai visti) o tentativi, perlopiù maldestri, di violare il netcode del gioco a scopo didattico o fraudolento. Ma di questi ultimi ci frega poco o nulla.

Le soluzioni:


Come detto sono molteplici. La prima cosa da fare è intervenire sugli addons, che sono tra i principali artefici di traffico inutile tra client e server. Alcuni addons sono, per natura, dei veri spammer. Due esempi sono Recount e DotTimer. Entrambi creano dei loro canali di chat che poi usano per comunicare/sincronizzare i dati tra vari client e questo genera un enorme, quanto inutile, flood di informazioni. Se li usate disabilitate in entrambi questa funzione che di base è attiva, tramite il comando "/recount sync" o "/dottimer sync".

Un altra cosa da fare è applicare una piccola modifica al registro del vostro sistema. Le info sono relative ad utenti Windows e Mac. Se qualche linuxiano mi invia la procedura per il pinguino, sarò ben felice di editare il post e pubblicarla.

Per Windows:
  • Andate in start-> Esegui e digitate regedit.
  • Nella schermata che vi si apre navigate sino alla chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
  • Qui troverete molte cartelle dai nomi criptici. Selezionatele ad una ad una e controllate le informazioni che compaiono a destra dello schermo.
  • Confrontate queste informazioni con quelle della vostra connessione corrente (per vederle potete cliccare sull'icona in basso a destra vicino all'orologio nella task bar o andate in Risorse di rete -> Proprietà).
  • Quando avrete individuato quale chiave è quella corrispondente alla vostra connessione in uso cliccate con il tasto destro nella parte destra delle schermo e scegliete nuovo, quindi valore DWORD.
  • Chiamate la nuova chiave TcpAckFrequency e settate il valore a 1 (0x00000001).
  • Riavviate il sistema.
MacOS X:
  • Se volete una modifica temporanea, aprite una console terminale e digitate sudo sysctl -w net.inet.tcp.delayed_ack=0
  • Vi verrà chiesta la password di Admin. Digitatela per abilitare l'impostazione, che comunque verrà resettata al successivo reboot.
  • Per rendere il parametro permanente digitate sempre da console sudo echo "net.inet.tcp.delayed_ack=0" >> /etc/sysctl.conf che banalmente scrive la linea all'interno di /etc/sysctl.conf che viene sempre eseguito al boot.
Proseguiamo con l'opera di sistemazione disabilitando il combat log della Blizzard. Per quanto possa sembrare comodo assorbe davvero parecchie risorse, sopratutto in raid, per cui il consiglio è quello di entrare nella configurazione di questo modulo e togliere le flag da ogni evento del quale non vogliamo essere informati sia nel tab Message Sources che in Message Types. Personalmente li ho disabilitati tutti e vivo felice.

Dalla Wrath i buff sono suddivisi in categorie che non si sommano tra loro ma si sovrascrivono. In questo modo, ad esempio, il Commanding Shout dei Warr va in conflitto con il Blood Pact di un Imp e viceversa. Vi mostro cosa accade quando entrambi sono attivi e cercano di rimpiazzarsi a vicenda:

1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x00000000020F7A51,"Frisli",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_CAST_SUCCESS,0x00000000020F7A51,"Frisli",0x514,0x0000000000000000,nil,0x80000000,47440,"Commanding Shout",0x1
1/26 21:58:50.468 SPELL_PERIODIC_ENERGIZE,0x00000000020F7A51,"Frisli",0x514,0x00000000020F7A51,"Frisli",0x514,29131,"Bloodrage",0x1,1,1
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x00000000024EB4DC,"Eggbotnic",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x00000000024EB4DC,"Eggbotnic",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x0000000000276DFB,"Mokhlor",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000000276DFB,"Mokhlor",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x0000000002422282,"Apneatic",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000002422282,"Apneatic",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0x0000000001D42674,"Cadrach",0x511,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000001D42674,"Cadrach",0x511,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0x000000000035718A,"Valoz",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x000000000035718A,"Valoz",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x000000000102694B,"Mumraa",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x000000000102694B,"Mumraa",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0xF14041056F0003BC,"Tarlop",0x1114,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0xF14041056F0003BC,"Tarlop",0x1114,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x0000000001D97F00,"Exewu",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000001D97F00,"Exewu",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x0000000001588438,"Pantofche",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000001588438,"Pantofche",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0xF150007F8000688E,"Traveler's Tundra Mammoth",0x1114,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0xF150007F8000688E,"Traveler's Tundra Mammoth",0x1114,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x000000000255B2A7,"Adficium",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x000000000255B2A7,"Adficium",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0xF1406564210003BD,"Quzuri",0x1114,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0xF1406564210003BD,"Quzuri",0x1114,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x00000000023029D7,"Malonscibe",0x512,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x00000000023029D7,"Malonscibe",0x512,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x0000000001DD7671,"Nimune",0x512,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000001DD7671,"Nimune",0x512,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x0000000001D4A979,"Jaete",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000001D4A979,"Jaete",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0x000000000216D53A,"Kitiera",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x000000000216D53A,"Kitiera",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0x000000000231FE31,"Nodamé",0x512,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x000000000231FE31,"Nodamé",0x512,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.468 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x00000000023707CB,"Teoria",0x512,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.468 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x00000000023707CB,"Teoria",0x512,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0x0000000001DBA6D3,"Seku",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000001DBA6D3,"Seku",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0xF14064EB050003C3,"Pink",0x1114,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0xF14064EB050003C3,"Pink",0x1114,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0x0000000002549430,"Tinyshocks",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000002549430,"Tinyshocks",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x0000000002256D62,"Riverna",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000002256D62,"Riverna",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x00000000018E8C36,"Philw",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x00000000018E8C36,"Philw",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0x00000000021DB7DE,"Elanyne",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x00000000021DB7DE,"Elanyne",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0xF14064EE1B0003BF,"Buslä",0x1114,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0xF14064EE1B0003BF,"Buslä",0x1114,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0x000000000240330E,"Assail",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x000000000240330E,"Assail",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0xF14062F22E0003BE,"Limbtaker",0x1114,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0xF14062F22E0003BE,"Limbtaker",0x1114,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0x00000000022691AA,"Horseradish",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x00000000022691AA,"Horseradish",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF1406564210003BD,"Quzuri",0x1114,0xF140684FD00003C4,"Piripiri",0x1114,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0xF140684FD00003C4,"Piripiri",0x1114,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x0000000001D41442,"Sorata",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000001D41442,"Sorata",0x514,47440,"Commanding Shout",0x1,BUFF
1/26 21:58:50.477 SPELL_AURA_REMOVED,0xF14041056F0003BC,"Tarlop",0x1114,0x0000000001D4ADE5,"Wessex",0x514,47982,"Blood Pact",0x20,BUFF
1/26 21:58:50.477 SPELL_AURA_APPLIED,0x00000000020F7A51,"Frisli",0x514,0x0000000001D4ADE5,"Wessex",0x514,47440,"Commanding Shout",0x1,BUFF

in 20 millisecondi avviene questo spam che impatta su tutti gli addon che avete installato. L'unico modo per evitarlo è ridurre al minimo in un raid i buff dello stesso tipo. Nell'esempio fatto, se il Warr ha buffato tutti con il Commanding Shout è totalmente inutile tenere un Imp con Blood Pact, anche in virtù del fatto che il primo è un buff del personaggio, mentre il secondo è un effetto centrato sull'Imp (e si sposta con lui).

Quello che invece al momento non è possibile evitare, ed è causa di frequenti disconnessioni, è questo caso:

1/26 21:58:58.959 SPELL_CAST_SUCCESS,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000000000000,nil,0x80000000,61251,"Power of Vesperon",0x1
1/26 21:58:58.959 SPELL_CAST_SUCCESS,0xF1300076F30066DA,"Shadron",0xa48,0x0000000000000000,nil,0x80000000,58105,"Power of Shadron",0x1
1/26 21:58:58.959 SPELL_CAST_SUCCESS,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000000000000,nil,0x80000000,61248,"Power of Tenebron",0x1
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x00000000021DB7DE,"Elanyne",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0xF1406564210003BD,"Quzuri",0x1114,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x00000000018E8C36,"Philw",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0xF14064EE1B0003BF,"Buslä",0x1114,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x00000000024EB4DC,"Eggbotnic",0x10514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0xF14064EB050003C3,"Pink",0x1114,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x00000000023707CB,"Teoria",0x512,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x000000000255B2A7,"Adficium",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000001DBA6D3,"Seku",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000001588438,"Pantofche",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000001D4A979,"Jaete",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x000000000216D53A,"Kitiera",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000001D42674,"Cadrach",0x511,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000002256D62,"Riverna",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000002422282,"Apneatic",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x000000000231FE31,"Nodamé",0x512,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x000000000035718A,"Valoz",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0xF140684FD00003C4,"Piripiri",0x1114,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000001D4ADE5,"Wessex",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0xF150007F8000688E,"Traveler's Tundra Mammoth",0x1114,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x00000000023029D7,"Malonscibe",0x512,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x000000000102694B,"Mumraa",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000000276DFB,"Mokhlor",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0xF14041056F0003BC,"Tarlop",0x1114,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000001D41442,"Sorata",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000001D97F00,"Exewu",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x00000000020F7A51,"Frisli",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x000000000240330E,"Assail",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0xF14062F22E0003BE,"Limbtaker",0x1114,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000002549430,"Tinyshocks",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x00000000022691AA,"Horseradish",0x514,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F10066DB,"Vesperon",0xa48,0x0000000001DD7671,"Nimune",0x512,61251,"Power of Vesperon",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x00000000021DB7DE,"Elanyne",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0xF1406564210003BD,"Quzuri",0x1114,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x00000000018E8C36,"Philw",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0xF14064EE1B0003BF,"Buslä",0x1114,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x00000000024EB4DC,"Eggbotnic",0x10514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0xF14064EB050003C3,"Pink",0x1114,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x00000000023707CB,"Teoria",0x512,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x000000000255B2A7,"Adficium",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000001DBA6D3,"Seku",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.354 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000001588438,"Pantofche",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000001D4A979,"Jaete",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x000000000216D53A,"Kitiera",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000001D42674,"Cadrach",0x511,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000002256D62,"Riverna",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000002422282,"Apneatic",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x000000000231FE31,"Nodamé",0x512,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x000000000035718A,"Valoz",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0xF140684FD00003C4,"Piripiri",0x1114,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000001D4ADE5,"Wessex",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0xF150007F8000688E,"Traveler's Tundra Mammoth",0x1114,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x00000000023029D7,"Malonscibe",0x512,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x000000000102694B,"Mumraa",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000000276DFB,"Mokhlor",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0xF14041056F0003BC,"Tarlop",0x1114,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000001D41442,"Sorata",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000001D97F00,"Exewu",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x00000000020F7A51,"Frisli",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x000000000240330E,"Assail",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0xF14062F22E0003BE,"Limbtaker",0x1114,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000002549430,"Tinyshocks",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x00000000022691AA,"Horseradish",0x514,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F30066DA,"Shadron",0xa48,0x0000000001DD7671,"Nimune",0x512,58105,"Power of Shadron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x00000000021DB7DE,"Elanyne",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0xF1406564210003BD,"Quzuri",0x1114,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x00000000018E8C36,"Philw",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0xF14064EE1B0003BF,"Buslä",0x1114,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x00000000024EB4DC,"Eggbotnic",0x10514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0xF14064EB050003C3,"Pink",0x1114,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x00000000023707CB,"Teoria",0x512,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x000000000255B2A7,"Adficium",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000001DBA6D3,"Seku",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000001588438,"Pantofche",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000001D4A979,"Jaete",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x000000000216D53A,"Kitiera",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000001D42674,"Cadrach",0x511,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000002256D62,"Riverna",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000002422282,"Apneatic",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x000000000231FE31,"Nodamé",0x512,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x000000000035718A,"Valoz",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0xF140684FD00003C4,"Piripiri",0x1114,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000001D4ADE5,"Wessex",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0xF150007F8000688E,"Traveler's Tundra Mammoth",0x1114,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x00000000023029D7,"Malonscibe",0x512,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x000000000102694B,"Mumraa",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000000276DFB,"Mokhlor",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0xF14041056F0003BC,"Tarlop",0x1114,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000001D41442,"Sorata",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000001D97F00,"Exewu",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x00000000020F7A51,"Frisli",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x000000000240330E,"Assail",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0xF14062F22E0003BE,"Limbtaker",0x1114,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000002549430,"Tinyshocks",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x00000000022691AA,"Horseradish",0x514,61248,"Power of Tenebron",0x1,DEBUFF
1/26 21:58:59.402 SPELL_AURA_APPLIED,0xF1300076F40066D9,"Tenebron",0xa48,0x0000000001DD7671,"Nimune",0x512,61248,"Power of Tenebron",0x1,DEBUFF

E' una quantità enorme di dati trasmessa in un tempo brevissimo. L'unico modo che abbiamo per gestire questo burst di dati è quello di utilizzare hardware e software ottimizzato al meglio.

L'ultimo passo infatti è proprio quello di lavorare sul "ferro" della vostra macchina, ad esempio evitando dove possibile collegamenti wireless, che sono forse più comodi dei classici wired, ma decisamente meno performanti e soggetti ad errori ed interferenze esterne. In caso di errori i dati non vengono riconosciuti dal client che ne chiede il reinvio, aumentando così il traffico ed il ritardo del flusso, che porta quindi ad accumuli nel buffer di comunicazione.

Altra cosa da fare è disabilitare le funzioni di risparmio di energia della scheda di rete (a meno che non vi colleghiate da un portatile). La Blizzard ha pubblicato in questo articolo una serie di consigli atti a limitare o risolvere i problemi di disconnessione relativi a vari dispositivi.

Se tutte le informazioni fornite non vi hanno aiutato ad abbassare la latenza in gioco e risolvere i problemi di frequenti disconnessioni provate a considerare l'ipotesi di aggiornare il vostro hardware, iniziando magari dal router ADSL. Altra cosa, noiosa ma estremamente utile, è quella di procedere disabilitando tutti gli addons, per poi riattivarli uno ad uno per vedere quale vi crea problemi. Trovato il responsabile verificate se è aggiornato e se il problema è a conoscenza degli autori. In caso contrario segnalatelo, farete un favore a voi e all'intera comunità.

Nota finale: tutti i metodi sopra elencati non vi aiuteranno a diminure la lag grafica, che impatta sul framerate. Quella è dipendente dalla potenza del vostro sistema (in primis RAM e scheda video), ed è strettamente subordinata al tipo di risoluzione grafica che avete impostato e qualità degli effetti. In questo caso disabilitate il Vsync e il Triple Buffering e tutte le funzioni di ombre ed illuminazione, abbassate il Multisampling ad 1x, abbassate al minimo tutte le restanti barre (densità, distanza del terreno, ecc). Provate a verificare anche se il vostro sistema gira meglio full screen o in modalità finestra. Mantenete sempre aggiornati i driver della scheda video, spolverate di frequente il case, sopratutto i vari dissipatori e ventole all'interno, magari aiutandovi con le bombolette di aria compressa e se tutto ciò non basta, iniziate a mettere da parte i soldi per un upgrade hardware o un nuovo pc.

Buon modding.

mercoledì 11 marzo 2009

AddOns Spotlight: Need To Know

Esistono una miliardata di Addons per Wow, dei quali almeno la metà è pura spazzatura e buona parte del rimanente è utile quanto avere la sabbia nelle mutande. Alcuni però sono delle vere chicche, praticamente imperdibili per chi vuole giocare seriamente, che di per se è un orrendo ossimoro, ma rende bene l'idea.

Accantono per un momento quelli più conosciuti e blasonati per parlare di un piccolo, ma indiscutibilmente utile, Addon: NeedToKnow. Tradotto potrebbe suonare "fammi sapere solo quello che voglio sapere", ed è quello che fa. E lo fa egregiamente.

Per prima cosa vorrei ringraziare il buon Crenshaw, CL dei Rogue della mia gilda, per avermelo fatto conoscere. In effetti è un Addon credo studiato inizialmente per i Rogue, ma vista la sua versatilità è adattabile pressoché ad ogni altra classe. Detto questo, vediamo perché mi spello le mani per applaudire chi l'ha concepito.

In genere gli Addon di WoW hanno lo stesso difetto dei programmi Micro$oft: fanno un sacco di cose, la maggior parte delle quali totalmente fuori dal controllo dell'utente, e per farlo impegano uno sproposito di risorse. NTK è leggerissimo, occupa poca memoria, è configurabile in modo semplice ed intuitivo e, suo maggior pregio, non rompe le palle se non gli viene chiesto di farlo.

Vediamo come si comporta all'atto pratico. Il comando per attivare la visualizzazione e configurazione delle barre è /ntk. Digitandolo appariranno 3 barre (grigie) di default. Cliccando DX su una qualsiasi barra si apre il menu vero e proprio. Da qui è possibile stabilire se vogliamo tenere traccia di un buff o di un debuff, su noi o sul target, i canoni con cui vogliamo che venga eseguito il compito e la parte grafica (colori e stili delle barre, dimensioni, ecc). Al termine della configurazione potremo spostare la barra, o il set di barre, dove ci aggrada nello schermo, digitare nuovamente /ntk e il nostro amico da quel momento in poi ci avviserà quando il particolare evento si attiverà, tenendone traccia per tutta la sua durata.

Avete capito il trucco? Invece di sparaflasharvi lo schermo con mille timer grafici che si attivano anche quando il vostro personaggio starnutisce, questo di base non fa nulla. Sarete voi che, a seconda del vostro stile di gioco e del gusto personale, lo dovrete educare, crescendolo discreto o molesto, come più vi aggrada.

Personalmente l'ho settato principalmente per i proc di Art of War. In passato utilizzavo "Bang! Art of War", che si presentava esattamente in stile Windows Vista: 2 mega di addon, librerie e suoni incorporati per dirmi quello che Ntk fa in meno di 60K di memoria. Le possibilità sono innumerevoli, ad esempio un Mago potrebbe tener traccia della durata di Frost Nova su un target o del proc di una Pyro istant, un Hunter dell'attivazione di Lock and Load, e così via.

Va detto subito che le possibilità sono molteplici, non infinite, per cui non aspettatevi che rifaccia il letto e vi prepari colazione. In sintesi, questo Addon a me piace perché è "sincero", minimalista ed efficace. Resta solo da sperare che le future implementazioni non lo appesantiscano con inutili fronzoli.