콘텐츠로 이동

BuzzBuild-Framework — 설정

Paper는 plugins/BuzzBuild-Framework/config.yml, Velocity는 Framework 데이터 디렉터리의 gate.json, Fabric은 config/buzzbuild-image-gui.json을 사용합니다. TOML 설정 파일은 없습니다.

점으로 구분한 키는 YAML의 중첩 경로입니다. 아래 기본값은 배포 리소스 기준이며 코드 전용 호환 키는 별도 표시했습니다. 연결 주소·계정은 공개 문서에 원문을 싣지 않습니다.

키타입기본값설명
brand.display-name문자열BuzzBuild제품 표시명. 공백만 입력하면 기존 기본 표시명 유지
brand.prefix문자열BB로그 접두 본체. 앞뒤 공백 제거
database.enabled불리언falseMariaDB 연결 풀 사용
database.jdbc-url문자열연결 정보 원문 비공개MariaDB JDBC URL. 아래 가상 예시로 구조 확인
database.username문자열계정 기본값 원문 비공개DB 인증 계정
database.password문자열빈 문자열DB 인증 비밀번호. 파일에 평문 저장
database.pool-name문자열BuzzBuild-Hikari풀 식별 이름
database.maximum-pool-size정수8최대 풀 크기. 코드에서 최소 1로 보정
database.minimum-idle정수2최소 유휴 연결. 코드에서 0~입력 최대 풀 크기로 제한
database.connection-timeout-ms정수(long)10000연결 획득 대기 시간, 밀리초
database.idle-timeout-ms정수(long)600000유휴 연결 시간 설정, 밀리초
database.max-lifetime-ms정수(long)1800000연결 수명 설정, 밀리초
database.driver-class-name문자열org.mariadb.jdbc.Driver명시적으로 로드하는 JDBC 드라이버 클래스
database.cache-prep-stmts불리언true드라이버의 cachePrepStmts 속성
database.prep-stmt-cache-size정수250드라이버의 prepStmtCacheSize 속성
database.prep-stmt-cache-sql-limit정수2048드라이버의 prepStmtCacheSqlLimit 속성
database.migration.log-existing-tables불리언false기존 테이블을 건너뛸 때 상세 로그 출력
messaging.debug불리언false수신 플레이어와 feature/op 상세 로그 출력
proxy.control-bridge-enabled불리언truePaper 게이트 전달 브릿지와 명령 실행기 활성화
proxy.transfer-enabled불리언trueDB 준비 시 이동 서비스·핸드오프 테이블·명령 실행기 활성화
proxy.server-id문자열빈 문자열출발 서버 기록용 ID. 빈 값이면 from_server=null
proxy.handoff-ttl-seconds정수120핸드오프 유효 기간. 저장 시 최소 30초로 보정
integrations.show-on-banner불리언true배너의 연동 감지 표시
integrations.plugins문자열 목록아래 기본 목록Bukkit 플러그인 이름으로 설치·활성 상태 확인
logging.startup-details불리언true기동 상세 로그 출력

integrations.plugins 기본 목록은 Vault, LuckPerms, PlaceholderAPI, Nexo, Citizens, MythicMobs, MythicLib, ModelEngine입니다. 빈 목록이면 기본 목록으로 되돌아가므로 표시를 없애려면 integrations.show-on-banner: false를 사용합니다.

호환 키 database.pool-size는 정수이며 코드의 최종 대체값은 8입니다. 기본 리소스에는 없고 database.maximum-pool-size가 읽히지 않을 때만 대체값으로 사용됩니다. 새 설정은 database.maximum-pool-size를 사용합니다. minimum-idle의 코드 대체값은 min(2, maxPool)입니다. Hikari가 잘못된 설정을 추가로 거부할 수 있으며 모든 설정 오류가 DB 비활성 처리로 복구되는 것은 아닙니다.

실제 채널 buzz:payload, buzz:proxyctl, buzz:proxy와 테이블 접두 bb_는 코드 상수이며 변경용 설정 키가 없습니다. buzz:<feature>:<op>는 로그용 논리 경로이고 별도 네트워크 채널이 아닙니다.

DB·프록시 없이 사용하는 최소 예시

섹션 제목: “DB·프록시 없이 사용하는 최소 예시”

생성된 기본 파일에서 다음 부분을 설정합니다. 생략한 키는 기본 리소스 또는 코드 대체값을 사용합니다.

database:
enabled: false
proxy:
control-bridge-enabled: false
transfer-enabled: false

아래 주소·계정·비밀번호·서버 이름은 모두 가상값입니다. 이대로 접속할 수 없으며 실제 접속 정보는 공개 문서나 저장소에 기록하지 않습니다.

database:
enabled: true
jdbc-url: "jdbc:mariadb://example.invalid:3306/example_framework"
username: "example_user"
password: "EXAMPLE_NOT_A_REAL_PASSWORD"
proxy:
control-bridge-enabled: true
transfer-enabled: true
server-id: "example-lobby"
handoff-ttl-seconds: 120

Paper 설정은 활성화 시 읽습니다. 전용 reload 명령은 없으며 다음 운영자 재시작 때 적용합니다.

키타입기본값설명
whitelistEnabled불리언false화이트리스트 검사 사용
maintenanceEnabled불리언false점검 허용 검사 사용
whitelistKickMessage문자열화이트리스트에 등록되지 않은 계정입니다.화이트리스트 거부 메시지
maintenanceKickMessage문자열서버 점검 중입니다. 잠시 후 다시 접속해 주세요.점검 거부 메시지
whitelist문자열 배열[]허용 UUID 또는 소문자 계정 이름
maintenanceAllowed문자열 배열[]점검 중 허용 UUID 또는 소문자 계정 이름
{
"whitelistEnabled": false,
"maintenanceEnabled": false,
"whitelistKickMessage": "화이트리스트에 등록되지 않은 계정입니다.",
"maintenanceKickMessage": "서버 점검 중입니다. 잠시 후 다시 접속해 주세요.",
"whitelist": [],
"maintenanceAllowed": []
}

명령으로 변경한 값은 즉시 저장을 시도합니다. 수동 파일 편집 내용은 다음 프록시 초기화 때 읽으며 자동 재읽기는 없습니다. 직접 입력하는 이름은 소문자, UUID는 하이픈이 있는 표준 문자열로 작성합니다. 파일 로드 시 목록 전체를 정규화하는 처리는 없습니다. null이나 잘못된 타입을 넣지 않습니다.

키타입기본값범위·설명
playerInventoryYOffset정수-10-80~80. 인벤토리 배경 세로 보정. 렌더러가 추가로 +10을 적용해 기본값은 슬롯 정렬 기준에서 0 보정
playerInventorySourceY정수1310~255. 텍스처를 잘라 읽을 시작 Y
playerInventoryHeight정수851~256 - playerInventorySourceY. 잘라 읽을 높이
backdropAlpha정수1700~255. 화면 검은 배경 불투명도
{
"playerInventoryYOffset": -10,
"playerInventorySourceY": 131,
"playerInventoryHeight": 85,
"backdropAlpha": 170
}

범위 밖 숫자는 위 범위로 보정합니다. 해당 이미지 GUI 렌더링 중 약 0.5초마다 수정 시각을 비교해 다시 읽습니다. 읽기에 실패하면 경고를 남기고 마지막 정상값을 유지합니다. 실패한 파일의 수정 시각도 기록하므로 수정 후 다시 저장해야 재시도됩니다.

2026-10-05 기본 리소스와 실제 설정 읽기 코드를 대조했습니다. 게임 내 동작은 미검증입니다.