가이드

Minecraft 경제 플러그인 만드는 법

2026년 10월 18일 업데이트

경제 플러그인은 플레이어마다 잔액을 관리하고, 서로 돈을 보내거나 벌고 상점에서 쓸 수 있게 해요. 중요한 건 명령어가 아니라 Vault 연동이에요. 상점, 직업, 경매 플러그인이 내 화폐를 쓸 수 있게 해 주는 게 바로 이 부분이거든요. 이 가이드는 설계, 저장 방식, 빌드와 테스트 방법을 다뤄요.

이 예시에서 시작해서 규칙을 내 서버에 맞게 바꾸세요.

Codexe로 이걸 생성하기

단계별 안내

  1. 1.플러그인의 역할 정하기

    플러그인이 경제 그 자체이거나(잔액을 저장하고 Vault 경제로 등록), Vault를 통해 기존 경제를 사용하는 플러그인(상점, 현상금, 직업 플러그인)이에요. 대부분의 서버에는 두 개의 경제가 아니라 각각 하나씩 필요해요.

  2. 2.서버와 버전 고르기

    서버 소프트웨어와 버전을 적으세요. 예: Paper 1.21.4. 플러그인은 그 버전의 API와 Java 수준에 맞춰 빌드돼요.

  3. 3.명령어와 규칙 정리하기

    /balance, /pay <player> <amount>, /baltop, 그리고 /eco give|take|set 같은 관리자 명령어. 시작 잔액, 화폐 이름, 소수점 자릿수, 최소 송금액도 적어 주세요.

  4. 4.잔액 저장 위치 고르기

    서버가 하나면 SQLite, 여러 서버가 같은 잔액을 공유해야 하면 MySQL을 쓰세요. 돈은 재시작과 크래시 후에도 남아 있어야 하므로 메모리에만 두면 안 돼요.

  5. 5.Codexe가 작성하고 빌드하게 하기

    플러그인을 설명하고 Vault를 명시해서 의존성으로 추가되게 하세요. Codexe가 Java 코드, plugin.yml, config.yml을 작성하고, 컴파일하고, 프로젝트를 준비 완료로 표시하기 전에 빌드 오류를 고쳐요.

  6. 6.게임 안에서 송금 테스트하기

    지금 체험하기를 누르고 테스트 서버에 접속하세요. 두 계정 사이에 송금해 보고, 너무 큰 금액, 음수, 숫자가 아닌 값을 넣어 본 다음, 재시작하고 잔액이 그대로 남아 있는지 확인하세요.

  7. 7.설치하기

    Vault와 내 .jar를 서버의 plugins/ 폴더에 넣고 재시작하세요. 다른 경제 플러그인은 제거하거나, Vault가 어떤 것을 쓸지 정하세요.

Vault의 역할

Vault는 경제가 아니라 다리 역할을 해요. 경제 플러그인은 Vault의 Economy 인터페이스를 구현해서 서버의 서비스 매니저에 등록하고, 다른 플러그인은 getServer().getServicesManager().getRegistration(Economy.class)로 그것을 받아 getBalance, withdrawPlayer, depositPlayer 같은 메서드를 호출해요.

그래서 상점 플러그인은 어떤 경제 플러그인을 쓰는지 알 필요가 없어요. plugin.yml에서 Vault 없이 작동할 수 없는 플러그인이면 depend: [Vault]를, Vault가 선택 사항이면 softdepend를 쓰세요. Vault API는 컴파일할 때만 필요하고, Vault 자체는 서버에 설치해요.

요청에 적어야 할 결정 사항

  • 화폐 형식: 단수형과 복수형 화폐 이름, 기호, 소수점 자릿수.
  • 한도: 시작 잔액, 최대 잔액, 잔액이 마이너스가 될 수 있는지.
  • 오프라인 플레이어: 접속하지 않은 플레이어에게도 /pay와 /eco가 작동하는지.
  • 기록: 스태프가 분쟁을 확인할 수 있도록 데이터베이스나 파일에 남기는 거래 기록.
  • 돈 버는 방법: 몹 처치, 플레이 시간 보상, 아이템 판매, 또는 관리자 명령어만.

잔액을 저장할 곳

저장소적합한 경우주의할 점
YAML 파일아주 작은 서버, 읽기 쉬움플레이어가 많으면 느리고, 크래시가 나면 쉽게 손상됨
SQLite서버 하나, 설정 필요 없음서버 간에 공유할 수 없음
MySQL / MariaDB잔액 하나를 공유하는 네트워크데이터베이스 서버와 config.yml의 로그인 정보가 필요함

설명 예시

"Vault 경제로 등록되는 Coins라는 Paper 1.21.4 경제 플러그인. /balance [player], 최소 1인 /pay <player> <amount>, 상위 10명을 보여 주는 /baltop, coins.admin 권한이 있는 플레이어용 /eco give|take|set. 새 플레이어는 100코인으로 시작. 소수점 두 자리. 모든 송금은 날짜, 보낸 사람, 받는 사람, 금액과 함께 기록. 잔액은 SQLite에 저장. 화폐 이름과 모든 메시지는 config.yml에."

다른 걸 요청하지 않으면 Codexe는 기본으로 SQLite를 써요. MySQL을 요청하면 플러그인이 storage-type 설정을 갖도록 작성되고, 체험하는 동안 테스트 서버가 전용 MySQL 데이터베이스를 제공해요.

질문

Vault가 필요한가요?

다른 플러그인이 쓰지 않는 독립형 경제라면 필요 없어요. 다른 플러그인(상점, 직업, 경매)이 잔액을 읽거나 바꿔야 하는 순간부터 필요해요. 그 플러그인들이 찾는 API가 바로 Vault거든요.

EssentialsX와 함께 쓸 수 있나요?

EssentialsX는 자체 경제가 있고 그것도 Vault에 등록해요. 경제는 한 번에 하나만 쓰거나 원하지 않는 쪽을 꺼 두세요. 그렇지 않으면 다른 플러그인이 내 명령어에 표시되는 잔액과 다른 잔액을 쓸 수 있어요.

여러 서버가 같은 잔액을 공유할 수 있나요?

네, MySQL이나 MariaDB를 저장소로 쓰고 모든 서버의 config.yml에 같은 데이터베이스를 넣으면 돼요. 플러그인이 잔액을 너무 오래 캐시하지 않고 데이터베이스에서 읽도록 요청에 적어 주세요.

실제 서버 없이 어떻게 테스트하나요?

지금 체험하기로 하면 돼요. 컴파일된 플러그인이 들어간 내 버전의 비공개 Paper 서버가 시작되고, Vault처럼 depend와 softdepend에 적힌 플러그인도 함께 설치돼요. 무료 플랜에서는 하루에 테스트 서버 3개, 각 10분씩 쓸 수 있어요.

내 서버의 경제 만들기

이 프롬프트는 바로 보낼 수 있는 상태로 열려요:

“Vault 경제로 등록되는 Coins라는 Paper 1.21.4 경제 플러그인: /balance, 최소 1인 /pay, 상위 10명 /baltop, coins.admin용 /eco give|take|set, 시작 잔액 100, 소수점 두 자리, 모든 송금 기록, 잔액은 SQLite에, 화폐 이름과 메시지는 config.yml에.”

Codexe로 이걸 생성하기
Minecraft 경제 플러그인 만드는 법 (Vault, Paper) | Codexe