Xcaliber Power Guide..!!
ioFTPD
ioFTPD Korea Docs
ioFTPD Korea Docs Forum
 
Total Commander
토탈 커맨더 - 한국 유저 포럼
 
FTP
FTP는 File Transfer Protocol(파일 전송 프로토콜)의 약자로 서로 떨어져 있는 컴퓨터 끼리 파일을 주고 받기 위한 통신 상의 규약을 말합니다.
FTP 강좌에서는 FTP의 고급활용에 대해 다룹니다.
IRC
IRC란 Internet Relay Chat의 약자로 여러분은 IRC를 통하여 전세계 사람들과 실시간으로 이야기를 나눌 수 있습니다.
IRC 강좌에서는 Bouncer사용법등 고급활용에 대해 다룹니다..
Eggdrop
여러 언어로 개발되어 사용되고 있는 IRC bot중 Eggdrop은 1993년 GNU General Public License (GPL)를 따르는 Open Source Project로 개발 되었으며, Eggdrop은 IRC Client/bot으로서의 기능을 모두 갖추고 있기 때문에 사용자가 원하는 기능을 Tcl언어등으로 된 Plugin을 추가하는 것만으로 쉽게 IRC bot을 제작할 수 있어 가장 널리 사용되고 있는 강력한 bot입니다. Eggdrop 강좌에서는 Tcl언어로 된 플러긴을 이용한 IRC bot의 활용과 채널의 유지/관리를 다룹니다.
Home > Lecture :: Q&A :: GuestBook ::


  전체[17]   FTP (1)   IRC (3)   Appz Review (1)   Eggdrop (11)   ETC (1) 
11   1/1   로그인
     2002-07-18 09:27:09    13,900  
    2. Eggdrop 설치.

2. Eggdrop 설치.


  1) 리눅스에서의 설치
  2) 윈도우에서의 설치
  3) eggdrop.conf 수정


------------------------------------------------------------------

1) 리눅스용 설치

- 자신의 계정에 ftp 로 파일을 올린다.

- telnet 으로 접속해서 압축을 푼다. (tar xfvz eggdrop1.6.10.tar.gz)
   다운받기 : eggdrop1.6.10.tar.gz

- 압축을 푼 디렉토리로 들어간다. (cd eggdrop1.6.10)

- 컴파일을 시작한다 (./configure)

- Tcl라이브러리가 안깔려 있다면 컴파일중 에러가 납니다. 안깔려 있으신 분은 받으세요.
    한글지원 Tcl : tcl8.0.5.tar.gz       최신 Tcl(한글 지원안됨) : tcl8.3.4.tar.gz
  
- 컴파일이 제대로 완료 되었다면 make config 를 한다. (make config)

- Config가 완료되면 make 시작. (make)


- make 가 완료되면 make install DEST=설치할 위치(절대경로)
  예) make install DEST=/home/xpg/eggdrop

- Installation completed. 되면 컴파일은 완료 된겁니다.


- 컴파일한 디렉토리에 보면 eggdrop.simple.conf 라고 있습니다.
   이 화일을 bot의 닉으루 해서 인스톨한 디렉에 복사를 합니다.
  ex) cp eggdrop.simple.conf /home/xpg/eggdrop/eggdrop.conf

- 인스톨 된 디렉으로 이동. (cd /home/xpg/eggdrop)

- 에디터로 eggdrop.conf를 열서 수정준비를 합니다.

- 첫째줄에 보시면 #! /path/to/executable/eggdrop  라는 부분이 있을꺼예요.
  이걸 #!/home/xpg/eggdrop 으로 고쳐줍니다.
  (xpg대신 자신의 계정 디렉으로 해주시고 윈도우에서 설치할때는 수정안하셔도 됩니다.)

여기까지는 리눅스에서 설치할때의 과정입니다. 윈도우용설치를 간단히 언급한후 eggdrop.conf 수정을 하겠습니다.


2) 윈도우용 설치

- 윈도우용 Eggdrop을 다운받으신후 적당한곳에 압축을 풉니다. (c:\eggdrop)
    한글지원 : windrop1.6.8-handlen32tcl80.exe  최신버젼 : windrop1.6.10.exe

- 압축해제한 폴더로 이동후 eggdrop.simple.conf를 eggdrop.conf로 이름을 바꾸거나 복사하세요.

- 여기까지 위에 리눅스용 Eggdrop과 같은 환경이 되었습니다. 윈도우 용은 너무 간단한가요? ^_^

- 참고 사항
   eggdrop.simple.conf
   eggdrop.advanced.conf → 숙련자용
   eggdrop.complete.conf → 전문가용
