Alpha-systemDocs v2.0.1
Alpha-systemGuidesServer systems

Server systems

The systems that run on their own once enabled, and the settings that control them.

On this page

Alpha-system includes several server-wide systems that run on their own once enabled. This page explains what each one does and which settings control it. Every setting lives in config.yml unless noted.

Combat tag

Hitting another player, directly or with a projectile, tags both players for combat.tag-seconds (15 by default). While tagged, the common ways to escape a fight are closed.

combat:
  enabled: true
  tag-seconds: 15
  actionbar: true            # show the remaining time
  block-teleports: true      # command and plugin teleports
  block-flight: true         # also drops anyone flying when tagged
  allow-escape-items: false  # ender pearls and chorus fruit
  logout-kill: true          # leaving while tagged kills the player
  logout-broadcast: true     # and says so in chat
  blocked-commands:
    - spawn
    - warp
    - warps
    - back
    - tp
    - tphere
    - otp
    - home
While taggedSetting
Commands in the list are refusedblocked-commands, without the slash
Command and plugin teleports are cancelledblock-teleports
Ender pearls and chorus fruit are cancelledallow-escape-items: false
Starting to fly is refusedblock-flight
Logging out kills the playerlogout-kill, announced by logout-broadcast

Dying clears the tag. Players with alphasystem.combat.bypass are never tagged and ignore every restriction above, which is meant for staff who must moderate a fight. The permission defaults to op and can be remapped with permissions.combat-bypass. The messages are in lang/messages.yml.

Safe teleports

One shared routine places players for /spawn, /warp, /back, /tp, the first-join spawn point and respawning. It loads the destination chunk in the background, then moves the player to the nearest safe floor around the target instead of into a wall or the air.

teleport-safety:
  enabled: true
  horizontal-radius: 4   # blocks searched sideways
  vertical-range: 6      # blocks searched up and down

Respawning has its own search distances under respawn.safety. See below.

Warmups

/warp, /spawn and /back make the player wait before teleporting, and moving cancels it. Each has its own length, display style and message.

SectionDefaultKeys
warps3 scountdown-seconds, countdown-style, countdown-message with {warp} and {time}
spawn3 swarmup-seconds, warmup-style, warmup-message with {time}
back5 swarmup-seconds, warmup-style, warmup-message with {time}

The style is bossbar, actionbar, title or none. Set the seconds to 0 for an instant teleport. alphasystem.spawn.bypasswarmup skips the spawn warmup for a player.

Respawn

When a player dies, Alpha-system picks the respawn location from an ordered list. The first entry that applies wins.

respawn:
  enabled: true
  priority:
    - BED
    - ANCHOR
    - CUSTOM
    - SPAWN
    - WORLD_SPAWN
  custom:
    enabled: false
    world: ""
    x: 0.0
    y: 64.0
    z: 0.0
  safety:
    enabled: true
    horizontal-radius: 4
    vertical-range: 4
EntryUses
BEDThe player's bed.
ANCHORTheir respawn anchor.
CUSTOMThe location set with /setrespawn. Needs respawn.custom.enabled: true.
SPAWNThe server spawn from /setspawn.
WORLD_SPAWNThe spawn of the world the player died in.

Put CUSTOM or SPAWN first to send everyone to the same place regardless of beds. An invalid entry in the list is rejected when the config loads, and respawn.safety keeps the player off unsafe blocks. If no entry gives a usable location, the plugin logs a warning and leaves Minecraft's own respawn location alone.

Nameplates

Multi-line labels above players, with their own colours, shadows and live values. Off by default.

PacketEvents is needed to hide the vanilla name. Without it the custom nameplate still shows, but the normal name tag above it cannot be hidden, and the console logs PacketEvents is unavailable; custom nameplates are visible but vanilla player names cannot be hidden. Install PacketEvents, or set hide-vanilla-name: false to accept both.
nameplates:
  enabled: true
  hide-vanilla-name: true
  visible-to-self: false
  lines:
    - "<shadow:#000000FF>&#FFF0C2{player}</shadow>"
    - "<shadow:#000000FF>&#FF9400{health}&#A66F16/&#FFF0C2{max_health} ❤</shadow>"
  vertical-offset: 0.35
  view-range: 48.0

Join and quit messages

join-quit:
  enabled: true
  first-join-message: true       # a different message the first time a player joins
  hide-vanished: true            # vanished staff never reveal a real join or quit
  silent-permission: true        # alphasystem.joinquit.silent hides a player's own
  record-in-chat-history: true   # keep them in the history used for chat deletion

The wording is in lang/messages.yml. Vanished players, and players with the silent permission, never expose their real connection state. With vanish.fake-join-quit-messages on, vanishing and unvanishing show as a normal quit and join, kept consistent with the chat history setting.

Vanish reminder

vanish:
  fake-join-quit-messages: true
  notify-style: bossbar   # bossbar | actionbar | none

Reminds a vanished player that they are still vanished, with the bossbar or actionbar text and colour you set under vanish.bossbar and vanish.actionbar.

Client brand alerts

With client-brand.enabled: true, staff holding alphasystem.staff.clientbrand see the launcher or client brand a player connects with (vanilla, Lunar, Badlion, a spoofed one and so on).

Admin inventory audit

Every real change or clear made through /invedit or an editable ender chest can be recorded, so staff actions on player inventories are accountable.

admin-audit:
  console: true
  file:
    enabled: true
    name: "admin-audit.log"
  discord:
    enabled: false
    webhook-url: ""
    username: "Alpha-system Audit"

Each change goes to the console, to admin-audit.log in the plugin folder, and optionally to a Discord webhook as a structured embed.