> For the complete documentation index, see [llms.txt](https://onic-studio.gitbook.io/solarplugins-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://onic-studio.gitbook.io/solarplugins-docs/plugins/solarduels/cau-hinh.md).

# Cấu hình

File cấu hình chính nằm tại `plugins/SolarDuels/config.yml`.

Sau khi chỉnh xong, chạy:

```bash
/dd reload
```

***

### Cần chỉnh trước khi chạy

* `PLUGIN_LICENSE.LICENSE_KEY` — bắt buộc.
* `PLUGIN_LICENSE.LOCKED_IP` — để trống ở lần chạy đầu nếu plugin tự khóa IP.
* `LOCATIONS.SPAWN-LOCATION` — đặt đúng spawn mặc định.
* `SETTINGS.DEFAULT-REGION` — chọn khu vực mặc định của server.
* `SETTINGS.REGIONS` — bỏ các vùng bạn không dùng.

{% hint style="warning" %}
Nếu không có license hợp lệ, plugin sẽ tự tắt.
{% endhint %}

***

### config.yml

{% code title="config.yml" %}

```yaml
# SolarDuels Configuration
# Cấu hình plugin SolarDuels
# Plugin: SolarDuels v1.0-R01
# Máy chủ: Paper/Folia 1.21.4+

# CÀI ĐẶT KHÁN GIẢ (Spectator Settings)
SPECTATOR:
  # Giữ khán giả ở thế giới duel hoàn toàn
  # Keep spectators in duel world/arena (true/false)
  # Nếu true: khán giả ở với người chơi; nếu false: khán giả quay về vị trí cũ
  ALWAYS_IN_DUEL_WORLD: false

# CÀI ĐẶT TRẬN ĐẤU (Match Settings)
SETTINGS:
  # Thời gian người chiến thắng có thể nhặt tài nguyên (giây)
  # Time winner can loot items after match (seconds)
  # Mặc định: 60 giây | Default: 60 seconds
  LOOT-TIME: 60

  # Khoảng thời gian tối đa cho trận đấu (phút)
  # Maximum match duration (minutes) - match ends after this
  # Nếu hết thời gian, người chơi có nhiều HP hơn sẽ thắng
  # If time expires, player with more HP wins
  MATCH-TIME: 15

  # Thời gian hết hạn yêu cầu thách đấu (giây)
  # Time until a duel request expires (seconds)
  # Mặc định: 30 giây | Default: 30 seconds
  DUEL-REQUEST-EXPIRY: 30

  # Cấu hình xử phạt khi rời khỏi map duel (Punishment for leaving duel map)
  LEAVE-MAP-PUNISHMENT:
    ENABLED: true
    # Người rời đi sẽ bị xử thua | Leaver will be marked as loser
    MARK-AS-LOSE: true
    # Thời gian cấm tham gia hàng chờ (phút) | Queue ban duration (minutes)
    BAN-QUEUE-TIME: 15
    # Tỉ lệ trừ tiền (%) | Money deduction percentage
    MONEY-PENALTY-PERCENT: 10
    # Lệnh xử phạt tùy chỉnh (Sử dụng %player% cho tên người chơi)
    # Custom punishment commands (Use %player% for player name)
    COMMANDS:
      - eco take %player% 50000
      - msg %player% &cBạn đã bị phạt do rời khỏi trận đấu!

  # Danh sách các khu vực máy chủ | Server regions
  # Người chơi chỉ có thể duel với người trong cùng khu vực
  # Player can only duel with others in the same region
  REGIONS:
    - "NA East"
    - "EU West"
    - "Asia"
    - "South America"
    - "Oceania"
    - "Africa"
    - "Middle East"

  # Khu vực mặc định khi bắt đầu | Default region
  DEFAULT-REGION: "Asia"

  # Thời gian tối đa không thay đổi (phút) | Max unchanged time
  # Ngăn chặn hòa kéo dài | Prevent infinite stalemate
  MAX-MATCH-TIME: 15

  # Giới hạn thách đấu tối đa (0 = không giới hạn)
  # Maximum duel request limit (0 = unlimited)
  DUEL_LIMIT: 5

  # Tùy chỉnh giữ vật phẩm khi chết trong duel
  # true: người chơi không mất đồ, false: người chơi rơi đồ (mặc định)
  KEEP-ITEMS: false

# VỊ TRÍ (Locations)
LOCATIONS:
  # Vị trí spawn mặc định cho người chơi
  # Default spawn location for players
  # Định dạng: world,x,y,z,yaw,pitch
  SPAWN-LOCATION: spawn,-53.53056243549622,17.0,-65.36362678154421,1.1558177,6.750091

# KHỐI BỊ CẤM ĐẶT / PHÁ (Protected Blocks)
# Không thể đặt hoặc phá hủy khối này trong trận đấu
# Cannot place or break these blocks during match
PROTECTED-BLOCKS:
  - SHORT_GRASS
  - TALL_GRASS
  - SMOOTH_STONE
  - POLISHED_BLACKSTONE
  - BLUE_GLAZED_TERRACOTTA
  - STONE_BRICKS
  - ICE
  - PACKED_ICE
  - END_ROD
  - LEVER
  - LIGHT_BLUE_GLAZED_TERRACOTTA
  - IRON_BLOCK
  - IRON_TRAPDOOR
  - NETHERITE_BLOCK
  - WHITE_CONCRETE
  - DEEPSLATE_TILES

# KHỐI BỊ CẤM ĐẶT (Blocked Placement)
# Không thể đặt những khối này trong trận đấu
DENY-PLACE-BLOCKS:
  - TNT
  - REDSTONE
  - END_CRYSTAL
  - RESPAWN_ANCHOR
  - TNT_MINECART
  - FIRE_CHARGE
  - BEDROCK
  - OBSIDIAN
  - CRYSTAL_BLOCK

# VẬT PHẨM BỊ CẤM (Blocked Items)
# Không thể sử dụng những vật phẩm này trong trận đấu
DENY-USE-ITEMS: []

# CẤU HÌNH LỆNH TRONG TRẬN ĐẤU (Match Commands Configuration)
# BLACKLIST = chặn lệnh trong danh sách
# WHITELIST = chỉ cho phép lệnh trong danh sách
MATCH-COMMAND-MODE: BLACKLIST

# Danh sách các lệnh
MATCH-COMMAND-LIST:
  - /tpa
  - /tpaaccept
  - /spawn
  - /afk
  - /home
  - /homes
  - /warp
  - /back
  - /tp
  - /rtpq
  - /rtp
  - /tpauto
  - /tpahere
  - /lobby
  - /warps
  - /world
  - /duels
  - /duel

# LỆNH KẾT THÚC TRẬN (End Match Commands)
END-MATCH-COMMANDS: []

# ÂM THANH (Sounds)
SOUNDS:
  # Âm thanh khi vào hàng chờ
  QUEUE:
    - MUSIC_DISC_CHIRP
    - MUSIC_DISC_MELLOHI
    - MUSIC_DISC_FAR
    - MUSIC_DISC_CAT
    - MUSIC_DISC_PIGSTEP
    - MUSIC_DISC_OTHERSIDE
    - MUSIC_DISC_5
    - MUSIC_DISC_13
    - MUSIC_DISC_STAL
    - MUSIC_DISC_STRAD
    - MUSIC_DISC_BLOCKS
    - MUSIC_DISC_MALL
    - MUSIC_DISC_WARD
    - MUSIC_DISC_11
    - MUSIC_DISC_WAIT
    - MUSIC_DISC_CREATOR
    - MUSIC_DISC_PRECIPICE
    - MUSIC_DISC_CREATOR_MUSIC_BOX

  # Âm thanh khi trận đấu bắt đầu
  DUEL-STARTED: BLOCK_BEACON_POWER_SELECT

  # Âm thanh khi người chơi thắng
  WINNER: BLOCK_NOTE_BLOCK_PLING

  # Âm thanh nhấp chuột GUI
  CLICK: UI_BUTTON_CLICK

# TÍCH HỢP GEYSER/FLOODGATE (Geyser/Floodgate Integration)
GEYSER_FLOODGATE:
  # Cho phép người chơi Bedrock tham gia duel với Java
  ENABLED: true
  # Tự động tách hàng chờ PE và PC
  SEPARATE_QUEUES: false
```

{% endcode %}

***

### Giải thích nhanh

#### `PLUGIN_LICENSE`

* `LICENSE_KEY` là khóa bắt buộc.
* `LOCKED_IP` là IP đã bind với license.

#### `SPECTATOR`

* `ALWAYS_IN_DUEL_WORLD: true` — khán giả ở lại map duel.
* `false` — khán giả quay về vị trí trước đó.

#### `SETTINGS`

* `LOOT-TIME` — thời gian người thắng nhặt đồ.
* `MATCH-TIME` — thời gian tối đa của trận.
* `DUEL-REQUEST-EXPIRY` — thời gian chờ người kia nhận kèo.
* `MAX-MATCH-TIME` — giới hạn chống câu giờ.
* `DUEL_LIMIT` — số kèo tối đa một người có thể giữ cùng lúc.
* `KEEP-ITEMS` — giữ đồ khi chết trong duel.

#### `LEAVE-MAP-PUNISHMENT`

* `MARK-AS-LOSE` — tính thua nếu rời map.
* `BAN-QUEUE-TIME` — cấm vào queue tạm thời.
* `MONEY-PENALTY-PERCENT` — trừ tiền theo phần trăm.
* `COMMANDS` — lệnh phạt bổ sung.

{% hint style="info" %}
Nếu server không dùng economy, hãy bỏ lệnh `eco take %player% 50000`.
{% endhint %}

#### `REGIONS`

Người chơi chỉ duel được với người cùng vùng.

Nếu server không chia vùng rõ, giữ một vùng duy nhất như `Asia` là đủ.

#### `PROTECTED-BLOCKS`, `DENY-PLACE-BLOCKS`, `DENY-USE-ITEMS`

* `PROTECTED-BLOCKS` — không đặt hoặc phá được.
* `DENY-PLACE-BLOCKS` — không được đặt.
* `DENY-USE-ITEMS` — không được dùng.

#### `MATCH-COMMAND-MODE`

* `BLACKLIST` — chặn các lệnh trong danh sách.
* `WHITELIST` — chỉ cho phép các lệnh trong danh sách.

{% hint style="warning" %}
Nếu dùng `WHITELIST`, hãy giữ các lệnh điều khiển trận như `/duel`, `/leave`, `/draw`.
{% endhint %}

#### `SOUNDS`

* `QUEUE` — nhạc phát khi ở hàng chờ.
* `DUEL-STARTED` — âm lúc trận bắt đầu.
* `WINNER` — âm lúc thắng.
* `CLICK` — âm GUI.

#### `GEYSER_FLOODGATE`

* `ENABLED: true` — cho Bedrock tham gia duel.
* `SEPARATE_QUEUES: true` — tách queue Bedrock và Java.

***

### Gợi ý cấu hình nhanh

#### Server PvP thường

* `KEEP-ITEMS: false`
* `MATCH-TIME: 10`
* `BAN-QUEUE-TIME: 10`
* `SEPARATE_QUEUES: false`

#### Server practice

* `KEEP-ITEMS: true`
* `MATCH-TIME: 5`
* `DUEL_LIMIT: 0`
* `SEPARATE_QUEUES: true`
