CoreEngineWIKI
ESC
NavigierenEnter ÖffnenESC Schließen

PvP & Sicherheit

Combat-Tag, Anti-Logout, Anti-Spawn-Camp, Anti-Stash, Pet-Schutz, Death-Loot-Schutz, Belagerungen und das Ignore-/Softmute-System.

PvP-Regeln #

YAML
PvP:
  Enabled: true                 # globaler Hauptschalter
  RulesEnabledInWorld:          # entscheidet PRO WELT, ob PvP stattfindet
    "*": false                  # Default: PvP ueberall aus, Welten explizit freischalten
  CombatTimeoutSeconds: 15      # so lange gilt man nach dem letzten Treffer als im Kampf
  BlockedCommands: [home, spawn, tpa, tpaccept, tpahere, warp, back, tp, teleport, rtp]
  AllowCombatItemDrop: false    # Items werfen im Kampf
  ProtectPlayersInLandClaims:   # Opfer-Standort entscheidet
    PvPWorld: false
    NonPvPWorld: true
  ProtectPlayersInAdminLandClaims: true
  ProtectPlayersInSubdivisions: false

Ob PvP in einer Welt läuft, entscheidet ausschließlich RulesEnabledInWorld. In gesperrten Welten wird der Schaden storniert; in erlaubten Welten werden beide Beteiligte kampfmarkiert (auch bei Projektilen).

Weitere Permissions2
Weitere PermissionsDefaultBeschreibung
coreengineclaim.nopvpimmunityopVerzichtet auf PvP-Schutz in Nicht-PvP-Welten UND auf die Frisch-Spawn-Unverwundbarkeit
coreengineclaim.siegeimmuneopKann nicht belagert werden
⚠️

Achtung: Ohne mindestens eine true-Welt in RulesEnabledInWorld greift das ganze Kampfsystem (Anti-Logout, Anti-Stash, Command-Sperre) nie, denn dafür muss erst ein PvP-Treffer durchgehen.

💡

Tipp: Der Claim-PvP-Schutz kennt zwei bewusste Ausnahmen: Ein bereits kampfmarkiertes Opfer bleibt angreifbar (kein Flucht-Claim mitten im Fight), und während einer Belagerung zwischen den Beteiligten ist er aufgehoben. AllowPearlsToPvpZones ist ein reservierter Key ohne Funktion, Enderperlen regelt Claims.EnderPearlsRequireAccessTrust.

Combat-Tag: Jeder Treffer verlängert die Markierung beider Spieler. Rote Boss-Leiste mit Countdown, verfällt automatisch, wird beim Tod entfernt. Beim Logout bleibt der Status bestehen (für die Anti-Logout-Strafe) und die Leiste kommt beim Rejoin wieder.

Command-Sperre im Kampf: Das erste Wort jedes Commands wird gegen BlockedCommands geprüft; zusätzlich werden GUI-Teleports abgefangen. Bett, Endportal und Weltwechsel bleiben bewusst frei.

Anti-Logout #

PvP.PunishLogout: true (Default): Loggt ein kampfmarkierter Spieler aus, wird sein komplettes Inventar am Standort gedroppt (mit Death-Loot-Schutz), die Gesundheit auf 0 gesetzt und die Aktion ins Audit-Log geschrieben.

Anti-Spawn-Camp #

PvP.ProtectFreshSpawns: true (Default): Unverwundbarkeit für FreshSpawnDurationSeconds (10 s) nach jedem Respawn, mit grüner Boss-Leiste. Der allererste Login ist Sache des Join-Schutzes; solange der noch läuft und alle Schäden abdeckt (mode: all), legt sich keine zweite Leiste darüber.

Der Schutz endet sofort, wenn der Geschützte selbst angreift oder ein Item aufhebt (der Pickup wird dabei noch blockiert). Schadenstränke prallen ab, ohne den Schutz zu beenden.

Anti-Stash #

Kampfmarkierte Spieler können keine Items werfen (AllowCombatItemDrop: false) und keine fremden Inventare öffnen (Truhen, Öfen, Endertruhen, auch CoreEngine-Menüs). Eigenes Inventar und Crafting bleiben frei.

Pet-Schutz #

Gilt für gezähmte Wölfe, Katzen, Papageien, Pferde-artige, Axolotl, Füchse und Allays.