여기서는 머리안아프게 eggdrop.simple.conf 설정화일로 설명합니다.


3) resolv.conf 설정화일의 수정
  이 설정화일에는.. DNS 서버를 적어주시면 됩니다.
   # resolv.conf
   #
   # search = domain list
   # nameserver = DNS server list
   #
   #search super.net
      nameserver 168.126.63.1<--보통 한통 DNS서버를 적어주시면 됩니다.

4) eggdrop.conf 설정화일의 수정

#! /path/to/executable/eggdrop <-- 윈도우용은 그냥 두셔도 되고 리눅스는 위에 말한것처럼 수정해 주세요.
# ^- Set that to the directory eggdrop is in, i.e. "#! /home/lamest/egg/eggdrop"
#
# $Id: eggdrop.simple.conf,v 1.18 2002/03/09 21:14:14 wcc Exp $
#
# This is a sample configuration file for your bot.  You will definitely
# want to edit this to set up your bot. Right now, it creates a bot called
# "LamestBot" which sits on the channel #lamest.
#
# More options can be found in files in doc/settings/.
#
# IMPORTANT: Remember to make install and cd to the directory it created
# (~/eggdrop by default) before you continue. Running the bot from
# eggdrop1.6.x/ will not work.
#
# PLEASE EDIT THIS FILE COMPLETELY! YOUR BOT WILL NOT FUNCTION PROPERLY IF
# YOU DO NOT CONFIGURE IT CORRECTLY! WE CAN NOT STRESS THIS ENOUGH!
#
# More options can be found in the files in doc/settings/.

//기본적인 모듈을 선언하는 부분입니다. 수정안하셔도 됩니다.

# Don't edit the following 12 lines.
set mod-path "modules/"
set help-path "help/"
set text-path "text/"
loadmodule dns
loadmodule channels
loadmodule server
loadmodule ctcp
loadmodule irc
loadmodule notes
loadmodule console
loadmodule blowfish

# Start configuring here! // 세부 설정은 여기서 부터 시작입니다.

##### Settings:

# Set the nick the bot uses on IRC, and on the botnet
# unless you specify a separate botnet-nick, here.
set nick "Lamestbot"   <-- bot의 Nick이 되는 부분입니다. (예: xpg_bot) 원하시는 이름으로 수정하세요.

# Set the alternative nick which the bot uses on IRC if the nick specified by 'set nick'
# is unavailable. All '?' characters will be replaced by random numbers.
set altnick "Llamab?t"  <-- 위에 설정해준 닉을 누가 먼저 쓰고있다면 altnick으로 IRC서버에 접속합니다.

# Set here what should be displayed in the real-name field for the bot on IRC.
set realname "/msg LamestBot hello" <-- IRC 채널에서 whois했을때 보여지는 메세지.

# This is the bot's server list. The bot will start at the first server listed,
# and cycle through them whenever it gets disconnected. You need to change these
# servers to YOUR network's servers.
#
# The format is:
#   server[:port[:password]]
#
# Both the port and password fields are optional; however, if you want to set a
# password you must also set a port. If a port isn't specified it will default to
# your default-port setting.
set servers {
  you.need.to.change.this:6667  <-- 이곳에 접속할 IRC서버를 입력합니다. (예:irc.dankun.net:6667)
}

# This adds the channel #lamest to the bot's channel list. You should change
# this to a channel you would like the bot to join.
channel add #lamest {    <-- #lamest 대신 조인할 channel이름을 적어줍니다. (예: #xpg)
  chanmode "+nt-likm"
  idle-kick 0
  stopnethack-mode 0
  revenge-mode 0  //파란글씨로 되어있는 부분은 eggdrop.simple.conf에는 없는 부분입니다.
  flood-chan 100:10  //이부분을 복사해서 추가해주세요..
  flood-deop 3:10  //안그러면 bot이 툭하면 kick하고 Deop에 복수로 대응하게 됩니다.
  flood-kick 3:10
  flood-join 3:10
  flood-nick 3:10
  flood-ctcp 0:0

}

//이아래 #lamest부분도 위에 적어준 채널로 바꿔 주세요. (예: #xpg) - 옵션은 설정이 다끝난후 아래 설명하겠습니다.
channel set #lamest +enforcebans +dynamicbans +userbans
channel set #lamest +dynamicexempts +userexempts +dynamicinvites +userinvites
channel set #lamest -autoop -bitch +protectops +protectfriends +dontkickops
channel set #lamest +greet +statuslog
channel set #lamest +revenge +autovoice
channel set #lamest -secret -shared +cycle
channel set #lamest -inactive -seen +nodesynch

