ServerWar

Competitive in-game PvP war system with Vault money stakes, escrow, objectives, teams, and leaderboards for Paper 1.21.x.

21 downloads 0 followers

ServerWar

A production-ready competitive in-game PvP war system for Paper 1.21.x servers.

ServerWar lets players challenge each other to wars with in-game Vault money stakes, secure prize escrow, kill-based scoring, objectives, leaderboards, team wars, statistics, and full admin control.

Important: ServerWar uses only the server's existing in-game Minecraft economy (Vault). It never involves real money, cryptocurrency, or payments. All stakes and rewards are strictly in-game Vault money.

Features

  • 1v1 Wars — /war challenge Ahmed 500000
  • Team vs Team Wars — /war team challenge Blue 500000
  • In-game money stakes via Vault (BigDecimal, no floating point)
  • Secure prize escrow with idempotent, transaction-ID-protected payouts
  • Anti-kill farming (cooldown, diminishing returns, team-kill & suicide/void protection)
  • Combat logging detection
  • Objectives (kill players, mine blocks, kill mobs, obtain items, bow/sword kills)
  • War statistics & leaderboards
  • War history
  • Configurable GUI management
  • SQLite (default) and MySQL/MariaDB with HikariCP pooling
  • PlaceholderAPI expansion
  • Admin controls with granular permissions
  • Server restart recovery — never resets an active war

Requirements

  • Paper 1.21.x (or compatible forks)
  • Java 21
  • Vault + an economy plugin (EssentialsX, CMI, etc.)
  • PlaceholderAPI (optional)

Installation

  1. Place ServerWar.jar into your server's plugins/ folder.
  2. Start the server. The plugin creates plugins/ServerWar/config.yml, messages.yml, and (for SQLite) serverwar.db.
  3. Install Vault and an economy plugin so money features work.
  4. (Optional) Install PlaceholderAPI.
  5. Restart the server (or run /waradmin reload).

Commands

Player: /war, /war challenge <player> <stake>, /war accept <player>, /war decline <player>, /war surrender [confirm], /war stats [player], /war history, /war top, /war team ...

Admin: /waradmin reload, stats, wars, war <id>, cancel <id>, force-start <id>, force-end <id>, refund <id>, sponsor <id> <amount>, reset-stats <player>, blacklist <player>, unblacklist <player>

Database

By default ServerWar uses SQLite with zero setup. For MySQL/MariaDB, edit config.yml. All monetary values are BigDecimal and stored as TEXT (SQLite) / DECIMAL(20,2) (MySQL). If MySQL is unreachable at startup, ServerWar falls back to SQLite.

PlaceholderAPI

%serverwar_active_wars%, %serverwar_player_wins%, %serverwar_player_losses%, %serverwar_player_kills%, %serverwar_player_deaths%, %serverwar_player_points%, %serverwar_player_winrate%, %serverwar_player_streak%, %serverwar_player_winnings%, %serverwar_top_player%, %serverwar_top_player_<rank>%, %serverwar_top_player_<category>_<rank>%

Restart Recovery

On startup: ACTIVE/STARTING/PAUSED wars are fully restored (scores, objectives, participants, remaining duration). Unaccepted PENDING challenges are refunded and cancelled — money is never lost. Rewards/refunds are idempotent, so a crash mid-payout can never double-pay.

License

MIT

No gallery available for this project.

Version Minecraft Loader Download

ServerWar 1.0.0

1.0.0

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
paper
Download