Página anterior | Voltar ao início do trabalho | Página seguinte |
Este script quando executado, chamará o programa screen para rodar em background o programa xchat-text. Mas se ele está em background, como diremos à ele para conectar a um certo servidor e entrar em um certo canal? Para isso faremos um script em perl. Crie o arquivo "/var/fserver/.xchat/script.pl" com o seguinte conteúdo:
#!/usr/bin/perl -w
# Função que entra identifica o nick, liga o file server e entra nos canais
sub entrarcanais {
IRC::command("/nickserv identify minhasenha");
IRC::command("/fs on");
IRC::command("/join #canal");
}
# Inicialmente conectar no servidor e depois de 1 minuto (6000 milisegundos),
# executar a função acima "entrarcanais"
IRC::command("/server irc.brasnet.org");
IRC::add_timeout_handler(60000,"entrarcanais");
# Função que de 5 em 5 minutos atualiza o file server
sub flushfiles {
IRC::command("/fs on");
IRC::command("/fs update_files");
IRC::add_timeout_handler(300000,"flushfiles");
}
# Ativa o timer que executa a fução flushfiles em 5 minutos
IRC::add_timeout_handler(300000,"flushfiles");
Pronto, agora quando o xchat-text for iniciado, ele automaticamente vai carregar este script em perl. Agora falta configuramos melhor o xchat. Por padrão, a interface texto não cria um xchat.conf muito decente. Então sobrescreva o arquivo "/var/fserver/.xchat/xchat.conf" colocando o seguinte conteúdo:
auto_indent = 1
auto_resume = 1
auto_unmark_away = 0
autodccchat = 1
autodccsend = 1
autodialog = 1
autoopendccchatwindow = 1
autoopendccrecvwindow = 1
autoopendccsendwindow = 1
autoreconnect = 1
autoreconnectonfail = 1
autorejoin = 1
autosave = 1
autosaveurl = 0
awayreason = I'm busy
background_dialog_pic =
background_pic =
ban_type = 0
beep_msg = 1
beep_chans = 0
bluestring =
chanmodebuttons = 1
channelbox = 0
cmdchar = /
colorednicks = 0
ctcp_number_limit = 5
ctcp_time_limit = 30
dcc_blocksize = 4096
dcc_ip =
dcc_permissions = 420
dcc_remove = 0
dcc_send_fillspaces = 1
dcc_stall_timeout = 60
dcc_timeout = 180
dccdir = /var/fserver/incoming
dccwithnick = 0
dialog_height = 100
dialog_indent_nicks = 1
dialog_indent_pixels = 80
dialog_show_separator = 1
dialog_tint = 1
dialog_tint_blue = 151
dialog_tint_green = 151
dialog_tint_red = 151
dialog_transparent = 1
dialog_width = 300
dialog_wordwrap = 1
dnsprogram = host
doubleclickuser = /QUOTE WHOIS %s
fastdccsend = 1
filterbeep = 0
first_dcc_send_port = 0
font_dialog_normal = -misc-fixed-medium-r-semicondensed-*-13-*-*-*-c-*-iso8859-15
font_normal = -misc-fixed-medium-r-semicondensed-*-13-*-*-*-c-*-iso8859-1
font_shell =
fudgeservernotice = 0
hide_version = 0
hidemenu = 0
hideuserlist = 0
hilight_notify = 0
hilightnick = 1
host_in_userlist = 0
hostname =
indent_nicks = 1
indent_pixels = 80
inputgad_superfocus = 1
invisible = 0
ip_from_server = 1
lagometer = 2
last_dcc_send_port = 0
limitedtabhighlight = 1
logging = 0
logmask = %s,%c.xchatlog
mail_check = 0
mainwindow_height = 477
mainwindow_left = 121
mainwindow_save = 1
mainwindow_top = 178
mainwindow_width = 714
max_auto_indent = 256
max_lines = 3000
msg_number_limit = 5
msg_time_limit = 30
newtabs_to_front = 1
nick_suffix = :
nickcompletion = 1
nickgad = 1
nickname1 = Nick1DoFserver
nickname2 = Nick2DoFserver
nickname3 = Nick3DoFserver
notices_tabs = 0
notify_timeout = 15
nu_color = 4
old_nickcompletion = 0
paned_userlist = 0
partreason = Client Exiting
percascii = 0
perccolor = 1
perlwarnings = 0
persist_chans = 1
pingtimeout = 0
priv_msg_tabs = 1
proxy_host =
proxy_port = 0
proxy_type = 0
quitreason = Client Exiting
raw_modes = 0
realname = Campo Nome
reconnect_delay = 10
servernotice = 1
show_away_message = 1
show_away_once = 1
show_invite_in_front_session = 0
show_notify_in_front_session = 0
show_separator = 1
skipmotd = 0
skipserverlist = 1
stamp_format = [%H:%M:%S]
stripcolor = 0
style_inputbox = 1
style_namelistgad = 0
tabchannels = 1
tabs_position = 0
thin_separator = 1
throttle = 1
throttlemeter = 2
timestamp = 0
timestamp_logs = 0
timestamp_log_format = %b %d %H:%M:%S
tint = 1
tint_blue = 151
tint_green = 151
tint_red = 151
topicbar = 1
transparent = 1
trans_file =
treeview = 0
truncchans = 0
use_fontset = 1
use_server_tab = 0
use_trans = 0
userhost = 1
userlist_sort = 0
userlist_icons = 1
userlistbuttons = 1
username = fserver
wallops = 1
whois_on_notifyonline = 0
windows_as_tabs = 1
wordwrap = 1
Sim, este é um arquivo de configuração para o X-Chat modo gráfico, mas as opções que tem a mais não vão influenciar em nada, e tudo que queremos vai estar aí. Você só precisa modificar as linhas que estão em negrito, que são os campos de Nick, Nome Real, Username, entre outros. Veja que também a linha "dccdir = /var/fserver/incoming" dirá que todo arquivo que o file server pegar vai para este diretório. Nesta configuração o DCC Get está habilitado para pegar automaticamente os arquivos, mas se você quiser desabilitar isso, mude no arquivo acima o valor da variável "autodccsend" para 0.
Agora só falta uma coisa: O File Server! Mas é bem simples. Coloque o arquivo "obsidian-0.9.1-pre3.pl" que você baixou no diretório "/var/fserver/.xchat". O X-Chat irá carregar este script automaticamente na inicialização. E parar configurar, crie um arquivo chamado "/var/fserver/.xchat/obsidian.conf" com o seguinte conteúdo:
debug:0
ctcptrigger:1
restorequeues:1
autoon:1
notice_as_msg:0
short_notice:0
raw_chnl_msg:1
raw_wlcm_msg:0
open_tab_early:1
close_tab_auto:0
case_cmd:0
case_file:0
fs_sensitive:0
count_sends:1
send_small_now:1
ads_when_full:1
priority_op:1
priority_voice:1
max_users:10
max_sends:3
max_queues:20
slots_big:1
slots_med:4
slots_small:10
size_big:30000000
size_med:1000000
max_fails:5
min_speed:0
idle_time:180
trigger:!boboalegre
serve_no_notify:#testchnl2
serve_hidden:#testchnl3
notify_to_voice:#testchnl2
notify_channels:#canal
notify_timeout:0
root_dir:/var/fserver/fserver
note:Aqui estão alguns arquivos!! XUGUEM!
auto_backup:60
logo:^C14[^C13Oßsidian FServe^C14]^C
c1:^C13
c2:^C14
c3:^C13
c4:^C15
As linhas em negrito são as principais que você tem que mudar. Vou explicá-las:
priority_op:1 - Dá prioridade para os OPs no file server, ou seja, eles entram na frente de todo mundo na fila dos queues! :)
priority_voice:1 - Mesma coisa do item acima, só que para os que tem voice.
max_users:10 - Quantos usuários podem dar uma olhada no file server ao mesmo tempo.
max_sends:5 - Quantos envios simultâneos o file server pode fazer (1 por pessoa).
max_queues:50 - Quantos queues (ou slots) podem ser ocupados no file server.
slots_big:1 - Quantos slots uma pessoa pode ter com arquivos grandes.
slots_med:4 - Quantos slots uma pessoa pode ter com arquivos médios.
slots_small:10 - Quantos slots uma pessoa pode ter com arquivos pequenos.
size_big:30000000 - Qual o tamanho em bytes para um arquivo ser considerado grande (Aqui: 30MB
size_med:1000000 - Qual o tamanho em bytes para um arquivo ser considerado médio (Aqui: 1MB)
max_fails:5 - Quantas falhas a transfer6encia pode ter até ser cancelado o slot/queue.
trigger:!boboalegre - Qual o trigger do file server.
notify_channels:#canal - Quais canais notificar, separados por virgula
notify_timeout:0 - De quanto em quanto tempo anunciar o file server? (0 = Modo em Silêncio)
root_dir:/var/fserver/fserver - Diretório onde ficam os arquivos do file server
note:Aqui estão alguns arquivos!! XUGUEM! - Mensagem do file server
Você pode mexer nas outras opções também, mas eu não recomendo. Vá testando os valores até você ver que ficou perfeito para você e seu file server. Agora é só rodar o file server com o seguinte comando:
$ /var/fserver/bin/fserver start
E esperar um pouco para que seu file server entre no canal já funcionando. Caso você queira mexer no file server interativamente, você pode a qualquer momento chegar no prompt de comando e digitar:
$ screen -r fserver
Isso irá restaurar a janela do file server, e você poderá utilizar ele como quiser. Inclusive mudar as configurações em tempo real com o comando "/fs". Para poder voltar ao prompt de comando sem ter que sair do xchat-text, utilize a seqüência de teclas CTRL+A D (CTRL+A, solta e aperta D logo em seguida).
Prooooooooooonto! Foi tão difícil assim? Esse método é ótimo para as pessoas que tem várias máquinas rodando Linux por aí, principalmente porque você pode controlar os file servers via SSH, sem a necessidade de interface gráfica nenhuma. Mas isso tudo funciona com interface gráfica também, é só colocar o script perl do obsidian e o arquivo de configuração no diretório .xchat do seu home, que ao xchat gráfico iniciar, ele também irá carregar o script com as configurações. Boa sorte!
Hugo Cisneiros - hugo[arroba]devin.com.br. Última atualização em 04/02/2003
El prsente trabajo fue publicado originalmente en: http://www.devin.com.br/
Página anterior | Voltar ao início do trabalho | Página seguinte |
|
|