PVP Flagging

플레이어가 스스로 PvP를 켜고 끄게 하는 모드. 양쪽이 모두 플래그를 켜야 전투가 성립하고, 관리자는 PvP 존을 지정할 수 있습니다.

📖 소개

PVP Flagging은 플레이어가 스스로 PvP 참여 여부를 켜고 끄게 하는 서버 유틸리티 모드입니다. 핵심 규칙은 하나입니다 — 양쪽 플레이어가 모두 플래그를 켠 상태여야만 서로 공격이 들어갑니다. 한쪽이라도 꺼져 있으면 전투가 성립하지 않습니다.

명령어 (소스의 PvpFlagCommand·PvpZoneCommand) - /pvpFlag — 인자 없이 쓰면 현재 상태를 뒤집습니다. on·off·status 를 붙일 수도 있습니다. 권한 레벨 0이라 누구나 씁니다. - /pvpZone add <이름> — 구역을 만듭니다. buffer 가 경고가 뜨는 여유 범위입니다. - /pvpZone add_chunk [buffer] — 서 있는 청크를 그대로 구역으로 만듭니다. buffer 생략 시 8. - /pvpZone remove <이름> · /pvpZone list — 삭제·조회. pvpZone 계열은 권한 레벨 2(OP)가 필요합니다.

구역은 x·z 좌표로만 정의됩니다. 높이 제한이 없어서 같은 x·z 라면 지하도 상공도 전부 구역 안입니다.

언플래그에는 지연이 있습니다. PvP를 끄는 요청은 즉시 적용되지 않고 기본 15초(설정 변경 가능)를 기다려야 합니다. 그 사이에 피해를 주고받으면 언플래그 요청이 취소됩니다. 로그아웃하면 타이머가 초기화됩니다. 전투 중 플래그를 끄고 도망치는 것을 막는 장치입니다.

PvP 존 — 관리자가 지정한 구역에 들어가면 자동으로 플래그가 켜집니다. 구역에 가까워지면 경고가 표시되고, 경고 범위 크기도 설정할 수 있습니다.

상태 표시 — 플래그가 켜진 플레이어의 이름표와 탭 목록에 붉은 검 표시가 붙습니다. 내 상태는 HUD 아이콘으로 따로 뜨고, 위치(기본 좌하단)와 표시 여부를 설정에서 바꿀 수 있습니다.

⚠ 스코어보드 팀에 속하면 플래그 규칙이 적용되지 않습니다. 소스의 canHarmPlayer 믹스인은 공격자가 팀에 속하지 않은 경우에만 양쪽 플래그를 확인합니다. 팀에 속해 있으면 바닐라 팀 규칙으로 넘어가서, 같은 팀이면 friendly fire 설정을 따르고 다른 팀이면 플래그와 무관하게 공격이 들어갑니다. 팀 기능을 쓰는 서버라면 이 점을 먼저 확인해야 합니다.

서버 설정 주의 — 서버에서는 server.properties의 pvp=true가 켜져 있어야 모드가 동작합니다. 싱글플레이 LAN 월드에서는 별도 설정이 필요 없습니다.

설정 — 서버 6종 + 클라이언트 4종입니다. player_login_state(기본 PRESERVE)와 player_respawn_state(기본 UNFLAG)는 접속·리스폰 시 플래그를 유지할지 켤지 끌지 고르고, unflag_wait_time_ticks(기본 300틱 = 15초), pvp_zone_bounds_check_ticks(기본 20), display_welcome_message(기본 켜짐), 그리고 pvp_damage_multiplier(기본 1.0) 로 플레이어 간 피해량 배율까지 조정합니다. 클라이언트 쪽은 HUD 아이콘 표시 여부·모서리·x·y 오프셋입니다.

🕒 이 모드는 언제 쓰는가

친구·소규모 멀티 서버에서 원치 않는 PvP를 막고 싶을 때. 특정 구역만 전투 구역으로 열고 싶을 때.

