PDA

모든 버전 보기 : mIRC 자동(멀티)서버접속 & 자동(멀티)채널입장 방법 및 스크립트 예제 <1>


Darkchoco
09/11/17, 12:36 PM
 
멀티 서버와 멀티 채널을 접속해 봅시다. [본 강좌에서는 mirc 6.3.5 버전을 사용합니다.]

1. mirc를 실행하고 [alt]+[r]을 눌러 [remote]창을 열어줍니다.

2. 새로운 스크립트를 만들기 위해 [File] - [new] 를 차례로 클릭합니다.

http://img687.imageshack.us/img687/9231/20091117101536.png

3. 멀티서버 접속을 위한 스크립트 작성


서버 접속 스크립트의 기본 명령

/server [-emnsarpfocz] <server groupname="">[port] [password] [-i nick anick email name] [-jn #channel pass]

</server>▽ 각 옵션 자세히 보기

[-e] : SSL 연결 (포트는 +)
[-m] : 멀티서버 자동연결
[-n] : 멀티서버 연결안함
[-pfoc] : 지정된 perform, 즐겨찾기 폴더, 자동조인채널, on connection 이벤트 수행 안함
[-z] : 서버창을 최소화시킴

-sar 옵션 사용지 서버 접속 명령어
/server -sar [server] [-p port] [-g group] [-w password] [-d description]
[-s] : 서버리스트 정렬
[-a] : 서버리스트에 서버 추가, 이미 등록되어있으면 업데이트
[-r] : 서버리스트에서 서버 제거

<server>server : 서버 주소 직접입력
<groupname>groupname : 등록한 서버의 그룹 이름

[port] : 접속할 서버의 포트

[password] : 패스워드

[-i nick anick email name] : 닉네임, 2차 닉네임, 이메일, 사용자이름

[-jn #channel pass] : 채널명, 채널 비밀번호</groupname></server><server groupname=""><server><groupname>
3-1. perform과의 연동
 - 서버이름은 Groupname 이나 직접 서버주소를 적으면 됩니다.
 - 닉인증과 채널접속등은 Perform에서 지정합니다.

 http://img36.imageshack.us/img36/3300/20091117102637.png

3-1-a. Perform (타이머 기능을 이용한 인증 및 접속)
</groupname></server></server>
■ 참고 글타래 : irc 타이머를 이용한 자동접속법! (http://bittalk.org/thread16233.html)
 
 - 각각의 서버에 perform을 지정해주면 됩니다.
<server groupname=""><server><groupname> http://img190.imageshack.us/img190/930/20091117104158.png

3-2. 스크립트만 이용
 - 서버 1과 서버 2는 동일한 서버입니다. 닉은 다르고, 하나는 봇에게 초대를 받아야 하는 곳이라 가정합니다.
 - 서버 3은 1, 2와 다른서버이며, 닉도 다르고, 봇에게 초대 받지 않고 입장 가능하다고 가정합니다.

</groupname></server></server>http://img696.imageshack.us/img696/705/20091117120958.png

on 1:START:{
server <서버 1 이름> <포트> -i nick 1
server -m <서버 1 이름> <포트> -i nick 2
server -m <서버 2 이름> <포트> -i nick 3
}
on *:CONNECT: {
if (<서버 1> iswm $network) {
if ( $me == nick 1 ) /msg nickserv identify nick 1의 비밀번호
if ( $me == nick 2 ) /msg nickserv identify nick 2의 비밀번호
}
if ( <서버2> iswm $network ) {
if ($me == nick 3) {
/msg nickserv identify nick 3의 비밀번호
.j #chan 1
}
}
}


on *:NOTICE:*닉인증이 되면 서버창에 표시되는 메시지*:*:{
if ($nick == NickServ && <서버 1> iswm $network) {
if ($me == nick 1) .msg 봇에게 보내는 메세지
if ($me == nick 2) {
.j #chan 1
.j #chan 2
}
}
}

부분 설명 드립니다.


on 1:START:{
server <서버 1 이름> <포트> -i
server -m <서버 1 이름> <포트> -i
server -m <서버 2 이름> <포트> -i
}
mirc 시작시 자동으로 서버접속을 실행하는 명령어 입니다.



on *:CONNECT: {
if (<서버 1> iswm $network) {
if ( $me == nick 1 ) /msg nickserv identify nick 1의 비밀번호
if ( $me == nick 2 ) /msg nickserv identify nick 3의 비밀번호
}
if ( <서버2> iswm $network ) {
if ($me == nick 3) {
/msg nickserv identify nick 3의 비밀번호
.j #chan 1
}
}
}
서버에 접속되면 실행되는 명령어 입니다.

if (<서버 1> iswm $network) 에서 <서버 1> 은 서버주소에 포함되는 특정 단어입니다.
예를들어 비트토크인 경우 irc.bittalk.org 가 서버주소라면 <서버 1> 은 bittlak 이 됩니다.
irc.p2p-network 인경우 p2p-net 이 됩니다.

좀 더 정확하게 지정하시려면 우선 서버에 접속하신 뒤 네트워크 이름을 알아내시면 됩니다.
방법은 아래와 같습니다.


스크립트 창을 여시고 다음을 입력합니다.

on 1:INPUT:#: {
if ( $1 == !n ) {
msg $chan $network
halt
}
}
그리고 임의의 채널을 만드신다음 (/join #111) !n 을 입력해 네트워크 이름을 찾아냅니다.
http://img696.imageshack.us/img696/3078/20091117122153.png


네트워크 이름을 확인하셨으면 명령어를 다음과 같이 수정하시면 됩니다.

if ($network == P2P-NET)



on *:NOTICE:*닉인증이 되면 서버창에 표시되는 메시지*:*:{
if ($nick == NickServ && <서버 1> iswm $network) {
if ($me == nick 1) .msg 봇에게 보내는 메세지
if ($me == nick 2) {
.j #chan 1
.j #chan 2
}
}
}
'닉인증이 되면 서버창에 표시되는 메시지' 는 닉인증을 했을 때 닉서브가 알려주는 내용입니다.

-NickServ- Password accepted - you are now recognized.

이런식으로 보여주는데요, 저 문장에서 일정부분을 따 주면 됩니다.

on *:NOTICE:*Password accepted*:*:

--------

if ($nick == NickServ && <서버 1> iswm $network)
여기는 위에 on CONNECT에서 설정한 것과 동일하게 해주시면 됩니다.

네트웍 이름을 아실경우 [<서버 1> iswm $network] 를 [$network == 네트워크 이름]으로 변경

다음줄은 봇에게 초대를 받는 메세지입니다. (트래커 irc 페이지 확인)
그 다음은 초대 없이 채널에 입장하는 부분입니다.


스크립트에 무지해서 나름대로 머리를 굴려보았습니다.
글 작성에 직 간접적인 도움을 주신분들께 감사드립니다.


<server groupname=""><server><groupname> </groupname></server></server>

leepedark
09/11/18, 06:20 PM
아직 irc 자체도 완전하게 사용하지 못하는 터라 내용이 쉽지 않지만,
자주 여러번 봐야 할 것 같네요

작성하시는데 굉장히 수고 많이 하셨겠네요
좋은 정보 감사합니다

원더키디
09/11/18, 06:24 PM
좋은 정보 감사합니다.
재부팅 한번 하면 각 서버 하나씩 인증하고 들어가고 하느라 번거로웠는데..
한번 적용 시켜 봐야 겠습니다.

백토마
09/11/18, 06:30 PM
3-1 방법으로 접속하는데

언젠간 3-2 스크립트만 이용해서 접속하게 쭉 만들어 보고 싶네요,,

forever
09/11/18, 07:45 PM
감사합니다. irc사용법도 잊고 있었는데 잘 쓰겠습니다.

happiner
09/11/18, 09:46 PM
그동안 Mirc 사용법을 잊어버렸었는데 기억이 새록새록 떠오르네요.
좋은 정보 감사합니다.

sniperh47
09/11/19, 01:00 PM
정말 감사요!!
덕분에 멀티서버 멀티채널 오토스크립 완성했네요...

Hatune
10/01/10, 05:00 PM
감사합니다~ 덕분에 스크립트 완성했네요 :)

쿠루루
10/03/07, 05:47 AM
이런 유용한팁이 있었다니..:1178088428866:
방금 스크립트만 이용(3-2방법)해서 다중서버 접속 설정 완료하였습니다.
그곳에 항상 따로 쳐서 들어가야했는데.. 이제 mirc 지워도 스크립트 내용만 있으면 되니 훨 편해졌네요..ㅎㅎ

이제 SCC 자동조인 숙제만 풀면 완벽한데.ㅋㅋ

rAiNAA
10/03/07, 02:35 PM
잘 읽었습니다. 고맙습니다.

caboyyy
10/03/13, 08:29 AM
감사합니다!

도너츠
10/04/06, 06:07 PM
드디어 퍼폼을 버리고, 스크립트로만 자동멀티조인에 성공했습니다.
정보 감사드립니다.

사이버경찰
10/07/14, 08:44 AM
으응악 무슨말인지 하나도 모르겠네요 ㅠㅠㅠㅠ 도와주실분 ㅠ

아이리스
10/07/14, 09:00 AM
감사합니다! 바로 멀티서버접속 스크립트 완성해야겟네요^^

라메탈
10/10/11, 02:54 PM
이런 유용한팁이 있었다니..
방금 스크립트만 이용(3-2방법)해서 다중서버 접속 설정 완료하였습니다.
그곳에 항상 따로 쳐서 들어가야했는데.. 이제 mirc 지워도 스크립트 내용만 있으면 되니 훨 편해졌네요..ㅎㅎ

이제 SCC 자동조인 숙제만 풀면 완벽한데.ㅋㅋ


만약 자동조인문을 만들때
몇몇트래커는 딜레이을 줘야 접속이 되는 경우가 있습니다.
밥맛도 조인이 안되서 포기하다가 타임을 줘서 딜레이를 거니까 접속이 되더군요.
아마도 SCC가 그렇지 않을까 해서 적어봅니다.


/msg nickserv identify 암호
/msg 초대명령문

보통 identify 다음에 초대명령문을 쓰는데요.

/msg nickserv identify 암호
/timer 1 1 /msg 초대명령문
이렇게 하니 밥맛이 접속이 되더군요.

가짜법대생
10/10/11, 03:26 PM
이제 SCC 자동조인 숙제만 풀면 완벽한데.ㅋㅋ

만약 자동조인문을 만들때
몇몇트래커는 딜레이을 줘야 접속이 되는 경우가 있습니다.
밥맛도 조인이 안되서 포기하다가 타임을 줘서 딜레이를 거니까 접속이 되더군요.
아마도 SCC가 그렇지 않을까 해서 적어봅니다.

http://bittalk.org/thread33895.html 를 참고하시면 SCC 각 채널에 대한 자동 조인도 처리가 가능합니다.

SCC의 경우 별도의 초대 명령어가 없으며, 사이트에서 초대버튼을 누른 후 irc에서 초대신호를 받아서 채널에 입장하게 되는데

스크립트로 사이트에서 초대버튼을 누른 것과 동일한 처리과정을 해주면 초대신호를 받을 수 있습니다.



이 방식에 따라 최초에 공개된 스크립트(상기 링크 본문)는 SCC의 로그인 방식 변경 및 사이트 버튼신호 처리과정의 변화로 정상작동되지 않았기에
(로그인 풀렸을 경우 자동로그인 못함, 사이트 버튼신호 처리과정 변화로 irc로 신호전달 못함)

그래서 제가 제한적이지만 채널초대를 자동화한 스크립트 (http://bittalk.org/post522258-18.html)를 올렸는데 현재는 약간의 수정이 필요할 것입니다.

당시 제가 스크립트를 수정한 방식은 사이트에서 irc 초대 버튼을 눌렀을때 처리된 패킷을 받아서

최초 공개된 스크립트에 적용한 것이었습니다. (그 과정에서 로그인 부분을 제외)

로그인이 풀렸을 경우에는 작동하지 않는 것이 단점이지만 로그인이 유지된 상태에서는 비교적 안정적으로 작동할 것입니다.

ps. http://bittalk.org/post1067278-22.html 를 참고해 보세요

라메탈
10/10/11, 03:46 PM
감사합니다.
법대생님.

BeActive
10/10/27, 06:49 PM
정말 좋은글 감사합니다.

삶은여우
11/06/11, 10:51 PM
정말 도움이 많이 됬습니다. 이글과 몇개의 글 참조해서 프로그래밍에 대한 지식이 전무하다 시피한 저도 3개 서버에 다수의 채널들 자동 접속하는 스크립트를 만드는데 성공했네요. ^^ 근데 땡스는 웰케 없져? ㅎ

crowninza
11/07/15, 10:32 AM
좋은 정보 감사합니다. :)