Config
Feathered Friend에는 두 가지 구성 레이어가 있습니다.
- 클라이언트 구성 (
featheredfriend-client.toml): UI 및 로컬 기본 설정 동작입니다. - 서버 구성 (
featheredfriend-server.toml): 게임플레이 인증 값이 클라이언트에 동기화됩니다.
일반적인 개발 실행에서는 다음을 수행합니다.
neoforge/run/config/featheredfriend-client.tomlneoforge/run/config/featheredfriend-server.toml
서버 구성은 게임플레이 규칙의 정보 소스입니다. 클라이언트는 동기화된 값을 수신하며 서버가 편집을 허용하지 않는 한 이를 읽기 전용으로 처리해야 합니다.
동기화 파이프라인
- 클라이언트 요청 설정(
RequestServerSettingsPayload). - 서버가 전체 스냅샷(
ServerSettingsPayload)을 보냅니다. - 서버는 로그인 시에도 설정을 푸시합니다.
- 서버 틱 감시자는 구성 변경 및 재방송을 확인합니다.
따라서 TOML 핫 리로드 및 게임 내 설정의 편집 내용이 모두 연결된 클라이언트에 전파됩니다.
핫 리로드 동작
FFServerConfig의 서버 구성 값은 런타임 값입니다.
FFConfigSyncEvents는 다음을 포함하여 값이 변경되면 모니터링하고 다시 브로드캐스트합니다.
- 기능 토글 (
enableSuspiciousFeather,enableSuspiciousChest,enableRavenArmor,enableMailbox) - 한도/쿨다운
- 채팅 토글
ravenLinkDurationSeconds는 활성 세션 중에 다시 읽혀지므로 구성 변경 후 즉시 현재 링크를 단축/연장할 수 있습니다.
DEEP DIVE: dirty-flag + save
FFServerConfig의 설정자는 설정을 더티로 표시하고 SERVER_SPEC.save()을 시도하여 변경 사항을 빠르게 동기화하고 디스크에 유지할 수 있습니다.
게임 내 설정 권한
사용자 정의 설정 GUI는 open_settings 키 바인딩을 통해 열립니다(기본적으로 바인딩 해제됨).
서버측 편집은 두 가지 모두에 해당하는 경우에만 허용됩니다.
allowServerSettingsScreenEditing = true- 플레이어는 운영자 권한 레벨 4를 가지고 있습니다
그렇지 않으면 클라이언트가 동기화된 값을 볼 수 있지만 서버 설정 편집 내용을 적용할 수는 없습니다.
클라이언트 구성(로컬 전용)
클라이언트 구성은 다음을 포함하여 로컬 UI/기본 설정만 제어합니다.
scrollUiFontMode(VANILLA,JACQUARD,ALAGARD)- 까마귀 상태 배지 위치/앵커/시각 모드
- 좋아하는 인감 열쇠
- 레이븐 로그 보기 설정(카테고리 가시성/색상)
이는 서버 게임 플레이를 변경하지 않습니다.
서버 구성(게임 플레이 권한)
settings 섹션
| 열쇠 | 기본 | 범위 | 목적 |
|---|---|---|---|
chatDisabledDefault | false | 부울 | 글로벌 플레이어 채팅 비활성화(명령은 영향을 받지 않음) |
ravenChestsPerPlayer | 3 | 0..64 | 플레이어당 최대 배치된 의심스러운 상자. |
ravenLogRetentionMinutes | 10080 | 0..129600 | Raven 로그 보존 기간(분)입니다. |
ravenLogMaxBytesPerPlayer | 262144 | 0..4194304 | 삭제 전 플레이어당 최대 Raven 로그 크기입니다. |
enderpackDepositCooldownSeconds | 600 | 0..86400 | Enderpack -> 가슴 입금 워크플로우 사이의 쿨다운. |
scrollDeliveryCooldownSeconds | 600 | 0..86400 | 두루마리 택배 발송 사이의 쿨다운입니다. |
courierTimeoutRetrySeconds | 60 | 0..86400 | 시간 초과로 인해 실패한 택배 작업의 자동 재시도 간격입니다. |
brushRavenCooldownSeconds | 30 | 0..86400 | 까마귀를 브러싱하는 사이의 재사용 대기시간입니다. |
ravenLinkDurationSeconds | 30 | 5..600 | Raven Link 세션 기간. |
allowServerSettingsScreenEditing | true | 부울 | 설정 화면에서 OP 편집을 허용/불허합니다. |
features.enableSuspiciousFeather | true | 부울 | 의심스러운 깃털 논리를 활성화합니다. |
features.enableSuspiciousChest | true | 부울 | 수상한 상자 특수 로직을 활성화합니다. |
features.enableRavenArmor | true | 부울 | Raven Armor 장착/능력치 로직을 활성화합니다. |
features.enableMailbox | true | 부울 | 사서함 탐지 + 택배 사서함 라우팅을 활성화합니다. |
spawning 섹션
| 열쇠 | 기본 | 범위 | 목적 |
|---|---|---|---|
wildRavensPerPlayer | 1 | 0..16 | 온라인 비관전 플레이어별 야생 까마귀 모자. |
기능 토글이 꺼져 있는 경우
기능 토글은 항목/블록 존재가 아닌 논리를 비활성화합니다.
- 기존 항목/블록은 그대로 유지됩니다.
- 재고는 계속 접근 가능
- 기능별 런타임 시스템을 건너뜁니다.
예:
enableMailbox=false: 사서함 저장소는 여전히 열려 있지만 검색/라우팅이 비활성화되어 있습니다.enableSuspiciousChest=false: 가슴 보관함은 여전히 작동하지만 농어/담금 논리가 비활성화됩니다.enableSuspiciousFeather=false: Raven Link 시작/재생 경로가 비활성화되었습니다.
기능 비활성화는 동작 전환일 뿐입니다. 해당 기능에 대한 기존 세계 데이터는 제거되지 않습니다.
서버 스냅샷 예
{
"settings": {
"ravenChestsPerPlayer": 3,
"enderpackDepositCooldownSeconds": 600,
"scrollDeliveryCooldownSeconds": 600,
"ravenLinkDurationSeconds": 30,
"allowServerSettingsScreenEditing": true,
"features": {
"enableSuspiciousFeather": true,
"enableSuspiciousChest": true,
"enableRavenArmor": true,
"enableMailbox": true
}
},
"spawning": {
"wildRavensPerPlayer": 1
}
}이 프로젝트 후원
이 위키와 모드가 마음에 드시나요?
여러분의 후원은 기능 개발, 문서 작성, 업데이트 지속에 큰 도움이 됩니다.