심플스 - 프로그램과 책 이야기로 가득한 곳, (Simples.Kr)

  


   심플스 배너



이야~~ 심플즈에 리눅스 팁란이 생겼네요~~

얼마전 게임채팅에 써먹어볼까 싶어 우분투에 IRC 서버를 까느라 삽질한 내용이 있어서 함 올려봅니다. 


일단 ircd는 ircu 를 사용하기로 했습니다. 설치는 간단히 이렇게..


$ sudo apt-get install ircd-ircu


문제는 여기서부터인데, 닉네임의 최대값이 12자로 되어있군요. 저는 30자가 필요. 

설정 문서에 나온대로 /etc/ircd/ircd.conf 내에 features 안에 다음라인 삽입해 봤습니다. 


features {

 .....

 "NICKLEN" = "30";

};


하지만 이 설정은 ircd-ircu 의 소스중 ircd_def.h 에 정의된 값을 넘을 수 없습니다. 
여기에는 15로 정의되어있기 때문에 아무리 30자를 때려줘도 넘어가지 않지요. 

패키지로 설치한 ircd-ircu 는 지워버리고 소스를 받아 수정해봅시다. 

일단 컴파일 환경을 만들어주고
$ sudo apt-get install build-essential flex autoconf  bison

소스를 내려받아 압축을 풀어줍니다. 
$ wget http://prdownloads.sourceforge.net/undernet-ircu/ircu2.10.12.12.tar.gz
$ tar xzf ircu2.10.12.12.tar.gz
$ cd ircu2.10.12.12

여기서 ./include 안의 ircd_defs.h 에서 NICK_LEN 값을 30으로 수정해줍니다. (41번째 줄)

#define NICKLEN         30

이제 다음과같이 해 주면 닉네임을 30자로 쓸 수 있는 데몬을 얻을 수 있습니다. 

$ ./configure
$ make all

../bin 에 컴파일된 ircd 실행파일이 들어갑니다. 이제 이놈의 버전을 출력해봅시다. 

./ircd -v 
ircd u2.10.12.12
Event engines: epoll_*() poll()
Compiled for a maximum of 1020 connections.

최대접속자가 1020으로 되어있습니다. 아쉬움이 있지요. 
이 내용은 ./configure 실행시 생성되는 config.h 에 기록되며, 
이 때 사용되는 configure.in 을 살펴보면 다음과 같은 값을 받아오도록 되어있습니다. 

ulimit -Hn

한마디로 시스템에서 열 수 있는 파일갯수를 의미하지요. 
sudo ulimit -n 4096 해주면 이 값이 바뀝니다만 재부팅하면 도로묵이죠. 
예전에는 이 값을 늘려주려면 커널을 새로 컴파일해야 했나본데... 전 그런건 모르고 
/etc/security/limits.conf 에 다음항목 추가한 뒤 재부팅해봅시다.  

*               hard    nofile            4096
*               soft    nofile            4096

이제 ircd-ircu 를 재컴파일하면 최대접속자수가 늘어난 것을 볼 수 있습니다. 

마지막으로 닉네임에서 한글사용문제... 원래 irc 규정이 닉네임에서는 한글을 못써먹게 되어있습니다. 
한글 패치된 데몬들은 규격외의 물건들인 셈이죠. 
table_gen.c 를 들여다봅시다. 
116번 줄에보면 NTL_RICNK 의 속성을 설정하는 부분이 보입니다. 

moveMacro(NTL_DIGIT | NTL_ALPHA, NTL_IRCNK);
markString(NTL_IRCNK, "-_`");

숫자, 알파벳, 그리고 " - _ ` " 를 추가해주고 있지요. 따라서 여기에 " + / " 를 추가하면 UTF-7 사용이 가능해집니다.

markString(NTL_IRCNK, "-_`+/");

사실 이것도 "+/" 때문에 규약을 어기는 건 마찬가지네요. ㅠㅠ;;
UTF-8이면 더 좋겠지만 어차피 게임내에서 자체 클라를 제공하기 때문에 일단 이정도로 만족하고 있습니다. 



profile

esniper

2010.11.26 17:20:04

예전에 irc에서 맨날 놀던 때가 생각나네요~

irc서버를 이용해서 게임 채팅서비스를 하면 편리하겠네요.

좋은 팁 감사드립니다~

List of Articles
번호 제목 글쓴이 날짜sort 조회 수

문서자료 json 문법 체크 사이트

  • Lyn
  • 2012-02-28
  • 조회 수 4552

Windows Research SCSI Miniport - IOCTL_SCSI_PASS_THROUGH_DIRECT ( Windows ...

  • lain
  • 2011-06-11
  • 조회 수 7870

Windows Research 커널레벨에서 IAT Hook

  • lain
  • 2011-06-11
  • 조회 수 9227

Windows Research DEVICE_OBJECT에 대한 보안 디스크립터 변경

  • lain
  • 2011-06-11
  • 조회 수 7001

Windows Research IE Cache 경로 변경하기

  • lain
  • 2011-06-09
  • 조회 수 25635

Windows Research 32Bit 윈도우즈에서 실제 물리메모리크기 얻어오기

  • lain
  • 2011-06-09
  • 조회 수 7272

Windows Research VMWare 탐지 기법 우회 - 2 [2]

  • lain
  • 2011-04-04
  • 조회 수 17371

Linux Tip 우분투에 IRC서버 설치후 닉네임 길이와 동접자 조절. [1]

Linux Tip VirtualBox에 우분투 설치 후에 내부 네트워크 접속 설정하기 file

  • esniper
  • 2010-09-10
  • 조회 수 24244

Linux Tip VirtualBox에서 오른쪽 CTRL키 사용하기(VitualBox 호스트키) file [2]

  • esniper
  • 2010-09-10
  • 조회 수 11509

Linux Tip 우분투 설치 후 putty에서 한글 안 깨지도록 설정하기 file

  • esniper
  • 2010-09-10
  • 조회 수 10980

Linux Tip 우분투 ssh or mysql 서버 접속지연이 있는 경우 해결책

  • esniper
  • 2010-09-10
  • 조회 수 10616

문서자료 고품질의 무료 아이콘들 [3]

  • esniper
  • 2010-09-08
  • 조회 수 12850

Windows Research Sysinternals - Filemon source code file [5]

  • lain
  • 2010-09-04
  • 조회 수 9825

Windows Research Sysinternals - Regmon source code file [1]

  • lain
  • 2010-09-04
  • 조회 수 9447

Windows Research PostQueuedCompletionStatus 함수에 실패 여부도 고려해야 할까?

  • lain
  • 2010-09-04
  • 조회 수 8291

Windows Research SetEvent 함수는 언제 실패할까?

  • lain
  • 2010-09-04
  • 조회 수 9808

Windows Research 커널모드 드라이버에서 사용하는 시간관련 매크로

  • lain
  • 2010-09-04
  • 조회 수 7911

Windows Research 화면캡쳐방지는 어떻게 구현될까? [3]

  • lain
  • 2010-09-04
  • 조회 수 16620

Windows Research IRP Completion Hook file

  • lain
  • 2010-09-04
  • 조회 수 7823

  • 이용약관
  • 개인정보취급방침
  • 사이트맵