Ossia:
/map
Server1.FunnyNet.org (128) 2
|-stats.funnynet.org (3)
|-Server2.FunnyNet.org (112) 3
| `-Server3.FunnyNet.org (59) 1
|-services.funnynet.org (24)
|-Server4.FunnyNet.org (120) 4
`-Server5.FunnyNet.org (75) 5
End of /MAP
Iniziamo a spiegare, per chi magari non lo sapesse, cos'è
il map:
il map è un comando molto simile al comando /links,
e visualizza una vera e propria mappa del Network IRC (come
si può vedere qui sopra).
Se siete pratici di eggdrop è un pò come fare
un ".bottree"
vi restituisce "l'albero dei link".
al primo posto come vedete c'è il nome del server,
fra parentesi il numero utenti presenti
sul server, e alla fine il numero che identifica il server
(chi usa unreal sa a cosa mi riferisco).
Perchè disabilitare questo comando? è tanto
carino e utile!
SEMPLICE!
Si, questo comando è molto utile ma anche molto
esposto, cosa intendo:
Esporre a tutti gli utenti il proprio link map è
pericoloso per via del fatto
che si viene a scoprire quale sia l'Hub principale e dove
siano linkati i Services.
Questo è pericoloso soprattutto per gli attacchi
al server, se volessi fare un attacco
alla vostra rete punterei all'hub o all'ircd in cui sono
linkati i services.
per questo è bene (anche se non assolutamente necessario)
disabilitare questo comando.
Ma veniamo alla pratica:
------------------------
I files che ci interessano sono contenuti ovviamente nella
cartella src del vostro unreal
(sto utilizzando files dell'unreal3.2 beta10 ma non dovrebbero
esserci grossi cambiamenti
nelle versioni più vecchie) e sono s_serv.c e packet.c
(quest'ultimo non è necessario
ma è buona cosa sapere a cosa serve)
bene apriamo il primo file ossia s_serv.c con un qualsiasi
editor di testo:
andiamo a cercare:
/*
* New /MAP format -Potvin
* dump_map function.
*/
ora dobbiamo commentare tutto ciò che viene dopo
questo (o meglio il code completo
del dump_map) oppure cancellarlo anche se non velo consiglio
(non preoccupatevi se
non riuscite a capire immediatamente, allegherò questo
file già modificato da me e
funzionante al 100% :P) s_serv.c (Usare salva oggetto con
nome)
inseriamo questo code:
void dump_map(cptr) {
sendto_one(cptr, "comando Map disabilitato");
}
ora cerchiamo il secondo e ultimo punto da modificare:
/*
** New /MAP format. -Potvin
** m_map (NEW)
**
** parv[0] = sender prefix
** parv[1] = server mask
**/
anche qui è bene commentare (/* code */) il code
che viene dopo il commento indicato qui sopra
dopo andremo ad aggiungere questo:
CMD_FUNC(m_map) {
sendto_one(cptr, "comando Map disabilitato");
}
fine!
non è poi così difficile se conoscete un minimo
di c.
in allegato a questo tutorial troverete il file s_serv.c
modificato
vi consiglio di farlo da soli, se non riuscite scaricate
il file ma perlomeno leggete
attentamente il file e i code aggiunti.
packet.c:
---------
Azz0, perchè ci hai parlato di questo file se poi
non lo abbiamo modificato?
Vi ho parlato del file packet.c perchè continene
la stringa che abilita il comando /map
o meglio, + che abilita AGGIUNGE il comando.
la stringa è la seguente:
add_Command(MSG_MAP, TOK_MAP, m_map, MAXPARA);
Qualcuno magari vorrebbe disabilitare del tutto questo
comando
cancellando il code da s_serv.c e commentando quella stringa.
sì, basterà commentare questa stringa in questo
modo:
/* add_Command(MSG_MAP, TOK_MAP, m_map, MAXPARA); */
ed il gioco è fatto il comando /map non esiste più.
è una soluzione abbastanza drastica, le vecchie abitudini
non si perdono e quindi non si perde neanche il vizio di
dare dei /map su ogni server in cui entriamo, quindi credo
che un bel messaggio di info sia meglio di un "map
Unknow command" decidete voi quale soluzione sia la
migliore :)
Ciao, alla prossima!
/*
** Azz0
|