2026-10-13 구현 기준 · 기본 설정 기준 · 셋업 → 기본 흐름 → 경계/복구 → 탈락 순서로 진행. 표의
시도 → 기대 결과가 합격 기준. 실행 결과는통과 / 실패 / 미실시로 기록.
1. 시작 전 1분 확인
| 항목 | 확인 |
|---|---|
| 서버 | Minecraft 26.3, Java 25, Fabric Loader 0.19.5, Fabric API 0.162.0+26.3 |
| 모드 | build/libs/stime-seasonal-war-1.0.0.jar를 서버 mods/에 설치; sources JAR 제외 |
| 클라이언트 | 별도 모드 불필요; 실제 Java·Bedrock 각각 접속해 시험 |
| Geyser | 배포 스택의 26.3 백엔드 지원 확인; 실기기 호환 검증은 베타에서 수행 |
| 계정 | 권장: 운영자 OP 1명 + 일반 테스터 3명 + 추가 테스터 1명 |
| 권한 | 보호/권한 테스트 계정은 OP 해제 + 서바이벌. OP는 진입·직접 조작 보호를 우회함 |
| 월드 | 새 테스트 월드 권장. 아래 /fill은 지정 구역을 덮어씀 |
| 기본 설정 | HP [800,1200,1600,2000], 비용 [0,64,128,192], allowOwnCoreDamage=false, allowCoreInSafeZone=false |
| 시험 제외 | 금고(Vault), 경제/상점/동맹, 자동 월드 초기화: 미구현. 차원 차단·TNT 제작 제한·농장 규칙: 다른 시스템 담당 |
이름 표기: TesterA/B/C/D는 예시. 실제 서버 이름으로 교체. 특수 이름은 "*Bedrock Name"; 오프라인 대상은 서버 UUID 전체 사용.
실행 위치: 좌표 명령은 오버월드에서 실행. 콘솔에서는 맨 앞 / 생략. 관리자 명령은 OP/콘솔, 국가장 명령은 해당 테스터가 직접 실행.
2. 빠른 셋업 — 작은 3개국 시험장
2-1. 좌표표
국가 수·크기는 자유 설정. 아래는 베타용 128×128 영토 3개 예시.
| 국가 ID | 영토 X | 영토 Z | 안전 청크 | 안전구역 실제 X/Z | 보호 Y | 예상 Core 중심 |
|---|---|---|---|---|---|---|
a | 0~127 | 0~127 | 0, 0 | X 0 | 64~70 | 63.5, 65, 63.5 |
b | 160~287 | 0~127 | 10, 0 | X 160 | 64~70 | 223.5, 65, 63.5 |
c | 320~447 | 0~127 | 20, 0 | X 320 | 64~70 | 383.5, 65, 63.5 |
| 중립 | 국가 영토 밖 | — | — | 중심 -32, 65, 8 | 국가 보호 없음 | — |
청크→블록: chunk×16 ~ chunk×16+15. 안전 청크 전체가 자기 영토 안에 있어야 함. Y는 양끝 포함, 최소 3칸.
2-2. 바닥·공간 준비
새 시험장용 복사 명령. 바닥 Y64, 서 있는 Y65. 기본 오버월드 높이 기준; 다른 높이의 월드라면 좌표 조정.
/worldborder center 224 64
/worldborder set 1024
/fill 0 64 0 127 64 127 minecraft:stone
/fill 160 64 0 287 64 127 minecraft:stone
/fill 320 64 0 447 64 127 minecraft:stone
/fill -40 64 0 -25 64 15 minecraft:stone
/fill -40 64 7 447 64 9 minecraft:stone
/fill 0 65 0 15 71 15 minecraft:air
/fill 160 65 0 175 71 15 minecraft:air
/fill 320 65 0 335 71 15 minecraft:air
/fill -40 65 0 -25 71 15 minecraft:air
/fill 60 65 60 66 383 66 minecraft:air
/fill 220 65 60 226 383 66 minecraft:air
/fill 380 65 60 386 383 66 minecraft:air
/setworldspawn -32 65 8
/seasonadmin neutralspawn -32 65 8
Core 조건: 자기 영토 + 경계 여유 + 하늘 완전 개방 + 단단한 3×3 바닥 + 빈 3×3×3 몸체 + 안전구역 밖. 유리·풀·눈·횃불도 상공 검사에 걸릴 수 있음.
2-3. 국가 생성
/seasonadmin create a "A국" 0 127 0 127 0 0 64 70
/seasonadmin create b "B국" 160 287 0 127 10 0 64 70
/seasonadmin create c "C국" 320 447 0 127 20 0 64 70
/war diagnostics
기대: 3개국 ACTIVE, Core Lv.0/800, Core 엔티티 있음, 배치·스폰 이상 없음. 국가장 미지정은 다음 단계에서 해결.
Core 생성 대기→ 지면/하늘 준비 후/seasonadmin respawncore <id>.- ID가 이미 존재 →
/seasonadmin nation <id>확인. 생성 명령 반복으로 초기화되지 않음. - 기존 국가/탈락 기록이 있는 월드 → 새 시험 월드 또는 새 ID 사용. 빈 국가도 ACTIVE면 균형·전쟁에 포함됨.
2-4. 가입·균형·국가장 설정
일반 계정으로 아래 순서 실행. 네 번째 계정이 없으면 거절/추방 항목은 나중에 수행.
| 실행자 | 명령 | 기대 |
|---|---|---|
| TesterA | /nation join a | 성공: 인원 1/0/0 |
| TesterD | /nation join a | 거절: 가입하면 2/0/0 |
| TesterB | /nation join b | 성공: 1/1/0 |
| TesterC | /nation join c | 성공: 1/1/1 |
| TesterD | /nation join a | 성공: 2/1/1 |
관리자:
/seasonadmin leader a TesterA
/seasonadmin leader b TesterB
/seasonadmin leader c TesterC
/war diagnostics
재시험용 빠른 배정: /seasonadmin assign <대상> <국가> → 균형 무시, 온라인 대상은 본국 이동. 강제 배정은 가입 균형 검증을 대신하지 않음.
2-5. 장비·백업
/give TesterA minecraft:diamond_sword
/give TesterB minecraft:diamond_sword
/give TesterC minecraft:diamond_sword
/give TesterB minecraft:bow
/give TesterB minecraft:arrow 64
- 필요 장비: 음식, 곡괭이, 상자·호퍼, 일반/끈끈이 피스톤, 레드스톤, 양동이, 부싯돌, TNT, 침대, 액자, 보트, 낚싯대.
- OP를 임시 부여했다면
/deop <대상>; 게임모드는/gamemode survival <대상>. - 처음 접속한 미배정 계정은
/tp <대상> -32 65 8로 시험장에 모으기. - NORMAL·예약 없음 상태에서 서버 정상 종료 후 시험 월드/설정/밴 목록 백업. 탈락·추방 시험은 이 체크포인트 이후 수행.
3. 명령어 빠른 참조
일반 플레이어
| 명령어 | 기능 |
|---|---|
/nation | 국가 메뉴 |
/nation status | 내 소속·국가 상태·Core·게임 상태 |
/nation join | 가입 메뉴; 클릭 후 확인/취소 |
/nation join <id> | 즉시 가입; NORMAL/PREPARATION만 가능 |
/nation members | 구성원·UUID·국가장 |
/nation core | Core 메뉴 |
/nation core status | Core 레벨·HP·좌표·다음 비용 |
/war 또는 /war status | 단계·예약 시각·남은 시간 |
국가장
| 명령어 | 기능 |
|---|---|
/nation core relocate | 현재 발밑 블록 중심으로 Core 이전; 배치 조건 검사 |
/nation core upgrade | 인벤토리 다이아로 한 단계 강화; 명령은 즉시 결제 |
/nation expel | 구성원 추방 메뉴 |
/nation expel <대상> | 추방 경고만 표시; 아직 실행 안 함 |
/nation expel <대상> confirm | 자국의 다른 구성원 영구 UUID 밴 + 소속 제거 |
강화·이전은 NORMAL/PREPARATION만 가능. 추방은 WAR/SEASON_END에도 가능. 자신·타국원 추방 불가.
관리자 — 국가/플레이어
| 명령어 | 기능 |
|---|---|
/seasonadmin 또는 /seasonadmin gui | 관리자 상자 메뉴 |
/seasonadmin create <id> <이름> <minX> <maxX> <minZ> <maxZ> <chunkX> <chunkZ> <minY> <maxY> | ACTIVE 국가 생성 + Core 자동 배치 시도 |
/seasonadmin rename <id> <이름...> | 표시 이름 변경 |
/seasonadmin territory <id> <minX> <maxX> <minZ> <maxZ> | 영토 수정; 기존 Core·안전 청크 포함 유지 |
/seasonadmin safezone <id> <chunkX> <chunkZ> <minY> <maxY> | 안전구역 수정; 기존 Core와 겹치면 거절 |
/seasonadmin leader <id> <대상> | 해당 국가 구성원을 국가장 지정 |
/seasonadmin assign <대상> <id> | 강제 소속 배정; 균형 무시 |
/seasonadmin reset <대상> | 이벤트 소속/국가장 해제; 온라인 대상은 중립 이동 |
/seasonadmin player <대상> | 소속·역할·가입 가능 상태 확인 |
/seasonadmin nation <id> | 국가·영토·안전구역·Core 상세 |
/seasonadmin respawncore <id> | ACTIVE Core 개체 재생성; HP·레벨·좌표 유지 |
/seasonadmin tpcore <id> | 관리자만 저장된 Core 위치로 이동 |
/seasonadmin deactivate <id> | 국가 영구 탈락 처리; 같은 시즌 재활성화 불가 |
/seasonadmin neutralspawn | 내 위치를 중립 스폰 탐색 기준으로 저장 |
/seasonadmin neutralspawn <x> <y> <z> | 중립 기준 좌표 저장; ACTIVE 영토 밖이어야 함 |
/seasonadmin diagnostics | /war diagnostics와 같은 진단 |
이름/영토/안전구역/국가장/생성/중립 설정/수동 탈락은 WAR·SEASON_END에서 제한. 강제 배정은 WAR 가능, SEASON_END 불가. reset·ACTIVE Core 복구는 WAR에서도 가능.
관리자 — 전쟁
| 명령어 | 기능 |
|---|---|
/war prepare | 준비 즉시 시작; NORMAL에서 실행 |
/war prepare 30s | 30초 후 준비 예약 |
/war start | Core·스폰 검증 후 전쟁 즉시 시작 |
/war start 90s | 90초 후 전쟁 예약 |
/war cancel | 두 예약만 취소; 현재 단계는 유지 |
/war end | NORMAL 복귀 + 생존 Core 회복 + 예약 취소 |
/war state NORMAL | 관리자 명시적 NORMAL 전환; 탈락국 복구는 안 함 |
/war state PREPARATION | 일반 준비 시작 규칙으로 전환 |
/war state WAR | 일반 시작 검증을 거쳐 전환; 검증 우회 아님 |
/war state SEASON_END | 관리자 시즌 종료 단계 지정; 자동 우승 판정 아님 |
/war diagnostics | 예약·인원·국가장·Core·배치·안전/중립 스폰 점검 |
예약 단위: 30s / 5m / 2h / 1d. 기준은 지금부터, 표시 시간대 기본 Asia/Seoul. 준비 예약은 전쟁 예약보다 앞서야 함.
/war end는 SEASON_END에서 거절. 수동 상태 전환도 탈락국/업그레이드 기록 전체를 초기화하지 않음.
시험 보조 — 바닐라 명령
| 명령어 | 기능 |
|---|---|
/tp <대상> <x> <y> <z> | 경계/침입/접속 전 위치 시험 |
/gamemode survival <대상> | 실제 참여자 모드 |
/deop <대상> | 보호·관리자 권한 시험용 OP 해제 |
/give <대상> minecraft:diamond <수량> | 강화 비용 지급 |
/pardon <이름> | 바닐라 밴 해제; 아래 추방 시험 절차 참고 |
/stop | 정상 종료; 저장/재시작 시험 |
밴 해제는 소속 복구가 아님. Core에 /kill은 통하지 않으며 탈락 시험도 아님. 일반 플레이어의 사망/리스폰 시험은 별도로 수행.
4. 1회 완주 순서
| 순서 | 할 일 | 확인 |
|---|---|---|
| 1 | 셋업·가입·국가장 지정 | ACTIVE 3개, 진단 이상 없음 |
| 2 | 이전·강화·NORMAL 보호 시험 | HP 불변/결제 정확/영토 약탈 가능 |
| 3 | GUI·추방·밴 해제 시험 | 확인 절차·권한·소속 제거 |
| 4 | /war prepare 30s, /war start 90s | 예약 표시; 준비 후 적 영토 진입 차단 |
| 5 | WAR 시작 | 온라인 국가원 본국 이동; 가입·이전·강화 잠금 |
| 6 | 실제 근접·화살·점화 TNT 시험 | 적 Core HP 감소, 아군 직접 피해 거절 |
| 7 | 접속·리스폰·복구·경계 시험 | 본국 귀환·HP 보존·구역 보호 |
| 8 | A국 Core 파괴 | 한 국가만 탈락, 즉시 NORMAL, 생존 HP 회복 |
| 9 | 전 구성원 재가입 → 다음 WAR → B국 파괴 | C국 우승·SEASON_END; 월드 자동 초기화 없음 |
Core 파괴 전까지 다른 시험을 끝내기. TNT로 망가진 Core 지면·시험용 지붕은 다음 WAR 전에 복구.
승패만 빠르게 확인하는 선택 명령
실제 근접/화살/TNT 시험을 먼저 수행. 아래는 전쟁 결과 처리만 빠르게 검증하는 관리자용 바닐라 피해 명령.
# WAR 중 A국 파괴. TesterB는 온라인 B국 구성원이어야 함.
/damage @e[type=minecraft:iron_golem,tag="stime_seasonal_nation:a",limit=1] 9999 minecraft:player_attack by @a[name="TesterB",limit=1]
# 위 명령 후 NORMAL / A국 탈락 확인. 지형·스폰 준비 후 두 번째 WAR.
/war start
# WAR 중 B국 파괴. TesterC는 온라인 C국 구성원이어야 함.
/damage @e[type=minecraft:iron_golem,tag="stime_seasonal_nation:b",limit=1] 9999 minecraft:player_attack by @a[name="TesterC",limit=1]
기대: 첫 파괴 → A만 ELIMINATED, NORMAL. 두 번째 파괴 → B ELIMINATED, C 우승/SEASON_END. 피해자·공격자 국가를 바꾸면 예시도 변경.
5. 주요 테스트 체크리스트
A. 소속·권한·메뉴
| ID | 시도 → 기대 결과 |
|---|---|
| N01 | 2-4 가입 순서 실행 → 차이 2 이상 가입 거절, 빈 국가 가입 가능 |
| N02 | 소속 있는 사람이 다른 국가 가입 → 거절 |
| N03 | 자기 국가 다시 가입 → 소속/인원 중복 없음 |
| N04 | 국가장에 타국원 지정 → 거절; 자국원 지정 → 성공 |
| N05 | 일반 계정 /war start, /seasonadmin diagnostics → 권한 거절 |
| N06 | 비국가장 이전·강화·추방 → 거절, 다이아/상태 그대로 |
| G01 | 가입 메뉴 확인 전·취소 → 미가입; 확인 → 가입 |
| G02 | 강화 메뉴 취소 → 다이아/레벨 그대로; 확인 → 정확한 결제 |
| G03 | Shift/드래그/숫자키/드롭/더블클릭 → 메뉴 아이콘 획득 불가 |
| G04 | 열린 확인창 도중 국가장 변경/WAR 시작 → 오래된 권한으로 실행 불가 |
| G05 | 일반 메뉴·관리 메뉴와 명령 대체 기능 → 각각 동작 |
| G06 | 메뉴 열린 동안 하단 인벤토리 조작 불가 → 현재 의도된 동작 |
B. Core 이전·강화
강화는 남은 다이아 수까지 확인. 아래는 TesterA가 A국 국가장, Lv.0, 인벤토리 다이아 0개인 상태.
| 관리자 지급 | TesterA 실행 | 기대 |
|---|---|---|
/give TesterA minecraft:diamond 63 | /nation core upgrade | 거절; Lv.0/800, 63개 그대로 |
/give TesterA minecraft:diamond 1 | /nation core upgrade | Lv.1/1200, 64개 소비 |
/give TesterA minecraft:diamond 128 | /nation core upgrade | Lv.2/1600, 128개 소비 |
/give TesterA minecraft:diamond 192 | /nation core upgrade | Lv.3/2000, 192개 소비 |
/give TesterA minecraft:diamond 64 | /nation core upgrade | 최대 단계 거절; 64개 그대로 |
다이아 블록·셜커 내부는 비용으로 계산 안 함. 이름 붙인 실제 다이아는 계산됨.
생존국 레벨 유지 시험: TesterB에게 192개 지급 → B가 강화 2회 → Lv.2/1600. WAR에서 B Core를 일부 다치게 하고 A를 탈락시켜 B가 Lv.2/1600으로 회복하는지 확인.
| ID | 시도 → 기대 결과 |
|---|---|
| C01 | 생성 직후 Core 확인 → 골렘 1개, Lv.0/800, AI/이동 없음 |
| C02 | 국가장이 조건 맞는 위치에서 이전 → 좌표 변경, HP/레벨 유지 |
| C03 | 영토 밖·중립·지하·유리 지붕·베드락·경계 옆 → 이전 거절 |
| C04 | Core 몸체가 ACTIVE 안전구역과 겹침 → 기본 설정에서 거절 |
| C05 | 기존 Core 포함하도록 안전구역 수정 → 거절 |
| C06 | NORMAL/PREPARATION 공격 → 저장 HP 감소 없음 |
| C07 | /seasonadmin respawncore a → 개체 재생성, HP/레벨/좌표 유지 |
| C08 | 관리자 명령으로 Core를 같은 차원에서 잠깐 옮김 → 저장 위치 복귀 |
| C09 | 로그아웃·청크에서 멀리 이동·정상 재시작 → Core 유지/정상 복구 |
| C10 | 원인 불명의 개체 유실 → 국가 탈락 아님; 남은 HP로 복구 |
개체 유실 시험은 별도 정리 도구/시험 환경에서 수행. /kill로 유실을 재현할 수 있다고 가정하지 말 것. respawncore는 지형 수리·HP 회복 명령이 아님.
C. 안전구역·일반 영토·경계 기믹
TesterA/D = A국, TesterB = 적국 기준. 각 경계 시험은 외부 → 보호구역과 구역 안끼리/완전 외부를 함께 비교.
| ID | 시도 → 기대 결과 |
|---|---|
| S01 | 자국 안전구역 진입·상자·건축 → 허용 |
| S02 | 적국/무소속 안전구역 진입 → 되돌림; 적 상자·설치·파괴 거절 |
| S03 | 같은 청크 minY 아래/maxY 위 → 안전 보호 없음; PREPARATION 영토 제한은 별개 |
| S04 | maxY+0.5의 생물 → 진입/피해 모두 구역 밖; 살아있는 발 좌표 기준 |
| S05 | NORMAL 일반 적 영토 → PvP·상자·파괴·설치·TNT 허용 |
| S06 | 밖에서 내부 칸에 문/침대 설치·부싯돌 점화 → 거절 |
| S07 | 보호구역 물 붓기/빈 양동이 회수 → 적은 거절, 자국은 가능 |
| S08 | 밖의 물·불·용암 점화가 내부를 변경 → 차단; 내부 흐름은 정상 |
| S09 | 외부 상자를 내부 상자에 붙임/외부 절반 열기 → 결합·접근 차단 |
| S10 | minY 아래 호퍼가 내부 상자 추출 / 외부 호퍼 삽입 → 차단 |
| S11 | 외부 디스펜서·드로퍼가 내부 칸에 효과 → 차단; 내부끼리는 정상 |
| S12 | 일반/끈끈이 피스톤 실제 전원 켜고 끄기 → 경계 밀기·당기기 차단 |
| S13 | 위에서 떨어진 외부 모래·자갈·모루 → 내부 블록화 차단 |
| S14 | 적이 액자·보트·광산수레·갑옷 거치대 공격/폭발 → 보호 |
| S15 | 밖에서 내부 드롭 줍기/낚싯대로 끌기 → 차단 |
| S16 | 외부 폭발/윈드차지가 내부 생물·드롭·차량을 밀기 → 보호 규칙 적용 |
| S17 | 적대 몹의 블록 파괴·엔더맨 가져가기/놓기 → 보호 경로 확인 |
| S18 | 자국원끼리 피해/자국에서 밖으로 공격 → 금지되지 않음; 아군 PvP 면역 아님 |
| S19 | 국가 탈락 직후 같은 자리 재시험 → 보호 해제, 실제 진입·약탈 가능 |
현재 보호 범위 밖: 식물·나무·덩굴·스컬크 성장, 좀비 문 파괴, 포털 생성, 일부 외부 모드 쓰기. 진주/코러스 이동은 착지 후 틱 보정. 밀려 들어온 몹/빈 차량, 이미 안쪽인 호퍼 카트도 별도 검증 대상. 모든 결과를 무조건 “보호 버그”로 분류하지 않기.
D. 준비·전쟁·전투·탈락
| ID | 시도 → 기대 결과 |
|---|---|
| W01 | /war prepare 30s, /war start 90s → 시간대/남은 시간 표시, 순서대로 전환 |
| W02 | /war cancel → 예약만 없음; PREPARATION이면 준비 상태 유지 |
| W03 | 준비 시작 때 적 영토 안에 있던 일반 계정 → 본국/허용 위치로 퇴거 |
| W04 | 준비 중 적 영토에서 재접속/상공 비행 → 높이와 무관하게 제한 |
| W05 | 준비 중 무소속 → 모든 ACTIVE 영토 밖; 가입은 가능 |
| W06 | WAR 시작 → 모든 온라인 국가원 본국 안전구역 이동 |
| W07 | WAR 중 미배정 계정 가입 → 거절; 이전·강화도 거절 |
| W08 | WAR 중 적 영토 이동·약탈 → 허용; 안전구역 보호는 계속 유지 |
| W09 | 실제 적 근접·날아가는 화살·점화 TNT → 정확한 대상 Core HP 감소 |
| W10 | 식별된 자국원 직접 공격/소유 공격 → 기본 아군 Core 피해 거절 |
| W11 | 무소속 직접 공격 → 거절; 무소유 TNT/야생 몹 피해는 환경 피해로 별도 기록 |
| W12 | 연타/다인 공격 → 바닐라 피격 쿨다운 적용; 모든 클릭이 독립 피해는 아님 |
| W13 | 64블록 이내 Core → 이름/보스바; 먼 자국원 → 피격 채팅 수신 |
| W14 | WAR 중 재접속·실제 사망/부활 → 본국 안전구역 |
| W15 | 밖에 침대 두고 사망 → 침대 위치가 아닌 이벤트 스폰 |
| W16 | Core 하나 0HP → 그 국가만 탈락, 전쟁 즉시 종료 |
| W17 | 생존 Core를 미리 다치게 한 뒤 다른 국가 탈락 → 최대 HP 회복, 레벨 유지 |
| W18 | 탈락 구성원 → 무소속; NORMAL에서 남은 국가에 균형 맞춰 가입 가능 |
| W19 | 탈락 국가 → 새 가입·Core 복구·자동 재활성화 불가 |
| W20 | 두 번째 전쟁에서 마지막 상대 탈락 → 승자·SEASON_END, 월드 유지 |
| W21 | SEASON_END 가입·강화·이전, /war end → 거절 |
| W22 | /war state NORMAL → 단계만 복귀; 탈락 국가 되살아나지 않음 |
빈 ACTIVE 국가는 자동 탈락하지 않음. 수동 deactivate로 1개만 남겨도 자동 우승 선언은 안 함. 다음 전쟁 자동 예약 없음.
6. 추방·밴 해제 시험
추방 대상은 시험용 자국원, 국가장은 별도 계정. 추천: 탈락 시험 전에 A국 TesterD로 진행.
| 순서 | 시도 → 기대 |
|---|---|
| 1 | 비국가장·타국 대상·자기 자신 추방 → 거절 |
| 2 | /nation expel TesterD → 영구 밴 경고만, 접속/소속 유지 |
| 3 | 메뉴 추방 취소 → 접속/소속 유지 |
| 4 | /nation expel TesterD confirm 또는 메뉴 확인 → 킥·영구 밴·A국 인원 즉시 감소 |
| 5 | 접속 재시도 → 밴으로 거절 |
| 6 | 관리자 /pardon TesterD → 접속 가능; 국가 소속은 무소속 |
| 7 | 인벤토리·발전과제 확인 → 추방이 삭제하지 않음 |
| 8 | NORMAL에서 다시 가입 → 신규 선택 취급; WAR에서는 선택 거절 |
오프라인/특수 이름 밴 해제가 실패할 때: 대상 서버 UUID 확인 → 서버 종료 → banned-players.json에서 해당 UUID 항목만 제거 → JSON 저장/재시작. 밴 전체 목록·플레이어 데이터를 지우지 않기.
/seasonadmin reset은 밴 해제 명령이 아님. 실제 Java·Bedrock 대상 각각 소속/밴/복귀 UUID를 비교.
무소속/WAR 가입 시험은 밴 해제한 TesterD의 재가입을 보류하거나 /seasonadmin reset TesterD 후 진행.
7. 재시작·예약·스폰 장애 시험
정상 재시작
| ID | 시도 → 기대 |
|---|---|
| R01 | Core 이전/강화 → 좌표·레벨·HP 기록 → /stop/재시작 → 그대로 |
| R02 | 준비 2m, 전쟁 5m 예약 → 재시작 → 원래 절대 시각 유지; 새 카운트다운 아님 |
| R03 | 예정 시각 지나서 재시작 → 저장 시각 기준 전환; 유효한 Core/스폰 필요 |
| R04 | WAR에서 Core 일부 피해 → 정상 재시작 → WAR/남은 HP 유지; 로그인 본국 이동 |
| R05 | 소속·국가장·탈락 상태 재시작 → 유지; 탈락 Core 재생성 없음 |
WAR 시작 실패
- NORMAL/PREPARATION에서 시험 Core 위에 지붕 설치.
/war diagnostics→ 국가·배치 오류 표시.- 짧게 WAR 예약 → 시작 거절·예약 취소·원인 공지.
- 지붕 제거/진단 정상 확인 → 다시 예약.
스폰/배치 검증 실패와 저장 장애는 다름: 저장/런타임 장애는 예약을 남기고 재시도할 수 있음.
WAR 중 막힌 본국 스폰 — 예시 좌표 기준
WAR를 먼저 정상 시작. 아래는 A국 바닥 시험; Core는 별도 위치라 직접 영향 없음.
/tp TesterA -32 65 8
/fill 0 64 0 15 64 15 minecraft:air
TesterA 재접속 → 중립 대피 확인 → 35초 이상 대기 → 관리자 바닥 복구:
/fill 0 64 0 15 64 15 minecraft:stone
기대: WAR가 계속되는 동안 본국 귀환 의무 유지 → 재시도 후 A 안전구역 복귀. 재시도 간격 최대 약 30초(20TPS 기준); 곧바로 안 움직였다고 실패 판정하지 않기.
WAR 밖의 필수 귀환은 600틱 뒤 실패 안내/관리자 알림. 이전 위치가 막혔을 때 벽 안으로 되돌리는지도 별도 확인.
8. Java·Bedrock 공통 확인
| 항목 | 둘 다 확인 |
|---|---|
| 접속/신원 | 서버에서 표시되는 UUID 기록; 재접속·밴 해제 후 동일 |
| 명령 | 가입/상태/이전/강화/추방, 따옴표 이름·전체 UUID 대상 지정 |
| GUI | 가입·강화·추방 확인/취소, 아이콘 이동 불가, 관리자 메뉴 |
| Core | 철 골렘 보임·타격 가능·실제 HP 감소·보스바/채팅 표시 |
| 이동 | 준비 퇴거·WAR 시작·WAR 재접속·사망/부활·지연 귀환 |
| 종료 | 탈락 공지·무소속 처리·안전구역 해제·최종 승리 |
Java만 성공했다고 Bedrock 통과 처리하지 않기. GUI가 실패하면 명령 대체도 같이 시험하고 별도 결과 기록.
9. 빠른 문제 대응·반복 시험
| 증상 | 먼저 할 일 |
|---|---|
| 가입 거절 | /war status, /seasonadmin player <대상>; ACTIVE 인원 차이·기존 소속 확인 |
| 국가장 기능 거절 | /nation members; 실제 국가장 UUID 확인; NORMAL/PREPARATION 확인 |
| Core 없음 | /seasonadmin nation <id> → 지형 준비 → respawncore; pending 자동 탐색은 즉시가 아닐 수 있음 |
| WAR 시작 거절 | /war diagnostics; 지붕·몸체·바닥·안전/중립 스폰·활성 국가 수 확인 |
| 진입이 막히지 않음 | 테스트 계정 OP 여부, 차원, 청크, 정확한 발 Y, ACTIVE 여부 확인 |
| HP가 안 닳음 | WAR 여부, 공격자 소속, 아군 여부, 실제 타격/피격 쿨다운 확인 |
| 스폰 복귀 지연 | 공간·바닥·점유 검사; 재시도 대기; 관리자 로그 확인 |
| “저장됐지만 후속 실패” | 상태를 먼저 읽기. 같은 생성/결제 명령 무작정 반복 금지 |
| 추방 후 접속 불가 | 바닐라 밴 해제; reset으로 해결 안 됨 |
| 예전 국가가 안 살아남 | 탈락은 영구. 상태 전환/respawncore로 복구 안 됨 |
반복 방법
- 전투만 반복:
/war end→ 지형 복구/진단 →/war start. 아직 탈락하지 않은 ACTIVE 국가만 대상. - 탈락/강화까지 초기 상태 반복: 서버 종료 → 셋업 체크포인트 복원 → 재시작. 월드의 플레이어 데이터/상태, 설정, 밴 목록을 같은 시점으로 맞추기.
- 백업 없이 새 묶음: NORMAL 전환 → 남은 옛 ACTIVE 국가 수동 탈락 → 새 ID로 국가 생성/재배정. 옛 ELIMINATED 기록은 남고 같은 ID 재사용 불가.
- 모드에 전체 시즌 리셋·국가 삭제/재활성화·Core 레벨 초기화 명령은 없음.
10. 결과 기록 — 한 줄 + 실패 증거
테스트 ID / Java·Bedrock / 실행자·소속·OP 여부 / 상태 / 시도 / 기대 / 실제 / 통과·실패·미실시
실패 시 추가: 시각, 서버/클라이언트/Geyser 버전, 서버 UUID, 차원·X/Y/Z, 국가 ID, Core HP/레벨/좌표, 명령·클릭·피해 종류, 화면/관련 로그, 재현 순서.
베타 1차 완료: 셋업 진단 정상 + 양쪽 클라이언트 핵심 기능 + 첫 탈락/NORMAL + 최종 승리 + 재시작 보존 확인. 미실시/실패 항목은 남겨서 전달.
상세 근거: 명령어 · 게임 규칙 · 검증 범위 · 최근 수정 결과 §9.
이 문서 작성 중 실제 서버/Java·Bedrock 접속 시험이나 빌드 재실행은 하지 않았음. 모드 소스는 변경하지 않았음.