//네트웍 타입은 기본으로 되어있는 0으로 하시면 됩니다.
# [0/1/2/3/4/5] What is your network?
# 0 = EFnet (non +e/+I hybrid)
# 1 = IRCnet
# 2 = Undernet
# 3 = DALnet
# 4 = EFnet +e/+I hybrid
# 5 = Others
set net-type 0

//이부분은 telnet으로 데이타를 받는 포트를 지정하는 부분. 수정안하셔도 됩니다.
# Set here the port where the eggdrop should listen for telnet connections.
listen 3333 all

# Un-comment the next line and set the list of owners of the bot.
# You NEED to change this setting.
#set owner "MrLame, MrsLame" <-- bot의 주인정보를 입력하는 부분입니다. 수정안하셔도 무방

##### Files & Directories:

# The following two lines define where to store the bots user and
# channel files.
set userfile "LamestBot.user" <-- bot에 등록될 유저정보가 들어가는 화일입니다.(예:xpg.user)
set chanfile "LamestBot.chan" <-- Join한 채널의 정보가 들어가는 화일입니다.(예:xpg.chan)


# This defines where the bot should store temp files.
set temp-path "/tmp"

# This creates a logfile named eggdrop.log containing private msgs/ctcps,
# commands, errors, and misc. info from any channel.
logfile msbxco * "logs/eggdrop.log"

# This creates a logfile of joins, parts, netsplits, kicks, bans,
# mode changes, and public chat on the channel #lamest.
logfile jpk #lamest "logs/lamest.log" <--이부분도 수정한 채널이름으로 바꿔주시구요.

# Set the default console flags here.
set console "mkcobxs"

##### Uptime module:

# This module reports uptime statistics to http://uptime.eggheads.org.
# Go look and see what your uptime is! It takes about 9 hours to show up,
# so if your bot isn't listed, try again later.
#
# Information sent to the server includes the bot's uptime, botnet-nick,
# server, version, and IP address. This information is stored in a temporary
# logfile for debugging purposes only. The only publicly available information
# will be the bot's botnet-nick, version and uptime. If you do not wish for this
# information to be sent, comment out the following line.
loadmodule uptime

# You have to remove this line to make your bot start.
die "you didn't edit your config file! that's a NO NO" <-- 이부분은 앞에 주석을 달아주시던가 아예 지워버리세요. 수정안하시면 다 정상적으로 수정하셨다 하더라도 bot이 작동 안합니다.

//아래 부분은 스크립트를 불러오는 부분입니다. Plugin으로 사용하고자 하는 스크립트를 경로에 맞게 추가해주시면 됩니다.
(예:source scripts/tajabot.tcl)


##### SCRIPTS #####

# This is a good place to load scripts to use with your bot.

# This line loads script.tcl from the scripts directory inside your eggdrop's
# directory. All scripts should be put there, although you can place them where
# you like as long as you can supply a fully qualified path to them.
#
# source scripts/script.tcl

source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/compat.tcl
source scripts/userinfo.tcl
loadhelp userinfo.help

이걸루 bot을 띄울 준비가 다 됐습니다.
그럼 bot을 한번 실행해 보기로 하겠습니다.


-  ./eggdrop -m eggdrop.conf 라고 칩니다. 윈도우용은 eggdrop.exe -m eggdrop.conf라고 치시구요.  (bot을 처음 실행할때는 꼭 -m 옵션을 붙여 줘야 합니다.)

- 그럼 채널에 설정한 bot이 Join합니다. bot에게 메세지를 보내세요. 주인이라고 증명해줘야 겠죠..^_^
   /msg 봇닉 hello

- bot이 password를 넣으라고 합니다. 그러면 다음의 명령어를 쳐주세요.
   /msg 봇닉 pass 비밀번호

여기까지 비밀번호까지 입력되었습니다.

- dcc chat을 bot에게 겁니다. (/dcc chat 봇닉)
  Waiting for acknowledgement...이 DCC창에서 출력된후..패스워드를 물어옵니다.
  비밀번호 입력하고 엔터.  그럼 봇의 Party Line에 들어오게 된겁니다.
  (윈도우 용의 경우 Owner정보가 제대로 저장이 안는 경우가 있으니 dcc chat으로 연결되었을때 창을 종료하기전 .save명령을 내려 저장하고 빠져나오세요)

여기까지 Eggdrop bot 설치가 완료 되었습니다.


