**방송 채널 허브 — 수동 영상 수집 오류 안내 개선** — 관리자 대시보드의 「🔄 최신 영상 수집」 버튼이 일부 실패 상황에서 아무 안내 없이 멈추던 문제 수정. 세션 만료·재실행 제한·외부 API 오류 등 모든 실패 상황에서 화면에 명확한 안내 메시지를 표시하도록 개선
**관리자 AI 자동 글쓰기(Auto Publisher) v2.13.0** — 외부 URL(유튜브 영상, 일반 웹페이지 등)을 제출하면 AI가 내용을 분석해 커뮤니티 게시판에 블로그 형식 글을 자동 작성·등록하는 관리자 전용 기능 추가. URL 유형(유튜브/웹페이지) 자동 감지 뱃지, 분석 → 생성 → 발행 단계별 실시간 진행 바, 완료 시 작성된 글 바로가기 제공
🔧
개선 3
**마인크래프트(Modrinth) 자동 기사 발행 정책 개편** — 세부 패치 버전만 바뀐 마이너 모드 업데이트는 기사 생성을 건너뛰고, 의미 있는 버전 변경 시에만 기사를 발행하도록 개선. 유형별 회당·일일 최대 기사 수도 하향 조정해 발행량보다 의미 있는 소식 위주의 큐레이션으로 전환
**커뮤니티 AI 엔진 효율 최적화** — 퀴즈·밸런스 배틀·콘텐츠 피드 등 커뮤니티 AI 기능이 공유하는 중앙 AI 엔진의 모델 운용을 경량 우선 구조로 재편하고, 단순 생성 작업 전용 저비용 경로 신설. 밸런스 배틀·퀴즈는 일부 슬롯만 AI 생성을 사용하고 나머지는 검증된 출제 풀에서 제공하도록 조정(중복 검증 로직 유지)
**게임 DB 안정성 모니터링 v1.1.0** — 일일 건강 지표 점검 기준을 24시간 롤링 윈도우로 변경해, 아침 점검 시점에 아직 진행 중인 정상 작업이 비정상으로 오탐되던 문제 수정. 자동 재검증 절차 추가
**AI 댓글 자동 생성 시스템 v2.0.0 (gameboy-ai-comments)** — 커뮤니티 게시글에 AI 기반 자연스러운 댓글을 자동 생성하는 플러그인 신규 개발. 페르소나 기반 작성자명 무한 랜덤 생성(절대 중복 불가), 댓글 예약 대기열 관리, GBB AI Engine(Gemini) 연동. 관리자 대시보드에 카드형 통계(대기중/완료/실패/오늘등록), 탭 인터페이스(게시글 목록/설정/로그), 실시간 진행률 표시 배치 처리 제공. DB 4개 테이블(`gb_ai_comment_queue`, `gb_ai_comment_settings`, `gb_ai_comment_authors`, `gb_ai_comment_logs`) 생성
**GBB AI Engine — Gemini 최신 모델 라인업 업데이트** — 폐기된 `gemini-3-pro-preview`, `gemini-2.0-flash` 모델을 제거하고 최신 모델 3종(`gemini-3.1-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-flash-lite-preview`)을 추가. 자동 폴백 체인: `gemini-3.1-pro-preview` → `gemini-3-flash-preview` → `gemini-3.1-flash-lite-preview` → `gemini-2.5-pro` → `gemini-2.5-flash` → `gemini-2.5-flash-lite` (최신·고품질 → 안정·저비용 순서)
**파트너/프로모션 디스코드 실시간 알림** — 새 파트너가 등록(관리자 수동 등록 또는 신청 승인)되거나 새 프로모션이 등록되면, 전용 디스코드 채널에 리치 Embed 알림이 자동 전송됩니다. 파트너 알림에는 업체명·카테고리·웹사이트·소개·파트너 페이지 바로가기가 포함되고, 프로모션 알림에는 리워드 유형·모집 인원·마감일·대상 밴드·이미지 등 상세 정보가 포함됩니다
🔧
개선 2
**프로모션 디스코드 알림 코드 리팩터링** — 프로모션 생성 시 인라인으로 작성되어 있던 ~75줄의 디스코드 알림 코드를 전용 메서드로 분리하여 유지보수성 향상. 기존 콜라보 웹훅과 파트너/프로모션 전용 웹훅을 분리하여 채널별 독립 알림 운영 가능
**파트너/프로모션 디스코드 알림 실전 테스트 검증 완료** — 파트너 등록(육포맛사탕, id=2) 및 프로모션 등록(인디게임 미리 해보기, id=10) 2건에 대한 디스코드 웹훅 알림 전송 테스트 실시. HTTP 204 응답으로 정상 전송 확인. 파트너 알림(업체명·카테고리·웹사이트·소개·바로가기) 및 프로모션 알림(리워드 유형·모집인원·마감일·이미지·파트너 정보) 리치 Embed 포맷 정상 출력 검증
🐛
버그 수정 1
게시글 #3202 깨진 HTML 태그 수정 — 외부 링크(Steam FourVive) 임베디드 프리뷰 카드 삽입 후 편집/저장 시 `contenteditable` 에디터가 링크 카드 HTML 구조를 손상시킨 문제 복구. `` 마커 잔류 및 고아 `` 태그 제거, 정상 링크 카드 재생성.
**속보 Push/Discord 알림 — 임시글(draft) 상태에서 알림 발송 방지** — AI 수집기가 기사를 임시글(draft)로 생성할 때, _is_breaking 속보 플래그가 설정되고 Discord 속보 알림이 발송되던 버그 수정. 속보 알림이 아닌 기사에 대해 속보 크롬 알림이 뜨는 문제 해결. **수정 내용**: (1) ai_publisher에서 속보 지정(\_is_breaking) 및 Discord 알림을 publish 상태에서만 실행하도록 변경 (2) Push 알림(OneSignal)에 기사 나이 확인(6시간 이내만 허용) + 게시물 상태 이중 확인 안전장치 추가 (3) 기존 임시글의 잘못된 속보 플래그 일괄 정리
**커뮤니티 보드 글쓰기 — 이미지·영상·링크카드 커서 위치 삽입 수정** — 글쓰기 에디터에서 이미지 붙여넣기, 영상 첨부, URL 링크 카드 삽입 시 커서 위치와 무관하게 항상 본문 맨 아래에 추가되던 버그 수정. **근본 원인**: 업로드 placeholder와 로딩 카드를 editor.appendChild()로 삽입하여 Selection/Range(커서 위치) 무시. **수정**: insertAtCursor() 헬퍼 함수 도입 — window.getSelection() Range API를 사용하여 현재 커서 위치에 정확히 삽입. 파일 대화상자 등으로 포커스 이탈 시에도 selectionchange 이벤트로 마지막 에디터 내 커서를 자동 보존·복원. 이미지 붙여넣기(Ctrl+V), 이미지 버튼(📷) 클릭 선택, 영상 버튼(🎬) 클릭 선택, 드래그 앤 드롭, URL 링크 카드(🪧/붙여넣기) 5가지 미디어 삽입 경로 모두 커서 위치 존중. board.js 전역 참조(window._gbbInsertAtCursor)로 크로스 스크립트 연동
Modrinth 기사 대표이미지 누락 수정 — modrinth_publish_to_wp()가 이미지 없이 즉시 publish 상태로 발행하던 문제 해결. icon/gallery 없는 프로젝트(BadOptimizations 등) 3건 수정 완료.
기존 게시글 평문 URL 미변환 버그 수정 — embed.php 5단계 정규식 lookbehind에서 > 문자 제거. <div>https://... 패턴에서 닫힌 HTML 태그 바로 뒤의 URL이 링크로 변환되지 않던 문제 해결. Discord, Naver Form 등 모든 일반 URL이 페이지 로딩 시 자동으로 <a> 태그로 변환됨.
🔧
개선 2
Modrinth 발행 안전장치 v2.2 — draft→이미지 확인→publish 전환 패턴 적용. Imagen AI 폴백 추가로 icon/gallery 없는 프로젝트도 자동 이미지 생성 후 발행.
글쓰기 폼 URL 제출 처리 개선 — 에디터에서 자동 생성된 링크(<a class=gbb-auto-link>)를 제출 시 평문 URL로 역변환하지 않고 링크 상태를 유지하도록 변경. 서버사이드 이중 변환 방지 및 저장 효율성 향상.
🆕
신규 기능 2
전역 대표이미지 안전망 v2.0 — transition_post_status 훅으로 모든 발행 경로 감시. 이미지 없이 publish 전환 시 Imagen AI 자동 생성 시도, 실패 시 draft 유지로 이미지 없는 기사 공개 원천 차단.
커뮤니티 게시판 URL 자동 링크화 시스템 — 글쓰기 에디터에서 URL 입력 시(Space/Enter) 자동으로 클릭 가능한 링크로 실시간 변환. 서버사이드에서도 저장 시 평문 URL을 <a> 태그로 자동 변환하여 누락 방지. 기존 HTML 태그/링크 카드/임베드는 보호 처리.
AI 발행 품질 전환 v4.5 — 일 ~80건 무제한 발행에서 일 10~20건 고품질 + 인간 편집 필수 체제로 전환. 크론 주기 45분→2시간, daily_max_publish 코드 실제 적용 (기존 미사용 버그 수정), 발행 상태 draft 전환, 관련도 80+·품질 70+ 기준 상향
Modrinth 파이프라인 품질 전환 v2.3 — (1) 모든 Modrinth 에이전트(업데이트/트렌딩/신규/기능/차트) 기사를 draft 상태로 전환, 편집장 검수 후 수동 발행 필수. (2) 업데이트 체커에 시맨틱 버전(semver) 패치 감지 추가 — 패치 업데이트(세 번째 자리만 변경, 예: v1.3.14→v1.3.15)는 기사 생성 스킵, 마이너/메이저 변경만 기사화. 검색 유입이 없는 저품질 업데이트 기사 대량 차단
🐛
버그 수정 1
daily_max_publish 미적용 버그 수정 — config.php에 daily_max_publish=40 설정이 존재했으나, ai_publisher.php에서 해당 값을 참조하는 코드가 전혀 없어 일일 발행 제한이 동작하지 않던 근본 원인 수정. 일일 발행 카운트를 wp_posts 테이블에서 실시간 조회하여 제한 적용
🆕
신규 기능 4
마인크래프트 가이드 카테고리 구조 생성 — MC 가이드 콘텐츠 전략 실행을 위한 4개 서브 카테고리 생성: 모드 가이드(87677), 서버 가이드(87678), 공략/팁(87679), 최적화(87680). 부모: 마인크래프트(30). Modrinth 허브(75808)는 별도 유지. CATEGORY_MAP에 신규 ID 등록 완료
마인크래프트 가이드 생성기 v1.0 (cron/mc-guide-generator.php) — Gemini AI 기반 심층 가이드 기사 초안 생성 시스템. 단건/배치(JSON) 모드 지원. Rank Math SEO 자동 설정(Focus Keyword, Meta Description, HowTo/Article Schema), 스크린샷 플레이스홀더, FAQ 섹션, 기존 MC 기사 50건 참조 내부 링크, Imagen AI 대표 이미지 자동 생성. 모든 기사 draft 상태로 저장 (편집장 검수 필수)
Modrinth 모드 가이드 생성기 v1.0 (cron/modrinth-mod-guide.php) — Modrinth 워치리스트 다운로드 상위 프로젝트에서 AI 심층 가이드 자동 생성. Modrinth API 상세정보 수집 → Gemini AI 한국어 가이드 → WP draft 저장 → Rank Math SEO. content_type=mod_guide로 이력 관리. API 라이브러리 자동 제외. modrinth_published ENUM에 mod_guide 추가. 첫 실행: Sodium/Iris Shaders/Entity Culling 3편 생성 성공
MC 가이드 발행 스케줄러 v1.0 (cron/mc-guide-scheduler.php + mc-guide-schedule.json) — 4주 발행 캘린더 기반 자동 가이드 생성. 월-금 07:00 크론(#36) 등록. 월·화 Tier 1, 수 Modrinth 모드 ×2, 목·금 Tier 2 패턴. slug 중복 방지, 스케줄 범위 밖 fallback 패턴 지원
**MC 서버 제어 — 예약 명령어 스케줄러 중복 실행 수정** — 예약 명령어 스케줄러에서 명령어가 동일 시간에 2번씩 실행되던 버그 수정. **근본 원인**: 시스템 cron(`cron-run-schedules.php`)과 WP Cron(`gbmc_cron_run_schedules` 액션)이 동일한 `gbmc_run_scheduled_commands()` 함수를 동시에 호출하여 같은 명령어가 2초 이내에 중복 실행. 활동 로그에서 동일 시각(초 단위)에 같은 명령어가 2건씩 기록되는 증상으로 확인됨. **수정**: transient 기반 실행 잠금(Lock) 메커니즘 도입 — 55초 TTL의 락을 획득한 첫 번째 실행만 진행, 두 번째 호출은 "이미 실행 중" 로그를 남기고 즉시 스킵. race condition 대응을 위한 2단계 락 검증(획득 후 재확인) 적용. 기존 예약 명령어 데이터는 100% 보존
**커뮤니티 보드 글쓰기 — 이미지·영상·링크카드 커서 위치 삽입 수정** — 글쓰기 에디터에서 이미지 붙여넣기, 영상 첨부, URL 링크 카드 삽입 시 커서 위치와 무관하게 항상 본문 맨 아래에 추가되던 버그 수정. **근본 원인**: 업로드 placeholder와 로딩 카드를 editor.appendChild()로 삽입하여 Selection/Range(커서 위치) 무시. **수정**: insertAtCursor() 헬퍼 함수 도입 — window.getSelection() Range API를 사용하여 현재 커서 위치에 정확히 삽입. 파일 대화상자 등으로 포커스 이탈 시에도 selectionchange 이벤트로 마지막 에디터 내 커서를 자동 보존·복원. 이미지 붙여넣기(Ctrl+V), 이미지 버튼(📷) 클릭 선택, 영상 버튼(🎬) 클릭 선택, 드래그 앤 드롭, URL 링크 카드(🪧/붙여넣기) 5가지 미디어 삽입 경로 모두 커서 위치 존중. board.js 전역 참조(window._gbbInsertAtCursor)로 크로스 스크립트 연동
Modrinth 기사 대표이미지 누락 수정 — modrinth_publish_to_wp()가 이미지 없이 즉시 publish 상태로 발행하던 문제 해결. icon/gallery 없는 프로젝트(BadOptimizations 등) 3건 수정 완료.
기존 게시글 평문 URL 미변환 버그 수정 — embed.php 5단계 정규식 lookbehind에서 > 문자 제거. <div>https://... 패턴에서 닫힌 HTML 태그 바로 뒤의 URL이 링크로 변환되지 않던 문제 해결. Discord, Naver Form 등 모든 일반 URL이 페이지 로딩 시 자동으로 <a> 태그로 변환됨.
🔧
개선 2
Modrinth 발행 안전장치 v2.2 — draft→이미지 확인→publish 전환 패턴 적용. Imagen AI 폴백 추가로 icon/gallery 없는 프로젝트도 자동 이미지 생성 후 발행.
글쓰기 폼 URL 제출 처리 개선 — 에디터에서 자동 생성된 링크(<a class=gbb-auto-link>)를 제출 시 평문 URL로 역변환하지 않고 링크 상태를 유지하도록 변경. 서버사이드 이중 변환 방지 및 저장 효율성 향상.
🆕
신규 기능 2
전역 대표이미지 안전망 v2.0 — transition_post_status 훅으로 모든 발행 경로 감시. 이미지 없이 publish 전환 시 Imagen AI 자동 생성 시도, 실패 시 draft 유지로 이미지 없는 기사 공개 원천 차단.
커뮤니티 게시판 URL 자동 링크화 시스템 — 글쓰기 에디터에서 URL 입력 시(Space/Enter) 자동으로 클릭 가능한 링크로 실시간 변환. 서버사이드에서도 저장 시 평문 URL을 <a> 태그로 자동 변환하여 누락 방지. 기존 HTML 태그/링크 카드/임베드는 보호 처리.
일간 매거진 3/28 미발행 장애 복구 (daily_magazine v3.3.1) — 3월 28일 일간 매거진(Vol.30)이 자동 발행되지 않은 장애 진단 및 수동 발행 복구. logrotate + shell redirect + 자체 로깅 충돌이 근본 원인. 수동 발행으로 Vol.30 Post #112344 복구 완료. 재발 방지: logrotate copytruncate 전환, cron redirect 제거, 오후 12:00 retry 추가, 엔진 v3.3.1 진단 로깅 강화
마비노기 모바일 1주년 기사 수정 — 불필요한 빈 게임정보 테이블 및 "아쉽게도 게임의 상세한 기종..." 잘못된 안내 텍스트 제거 (Post #111952)
🔧
개선 1
미디어 추출기 v5.0.0 — Ruliweb 이미지 고해상도 자동 변환(/img/ → /ori/) 및 소스 프로필 고도화. body_selector를 .news_content_wrapper로 정밀화하여 tbl_view(관련게임정보) 테이블 오염 방지