Server Administration and FAQ - TDHunterrr/Farlands-Lifesteal GitHub Wiki

🗄️ Server Administration & FAQ

A guide for server administrators managing Farlands Lifesteal on dedicated SMP servers.


💾 Data Storage & Persistence

Farlands Lifesteal tracks pending revives, teleport targets, and offline health adjustments across server restarts.

Location by Platform

  • Fabric / Quilt / NeoForge: Stored in the world save folder:

    world/data/farlands_lifesteal_state.dat
    

    Uses vanilla Minecraft's SavedData NBT format. Safe from corruption and backed up alongside world saves.

  • Paper / Folia: Stored in the plugin folder:

    plugins/FarlandsLifesteal/data.yml
    

❓ Frequently Asked Questions (FAQ)

How can an admin revive an eliminated player manually?

Run:

/revive <PlayerName> 10

This removes them from banned-players.json, sets their starting health to 10 hearts, and grants them 10 seconds of invulnerability upon re-joining.

What happens if an admin unbans a player with the vanilla /pardon command?

If you use vanilla /pardon, the player will be able to connect, but they will still have 0.0 max health and might die immediately. Always use /revive <player> [hearts] or have a teammate use a Revive Token so their health attribute is properly restored.

Do players need any mods installed on their client?

No! Farlands Lifesteal operates completely server-side. Vanilla clients can join without installing mods, fabric loaders, or custom resource packs.

Can a player place the Heart block as a building decoration?

No. Farlands Lifesteal intercepts the use action at the network packet level (useItemOn). Right-clicking a block with a Heart in hand consumes the heart rather than placing the skull block.

Can players combat-log with spawn protection?

No. Join protection lasts a maximum of 10 seconds and is instantly cancelled as soon as the player moves even a fraction of a block or sends a movement packet. Protected players cannot walk up to enemies or fight while invulnerable.

⚠️ **GitHub.com Fallback** ⚠️