JS Server Utilities

JS Server Utilities

Mod

Fabric Utilities Plugin with simple commands for your server

Server

6 downloads
1 follower
Follow Save

Hi, I'm Js-Scrips, Im a FiveM developer and love using Fabric and i've noticed that Fabric doesnt have the same plugins as Forge, Bukkit ect.. So im here to change that! I'll be providing plugins for Fabric only that will try and give Fabric Servers more modern features and utilities that are either, never updated to the latest versions of Minecraft or features that are gate-kept for other Server Loaders.


ServerUtils — Essentials-style commands for Fabric

Lightweight, server-focused utilities that add essentials-style commands: homes, TPA, RTP, and back — with configurable warmups, cooldowns, safe teleports, and LuckPerms integration.

  • Minecraft: 1.21.10 (Java Edition)
  • Fabric Loader: 0.17.3+
  • Requires: Fabric API (matching 1.21.10)
  • Server-only mod (no client required)

Highlights

  • Multiple homes per player with per-rank limits
  • /home warmup (default 5s), per-second chime, cancel-on-movement, warp sound
  • TPA requests with accept/deny
  • RTP: border-aware, safe-location scan, optional chunk-loading, warmup + rank-based cooldown, optional hard max radius
  • /back to previous location (cross-dimension)
  • LuckPerms support for command access, home limits, and RTP cooldowns
  • Simple JSON config at config/serverutils.json

Commands

  • /sethome [name] — Set a home (default “home” if omitted)
  • /home [name] — Teleport to a home; no argument lists your homes (warmup + chime + cancel-on-move)
  • /homes — List your homes
  • /delhome <name> — Delete a home
  • /tpa <player> — Send a teleport request
  • /tpaccept — Accept the latest TPA request
  • /tpdeny — Deny the latest TPA request
  • /rtp — Random safe teleport (border-aware, warmup + cooldown)
  • /back — Return to your previous location

Notes

  • Default warmups: /home 5s; /rtp 3s (both configurable)
  • RTP can use a hard world radius cap (e.g., for a 50k×50k world, set 25,000)

LuckPerms Integration

  • Use LuckPerms to grant command access, set per-rank home limits, adjust RTP cooldowns, or bypass cooldowns

Permission nodes (grant/deny per group/user)

  • serverutils.command.home
  • serverutils.command.sethome
  • serverutils.command.delhome
  • serverutils.command.homes
  • serverutils.command.back
  • serverutils.command.tpa
  • serverutils.command.tpaccept
  • serverutils.command.tpdeny
  • serverutils.command.rtp
  • serverutils.homes.unlimited
  • serverutils.homes.max.X (X = 1..100)
  • serverutils.rtp.bypasscooldown
  • serverutils.rtp.cooldown.N (N = 0..3600 seconds)

LuckPerms Meta keys (add in “Meta”, not “Permissions”)

  • serverutils.homes.max = <integer>
  • serverutils.rtp.cooldown = <integer seconds>

Examples (typical setup)

  • Default group:
    • Meta: serverutils.homes.max = 3
    • Meta: serverutils.rtp.cooldown = 60
  • VIP group:
    • Meta: serverutils.homes.max = 10
    • Meta: serverutils.rtp.cooldown = 15
  • Staff:
    • Permission: serverutils.homes.unlimited = true
    • Permission: serverutils.rtp.bypasscooldown = true

Features and Behavior

Homes:

  • Multiple homes per player, per-rank limits via nodes or LP meta
  • Warmup (default 5s), per-second chime, cancel if the player moves, warp sound on arrival

TPA:

  • /tpa, /tpaccept, /tpdeny with timeout (default 60s)

RTP:

  • Safe search (no fluid, solid support, 2-block headroom, hazard checks)
  • Respects world border and optional hard max radius
  • Optional chunk-load so heightmap works off-road
  • Warmup (default 3s) + cooldown via LP meta or nodes, warp sound on arrival

Back:

  • Returns to previous location (cross-dimension).

Configuration (config/serverutils.json)

{
  // Maximum number of homes a player can set by default (if not overridden by LuckPerms)
  "defaultMaxHomes": 3,

  // If true, LuckPerms meta key "serverutils.homes.max" overrides defaultMaxHomes per player/group
  "useLuckPermsMetaForMaxHomes": true,

  // Upper bound for scanning permission tiers "serverutils.homes.max.X" (X=1..permissionMaxHomesScanCeil)
  "permissionMaxHomesScanCeil": 100,

  // If true, players (or groups) with "serverutils.homes.unlimited" can set unlimited homes
  "allowUnlimitedHomesPermission": true,

  // Seconds before a /tpa request expires if not accepted/denied
  "tpaTimeoutSeconds": 60,

  // RTP: Minimum distance from center/border center for random teleport sampling (in blocks)
  "rtpMinDistance": 100,

  // RTP: Maximum distance for sampling (in blocks); may be further clamped by world border/hard max radius
  "rtpMaxDistance": 5000,

  // RTP: How many random attempts to find a safe spot before giving up
  "rtpMaxAttempts": 12,

  // If true, RTP sampling respects the world border and stays within it (minus margin)
  "rtpRespectWorldBorder": true,

  // Blocks to stay inside the world border when sampling RTP positions
  "rtpWorldBorderMargin": 16,

  // Dimensions where RTP is allowed; others are blocked
  "rtpAllowedWorlds": [
    "minecraft:overworld"
  ]
}

I will be updating this Plugin As i find issues and make it better for your server, so please feel free to report all issues to the github link.


Project members

JS-Scripts

Member

Details

Licensed MIT
Published 5 days ago
Updated 5 days ago