마인크래프트 LAN 서버 표시하기

마인크래프트 멀티플레이 서버 목록에서 로컬 서버를 표시하는 방법을 찾다가 7년 전에 적힌 블로그 글을 읽게 되었습니다. 첨부된 파이썬 스크립트에 파이썬 3과 호환이 되도록 수정을 해주니 잘 동작합니다:

import socket
import time

servers = [
        ["motd1", 25565],
        ["motd2", 25566]
]

BROADCAST_IP = "255.255.255.255"
BROADCAST_PORT = 4445

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

print("LAN에 마인크래프트 서버 표시중")

while True:
        for server in servers:
                msg = "[MOTD]%s[/MOTD][AD]%d[/AD]" % (server[0], server[1])
                sock.sendto(msg.encode('UTF-8'), (BROADCAST_IP, BROADCAST_PORT))
        time.sleep(1.5)

파일 최상단에 있는 서버 배열만 수정하면 됩니다. broadcast_to_lan.py과 같은 파일 이름으로 저장하고, python3 broadcast_to_lan.py로 실행합니다.

원글/스크립트 작성자이신 kebian께 감사합니다!

댓글