Aktion5
AktionRegel
SchadenNur der Besitzer trifft (auch Projektile); Umweltschaden bleibt
Füttern/LockenNur der Besitzer
AnleinenNur der Besitzer
ReitenBesitzer immer; Fremde nur mit Access-Trust in einem Claim des Besitzers an der Position
Erneut zähmenAbgelehnt, wenn das Tier schon jemandem gehört
Commands1
CommandSyntaxPermissionDefaultBeschreibung
Pet übergeben/givepet(kein Recht geprüft)trueAuswahlmodus: nächster Rechtsklick aufs eigene Tier, dann Namenseingabe + Bestätigung
💡

Tipp: /givepet prüft die Besitzerschaft dreifach (Auswahl, Eingabe, Bestätigung) und lässt sich per Pets.EnableGivePetCommand: false abschalten.

Death-Loot-Schutz #

Alle Todes-Drops sind PvP.LootProtectionSeconds (180 s) lang nur vom Besitzer aufhebbar; <= 0 deaktiviert die Markierung.

Commands2
CommandSyntaxPermissionDefaultBeschreibung
Eigene Drops freigeben/claim unlockdropscoreengineclaim.claim.unlockdropstrueEntsperrt die eigenen geschützten Drops
Fremde Drops freigeben/claim admin unlockdrops <player>coreengineclaim.claim.admin.unlockdropsopEntsperrt fremde Drops server-weit

Sieges (Belagerungen) #

Optional, Default aus.

YAML
Sieges:
  Enabled: false
  MaxDurationSeconds: 1800
  Worlds: []        # leer = alle Welten erlaubt
Commands1
CommandSyntaxPermissionDefaultBeschreibung
Belagerung starten/claim siege <player>coreengineclaim.claim.siegetrueBelagert einen Spieler in dessen eigenem Claim

Startbedingungen: System an, Welt erlaubt und PvP-Welt, Ziel online, nicht siegeimmune, keiner der beiden bereits in einer Belagerung, beide stehen im Claim des Ziels. Beim Start werden beide kampfmarkiert; der Angreifer darf im belagerten Claim bauen und abbauen.

Ende durch: Tod eines Teilnehmers, Verteidiger verlässt seinen Claim, Logout (löst die Anti-Logout-Strafe aus) oder Zeitablauf.

Ignore & Softmute #

Unabhängig von PvP.

Commands5
CommandSyntaxPermissionDefaultBeschreibung
Ignorieren/ignoreplayer <player> (/ignore)(kein Recht)trueBlendet den Chat eines Spielers aus
Aufheben/unignoreplayer <player> (/unignore)(kein Recht)trueBeendet das Ignorieren
Liste/ignoredplayerlist (/ignorelist)(kein Recht)trueZeigt die eigene Ignore-Liste
Softmute/softmute <player>coreengineclaim.softmuteopNur noch für andere Softgemutete sichtbar
Trennen/separate <p1> <p2>coreengineclaim.adminopErzwingt gegenseitiges Ignorieren
Weitere Permissions3
Weitere PermissionsDefaultBeschreibung
coreengineclaim.notignorableopKann weder ignoriert noch softgemutet werden
coreengineclaim.eavesdropopLiest private Nachrichten mit (/msg, /tell, ...)
coreengineclaim.eavesdropsignsopBekommt jeden neuen Schildtext gemeldet
ℹ️

Hinweis: Spam.Enabled ist ein reservierter Platzhalter ohne Funktion (CoreEngine übernimmt die Chat-Moderation). Ein SmartBan/Anti-Alt-System existiert nicht; dafür ein separates Plugin nutzen.

Komplette Beispiel-Config #

YAML
PvP:
  Enabled: true
  RulesEnabledInWorld:
    "*": false
    pvp_world: true
  ProtectFreshSpawns: true
  FreshSpawnDurationSeconds: 10
  PunishLogout: true
  CombatTimeoutSeconds: 15
  AllowCombatItemDrop: false
  BlockedCommands: [home, spawn, tpa, tpaccept, tpahere, warp, back, tp, teleport, rtp]
  ProtectPlayersInLandClaims:
    PvPWorld: false
    NonPvPWorld: true
  ProtectPlayersInAdminLandClaims: true
  ProtectPlayersInSubdivisions: false
  LootProtectionSeconds: 180

Sieges:
  Enabled: true
  MaxDurationSeconds: 1800
  Worlds:
    - pvp_world

Pets:
  EnableGivePetCommand: true