📦 어떤 모드팩에서 중요한가

PvP가 켜진 멀티 서버. 합의된 결투만 허용하고 평소에는 서로 공격이 안 되게 하고 싶은 환경.

🎮 플레이 체감 변화

평소에는 서로 공격이 들어가지 않고, 양쪽이 합의해 플래그를 켰을 때만 전투가 시작됩니다.

🚀 시작 가이드 — 첫 30분 동안 해야 할 것

1단계 — 서버라면 server.properties에서 pvp=true를 확인합니다.

2단계 — /pvpFlag status로 자기 상태를 확인합니다.

3단계 — 결투를 하려면 양쪽이 /pvpFlag on을 합니다. 상시 전투 구역이 필요하면 관리자가 /pvpZone add로 지정합니다.

💡 플레이 팁

  • 전용 서버라면 server.properties의 pvp=true를 먼저 확인하세요 — 이게 꺼져 있으면 모드가 동작하지 않습니다.
  • 결투는 양쪽이 모두 /pvpFlag on 해야 성립합니다 — 한쪽만 켜면 아무 일도 일어나지 않습니다.
  • PvP 존은 /pvpZone add로 만듭니다 — 경고 범위 크기도 함께 지정할 수 있습니다.
  • 청크 하나만 투기장으로 열 거라면 /pvpZone add_chunk — 서 있는 청크를 좌표 입력 없이 그대로 구역으로 만듭니다.

⚠️ 자주 헷갈리는 부분

  • • PvP를 껐는데 바로 안 꺼집니다 — 기본 15초의 대기 시간이 있고, 그 사이에 피해를 주고받으면 요청이 취소됩니다.
  • • 공격이 안 들어가는데 버그가 아닙니다 — 상대가 플래그를 켜지 않았다면 정상 동작입니다. 이름표 오버레이로 상태를 확인할 수 있습니다.
  • • PvP 존 안에서는 언플래그가 아예 안 됩니다 — "You cannot unflag inside a PVP zone" 메시지가 뜨고 요청이 거부됩니다. 구역 밖으로 나온 뒤에 꺼야 합니다.
  • • 팀에 속해 있으면 플래그가 무시됩니다 — 다른 팀 플레이어는 플래그와 상관없이 공격이 들어갑니다. 버그가 아니라 소스에 있는 동작입니다.

❓ 자주 묻는 질문

어떻게 작동하나요?

각 플레이어가 /pvpFlag on|off로 자기 PvP 상태를 켜고 끕니다. 양쪽 모두 켜져 있어야만 서로 공격이 들어갑니다. 관리자는 /pvpZone으로 자동 플래그 구역을 만들 수 있습니다.

PvP를 끄는데 왜 15초를 기다려야 하나요?

전투 중에 플래그를 끄고 빠져나가는 것을 막기 위해서입니다. 대기 중에 피해를 주고받으면 요청이 취소되고, 로그아웃하면 타이머가 초기화됩니다. 대기 시간은 설정에서 바꿀 수 있습니다.

상대가 플래그 상태인지 어떻게 알 수 있나요?

이름표 오버레이에 PvP 상태가 표시됩니다. /pvpFlag status로 자기 상태도 확인할 수 있습니다.

서버에 별도 설정이 필요한가요?

전용 서버라면 server.properties에 pvp=true가 필요합니다. 싱글플레이 LAN 월드는 별도 설정 없이 동작합니다.

팀을 쓰는 서버에서도 그대로 작동하나요?

아닙니다. 소스의 canHarmPlayer 믹스인은 공격자가 스코어보드 팀에 속하지 않은 경우에만 양쪽 플래그를 확인합니다. 팀에 속하면 바닐라 팀 규칙으로 넘어가 같은 팀은 friendly fire 설정을, 다른 팀은 플래그와 무관하게 공격 가능을 따릅니다.

📦 이 모드가 포함된 모드팩

🔗 관련 모드