- 추가사항 : 리눅스버젼의 경우 설정화일의 퍼미션을 바꿉니다. (chmod u+x eggdrop.conf)
            다음에 에그드랍을 실행하실때는 ./eggdrop.conf 하시면 실행이 됩니다.
            윈도우용의 경우는 설정화일이 eggdrop.conf로 되어있을때는 eggdrop.exe만 실행하면되고
            별도의 설정화일 이름이라면 eggdrop.exe 설정화일.conf 하시면 실행하실수 있습니다.

- 채널모드옵션
  +clearbans - 일정시간이 지나면 봇이 밴을 지웁니다.
  +enforcebans - 밴 걸린 사람이 채널안에 있으면 봇이 킥합니다.
  +dynamicbans - 봇이 밴시킨 주소를 user 파일에 저장하고있다가 그사람이 들어오면 다시 밴,킥 합니다.
  +userbans - 봇에게 등록된 사람 이외의 사람이 밴을 걸수 있습니다.
  +autoop - 봇에게 등록된 사람에게 오토옵을 줍니다.
  +autovoice - 봇에게 추가된 유저에게 자동으로 보이스 주기
  +bitch - 봇에게 등록안된사람은 무조건 디옵합니다.
  +greet - 등록된 유져가 채널에 들어오면 인사를 뿌립니다.
  +dynamicinvites - 초대 기능
  +protectops - 등록된 유져의 옵을 지킵니다. 디옵되면 다시 봇이 옵을 주게됩니다.
  +statuslog - 로그파일을 남깁니다.
  +userinvites - 유저가 초대하면 봇이 채널에 조인합니다.
  +dontkickops - 오퍼를 킥하지 않습니다.
  +stopnethack - 서버에서 주는 옵을 뺏을것이냐 말것이냐. 넷스플릿 때 옵두 다 뺏어버립니다.
  +revenge - 봇을 디옵하거나 킥한 유져를 기억했다가 복수합니다.
  +revengebot - 이것두 복수.
  +cycle - 채널에 옵이 없으면 옵을 위해 봇이 rejoin 합니다.


eggdrop.complete.conf나 eggdrop.advanced.conf 를 이용한 설정은 좀더 세부적이고 더 강력한 봇으로 만들수 있습니다.

다음 강좌는 Eggdrop 활용에 대해서 살펴보겟습니다.

Kitty™ (2002-07-21 17:15:21)  
흑. 리눅봇도 윈도봇의 eggdrop.conf 그대로 줘도 되요?
(2002-07-22 23:53:40)  
첫째줄만 빼고 윈도용과 똑같습니다.
Chaoser (2003-02-07 18:39:11)
serv2:~/eggdrop$ ./eggdrop -m eggdrop.conf

Eggdrop v1.6.10 (C) 1997 Robey Pointer (C) 2002 Eggheads
[18:33] --- Loading eggdrop v1.6.10 (Fri Feb 7 2003)
[18:33] Module loaded: dns
[18:33] Module loaded: channels
[18:33] Module loaded: server
[18:33] Module loaded: ctcp
[18:33] Module loaded: irc
[18:33] Module loaded: notes (with lang support)
[18:33] Module loaded: console (with lang support)
[18:33] Module loaded: blowfish
[18:33] Module loaded: uptime
[18:33] Userinfo TCL v1.07 loaded (URL BF GF IRL EMAIL DOB PHONE ICQ).
[18:33] use '.help userinfo' for commands.
[18:33] Creating channel file


STARTING BOT IN USERFILE CREATION MODE.
Telnet to the bot and enter 'NEW' as your nickname.
OR go to IRC and type: /msg *****Bot hello <==봇넴지움-_-
This will make the bot recognize you as the master.

[18:33] === ******B: 1 channels, 0 users.
Launched into the background (pid: 17613)

라고만 나오고 정작
채널에는 조인하지 않습니다
물론서버자체에서(IRC)도 잡히지 않고요
머가 문제죠?
WHITE곰 (2003-04-02 19:37:54)
eggdrop.simple.conf 라는 파일이 없는데요... 그냥 eggdrop.conf 파일을 사용하면 안돼는가요?
정성수 (2003-08-19 17:14:06)
Tcl 설치법도 알려주시면 좋겠습니다;;
최호성 (2006-07-07 18:38:39)  
봇이 스스로 옵을 못가지나요 ?
[이전글] LCD Indicator 제작 [1]
[다음글] 1. Eggdrop (IRC bot)이란?
Copyright 1999-2018 Zeroboard / skin by jintia
Xcaliber Power Guide ⓒ 2002-2012 Xcaliber™ All right reserved