Post

마인크래프트와 디스코드의 채팅 연동하는 프로그램 [ MCODpy ]

마인크래프트와 디스코드의 채팅 연동하는 프로그램 [ MCODpy ]

Minecraft ↔ Discord 채팅 연동 프로그램

프로젝트 개요

마인크래프트 서버와 디스코드 서버를 함께 운영할 때,
게임 내 채팅을 디스코드에서도 실시간으로 확인하고 싶은 요구가 자주 발생합니다.

MCODpy는 마인크래프트 서버 로그를 분석하여 플레이어 채팅을 추출하고,
이를 디스코드 봇을 통해 지정된 채널로 자동 전송하는 Python 기반 프로그램입니다.

별도의 모드(Mod)나 플러그인 설치 없이 동작하도록 설계하여
서버 부담을 최소화하면서 간편한 연동을 목표로 개발했습니다.

레포지토리 위치 : gyuwon09/MCODpy

기술 스택

  • Language: Python
  • Core Tech: 정규표현식(Regex) 로그 파싱
  • Integration: Discord Bot API
  • Packaging: Windows 실행 파일(.exe)

주요 기능

서버 콘솔 로그를 실시간으로 분석하여 플레이어 채팅을 식별하여 디스코드 봇을 통해 디스코드 서버에 마인크래프트 채팅을 연동할 수 있습니다.

별도의 플러그인 및 모드 설치가 필요하지 않으며, 빌드된 프로그램으로 서버를 실행하면 자동적으로 채팅 메시지 수집이 시작됩니다.

마무리

MCODpy 프로젝트는 단순히 기능을 구현하는 것을 넘어, 실제 서버 운영 환경에서 발생하는 불편을 어떻게 효율적으로 해결할 수 있을지에 초점을 맞추어 진행했습니다. 특히 플러그인이나 모드에 의존하지 않고 서버 로그 분석만으로 채팅 연동을 구현함으로써, 기존 서버 구조에 영향을 최소화하는 경량화된 해결 방식을 설계한 경험을 쌓을 수 있었습니다.

개발 과정에서 정규표현식을 활용한 로그 패턴 분석 능력을 강화했으며, Discord Bot API 연동을 통해 외부 서비스와의 통신 구조를 실제로 구현해볼 수 있었습니다. 또한 Python 프로그램을 실행 파일 형태로 패키징하면서 최종 사용자의 설치 편의성과 배포 환경까지 고려하는 개발 관점을 기를 수 있었습니다.

이 프로젝트를 통해 문제를 단순히 해결하는 것을 넘어, 운영 환경을 고려한 안정적인 구조 설계와 사용자 관점의 도구 제작 역량을 함께 발전시킬 수 있었습니다.

설치 방법

자세한 설치 방법은 아래 README.md 파일을 참고해주세요.

README.md ( 2025-11-14일 개정 )

1
2
3
4
5
6
7
8
9
10
[How to set up?]

1. Copy the file from the "server pack" folder and paste it into your Minecraft server folder.
2. Change the variable values in the '.properties' file located in your Minecraft server folder to match your Discord server.
3. If you want to start your Minecraft server, run 'chatting interlocker.exe' instead of the server launcher.

[warning]
This program has only been tested with a basic (vanilla) Minecraft server.
If you are using a modded server, you must change the launcher variable in the .properties file.
If your server still doesn’t start correctly, enter the exact command you normally use to run your modded Minecraft server launcher into the launcher variable inside the .properties file.
1
2
3
4
5
6
7
8
9
10
11
12
[설정 방법]

1."server pack" 폴더에서 파일을 복사해 Minecraft 서버 폴더에 붙여넣습니다.

2. Minecraft 서버 폴더에 있는 .properties 파일을 열고, 변수 값들을 본인의 Discord 서버 설정에 맞게 수정합니다.

3. Minecraft 서버를 실행할 때는 기존 서버 실행기 대신 chatting interlocker.exe 파일을 실행합니다.

[주의]
이 프로그램은 기본(바닐라) Minecraft 서버에서만 테스트되었습니다.
모드 서버를 사용 중이라면 .properties 파일의 launcher 변수 값을 반드시 변경해야 합니다.
만약 실행이 제대로 되지 않는다면, 평소 모드 서버를 실행할 때 사용하던 정확한 명령어를 .properties 파일의 launcher 변수에 그대로 입력해 주세요.

제작 당시 2024년 최신버전 마인크래프트로 제작되었으며, 다른 버전에서는 테스트가 진행되지 않았음을 알립니다.

만일 서버 로그 형식이 변경되었다면, 레포지토리의 main.py의
match = re.search(r'\[\d{2}:\d{2}:\d{2}\] \[Server thread/INFO\]: <(.+)> (.+)', log_file)
부분을 변경된 형식에 맞게 수정해주세요.

This post is licensed under CC BY 4.0 by the author.