Hyssentials Documentation

Essential server commands and a powerful rank-based configuration system for Hytale servers. Manage teleportation, homes, warps, and player ranks with an intuitive in-game UI.

Features

  • Teleport Requests - TPA system with configurable cooldowns, timeouts, and player selection UI
  • Private Messaging - Send private messages with /msg and /r (reply)
  • Admin Chat - Configurable staff/admin chat channels with /a command
  • Homes System - Players can set and teleport to personal home locations with an interactive UI
  • Server Warps - Admin-defined warp points with a warp selection UI
  • Random Teleport - Teleport to random safe locations in the world
  • Rank System - Fully customizable ranks with per-command settings
  • Warmup & Cooldowns - Configurable delays and cooldowns per rank
  • Admin UI - In-game graphical interface for rank management
  • Interactive GUIs - Run commands without arguments to open selection UIs
  • Vanish Mode - Staff can become invisible to other players with /vanish
  • Fly Mode - Staff can toggle flight mode with /fly
  • Custom Join Messages - Customize player join and leave messages with placeholders

Installation

  1. Download the latest Hyssentials JAR file
  2. Place the JAR in your server's plugins folder
  3. Restart your server
  4. The plugin will generate default configuration files automatically
First Time Setup

On first run, Hyssentials creates a ranks.json with "default" and "vip" ranks. Customize these or create new ranks using the in-game UI.

Quick Start

Once installed, all player commands are available immediately. Here's what your players can do:

/home base
Teleport to your "base" home
/sethome base
Set your current location as "base" home
/tpa PlayerName
Request to teleport to another player
/rtp
Teleport to a random location in the world

Teleport Requests (TPA)

The TPA system allows players to request teleportation to other players with their consent.

Command Description
/tpa Open the player selection UI to send a TPA request
/tpa <player> Request to teleport to another player
/tpahere Open the player selection UI to request a player to teleport to you
/tpahere <player> Request another player to teleport to you
/tpaccept Accept an incoming teleport request
/tpdeny Deny an incoming teleport request
/tpcancel Cancel your outgoing request

Player Selection UI

Running /tpa or /tpahere without a player name opens an interactive GUI showing all online players:

TPA Player Selection Screen

Click a player to send them a teleport request

Timeout

TPA requests expire after a configurable timeout (default: 60 seconds). This can be customized per rank.

Private Messaging

Send private messages to other players. The reply command remembers who you last messaged.

Command Description
/msg <player> <message> Send a private message to a player
/r <message> Reply to the last player who messaged you

Aliases

  • /msg - also available as /tell, /whisper, /w, /pm
  • /r - also available as /reply
Quick Replies

When someone sends you a message, you can quickly reply using /r without typing their name again.

Homes

Players can save personal locations and teleport back to them at any time.

Command Description
/sethome <name> Save your current location as a home
/home Open the home selection UI
/home <name> Teleport to a saved home
/delhome <name> Delete a saved home
/homes List all your saved homes

Home Selection UI

Running /home without a name opens an interactive GUI showing all your homes:

Home Selection Screen

View, teleport to, or delete your homes from the UI

Home Limits

The number of homes a player can set is determined by their rank. Default players get 5 homes, while VIP players get 10. This is fully customizable in the rank settings.

Instance Worlds

Homes cannot be set in instance worlds (worlds starting with instance-). Instance worlds are temporary and are destroyed when you leave, so any homes set there would become invalid. Existing homes in instance worlds are automatically removed when the plugin loads.

Warps

Server warps are admin-defined teleport points available to all players.

Command Description Permission
/warp Open the warp selection UI Everyone
/warp <name> Teleport to a warp Everyone
/warps List all available warps Everyone
/setwarp <name> Create a new warp hyssentials.setwarp
/delwarp <name> Delete a warp hyssentials.delwarp

Warp Selection UI

Running /warp without a name opens an interactive GUI showing all server warps:

Warp Selection Screen

Browse and teleport to server warps from the UI

Instance Worlds

Warps cannot be set in instance worlds (worlds starting with instance-). Instance worlds are temporary and are destroyed when players leave, so any warps set there would become invalid. Existing warps in instance worlds are automatically removed when the plugin loads.

Spawn

Teleport to the server spawn point.

Command Description Permission
/spawn Teleport to spawn Everyone
/setspawn Set the server spawn point hyssentials.setspawn

If no custom spawn is set, players will teleport to the world's default spawn point.

Random Teleport (RTP)

Teleport to a random safe location in the world. Great for exploration or finding new places to build.

/rtp
Teleport to a random location (aliases: /randomtp, /wild)

How It Works

  • Searches for a random location between 100-5000 blocks from spawn
  • Automatically finds a safe spot (solid ground with air above)
  • Pre-loads the destination chunk to prevent issues
  • Includes configurable warmup and cooldown per rank
Cooldown

RTP has a longer default cooldown (300 seconds) to prevent abuse. VIP players have a reduced cooldown of 60 seconds.

Back

Return to your previous location. Works after teleporting or dying!

/back
Return to your previous location

The plugin remembers your last 5 locations (configurable) so you can use /back multiple times.

Admin Commands

Administrative commands for server management.

Teleport Commands

Command Description Permission
/htp <player> Teleport to a player hyssentials.htp
/htphere <player> Teleport a player to you hyssentials.htphere

Vanish

Command Description Permission
/vanish Toggle vanish mode (become invisible to other players) hyssentials.vanish
/v Alias for /vanish hyssentials.vanish
Vanish Features

Vanished players are completely invisible to other players. The vanish state persists across reconnects, and you'll receive a reminder when you join if you're still vanished.

Fly

Command Description Permission
/fly Toggle flight mode hyssentials.fly
Fly Features

Enables creative-style flight for the player. Useful for admins and staff members who need to quickly navigate the world.

Hyssentials Admin Commands

Command Description Permission
/hyssentials rank Open the rank management UI hyssentials.admin.ranks
/hyssentials assign Open the player rank assignment UI hyssentials.admin.ranks
/hyssentials setrank <player> <rank> Give a rank to a player hyssentials.admin.setrank
/hyssentials removerank <player> <rank> Remove a rank from a player hyssentials.admin.setrank
/hyssentials playerinfo <player> View player's rank and stats hyssentials.admin.playerinfo
/hyssentials reload Reload configuration files hyssentials.admin.reload
Alias

You can use /hys as a shorthand for /hyssentials. For example: /hys rank

Admin Chat

Private chat channels for staff members. Messages are only visible to players with the appropriate permission.

Command Description
/a <message> Send a message to your default admin chat group
/a <group> <message> Send a message to a specific group (e.g., /a admin Hello)

Aliases

/a is also available as /adminchat and /ac.

Multiple Groups

If you have access to multiple groups, specify the group name as the first argument: /a admin Important message. If omitted, messages go to your first available group.

Chat Groups

Admin chat supports multiple groups, each with its own permission. By default, two groups are configured:

Group Permission Prefix
Staff hyssentials.adminchat.staff [STAFF]
Admin hyssentials.adminchat.admin [ADMIN]
Configuration

Chat groups are defined in adminchat.json. You can add, remove, or customize groups with different permissions and prefixes.

Custom Join/Leave Messages

Customize the messages shown when players connect to the server or move between worlds/instances. By default, this feature is disabled and Hytale's default messages are used.

Message Types

Hyssentials distinguishes between server connections and world transitions:

Message When Shown
serverJoinMessage Player connects to the server (login)
serverLeaveMessage Player disconnects from the server (logout)
worldEnterMessage Player enters a world/instance (e.g., The Forgotten Temple)
worldLeaveMessage Player leaves a world/instance to go to another
Why Split Messages?

This prevents confusion between players actually logging off versus simply entering a dungeon or instance. Server messages are for real connections, world messages are for instance transitions.

Configuration

Edit joinmessages.json in the plugin data folder:

{
  "enabled": true,
  "serverJoinMessage": "7FF55&b{player} &rhas joined the server",
  "serverLeaveMessage": "&#FF5555&b{player} &rhas left the server",
  "worldEnterMessage": "&#AAAAAA{player} entered &#FFAA00{world}",
  "worldLeaveMessage": "&#AAAAAA{player} left &#FFAA00{world}"
}

Placeholders

Placeholder Available In Description
{player} All messages The player's username
{world} World messages only The world/instance display name

Formatting

Messages support color and style formatting. See the Formatting Guide for details.

Example Configurations

Simple (No Colors)

{
  "enabled": true,
  "serverJoinMessage": "{player} has joined the server",
  "serverLeaveMessage": "{player} has left the server",
  "worldEnterMessage": "{player} entered {world}",
  "worldLeaveMessage": "{player} left {world}"
}

Colorful

{
  "enabled": true,
  "serverJoinMessage": "7FF55+ &b{player} &rjoined",
  "serverLeaveMessage": "&#FF5555- &b{player} &rleft",
  "worldEnterMessage": "󙀸{player} → &#FFAA00{world}",
  "worldLeaveMessage": "󙀸{player} ← &#FFAA00{world}"
}
Tip

Set enabled to false to use Hytale's default join messages. The custom messages only apply when enabled is true.

Rank System

Hyssentials features a powerful rank-based configuration system. Each rank can have its own settings for every command.

How Ranks Work

  • Ranks are defined in ranks.json
  • Each rank has a unique permission: hyssentials.rank.<id>
  • Players get the highest priority rank they have permission for
  • Each rank configures: max homes, cooldowns, warmups, and enabled commands

Default Ranks

Hyssentials comes with two pre-configured ranks:

Rank Permission Max Homes Cooldowns
Default hyssentials.rank.default 5 60 seconds
VIP hyssentials.rank.vip 10 None

Per-Command Settings

Each rank can configure the following for every teleport command:

  • Enabled - Whether the rank can use the command
  • Cooldown - Seconds between uses (0 = no cooldown)
  • Warmup - Delay before teleport (0 = instant). Moving cancels the teleport.

Granted Permissions

Ranks can grant additional permissions to players. This is useful for integrating with other plugins. When a player receives a rank, they automatically get all permissions listed in that rank's "Granted Permissions".

Rank Management UI

Manage ranks directly in-game with the graphical interface. Run /hyssentials rank to open.

Rank Management Screen

The Rank Management screen showing all configured ranks

Creating/Editing Ranks

Click "Create" or "Edit" to open the rank editor:

Rank Editor - Basic Settings

Configure rank ID, display name, priority, max homes, and command settings

Rank Editor - RTP and Permissions

Configure RTP settings and grant additional permissions

Rank Settings Explained

  • ID - Unique identifier (lowercase, no spaces). Used in the permission node.
  • Display Name - Human-readable name shown in UIs
  • Priority - Higher priority ranks are checked first (0-100)
  • Max Homes - Maximum number of homes players with this rank can set

Assigning Ranks to Players

Use the assignment UI to manage which ranks players have. Run /hyssentials assign to open.

Rank Assignment Screen

Assign or remove ranks from online players

How to Assign Ranks

  1. Open the UI with /hyssentials assign
  2. Find the player (use search if needed)
  3. Select a rank from the dropdown
  4. Click + to add the rank or - to remove it
Multiple Ranks

Players can have multiple ranks. The highest priority rank determines their settings.

Configuration Files

All configuration is stored in JSON files in the plugin data folder.

config.json

Main configuration file with global settings:

{
  "ConfigVersion": 4,
  "BackHistorySize": 5,
  "DefaultRankId": "default"
}
Option Description Default
BackHistorySize Number of /back locations to remember 5
DefaultRankId Fallback rank for players without a rank "default"

Data Files

  • homes.json - Player home locations
  • warps.json - Server warp points
  • spawn.json - Custom spawn point
  • ranks.json - Rank definitions

ranks.json Structure

The complete rank configuration format:

{
  "ranks": [
    {
      "id": "default",
      "displayName": "Default",
      "priority": 0,
      "maxHomes": 5,
      "homeSettings": {
        "enabled": true,
        "cooldownSeconds": 60,
        "warmupSeconds": 3
      },
      "warpSettings": { ... },
      "spawnSettings": { ... },
      "backSettings": { ... },
      "tpaSettings": {
        "enabled": true,
        "cooldownSeconds": 30,
        "warmupSeconds": 0,
        "timeoutSeconds": 60
      },
      "rtpSettings": {
        "enabled": true,
        "cooldownSeconds": 300,
        "warmupSeconds": 5
      },
      "grantedPermissions": []
    },
    {
      "id": "vip",
      "displayName": "VIP",
      "priority": 10,
      "maxHomes": 10,
      ...
    }
  ]
}

adminchat.json Structure

Configuration for admin chat groups:

{
  "groups": [
    {
      "id": "staff",
      "displayName": "Staff Chat",
      "permission": "hyssentials.adminchat.staff",
      "prefix": "[STAFF]"
    },
    {
      "id": "admin",
      "displayName": "Admin Chat",
      "permission": "hyssentials.adminchat.admin",
      "prefix": "[ADMIN]"
    }
  ],
  "defaultGroup": "staff"
}

Group Properties

Property Description
id Unique identifier for the group
displayName Human-readable name for the group
permission Permission node required to use this chat
prefix Prefix shown before messages (e.g., [STAFF])
Custom Groups

You can add as many groups as you need. For example, add a "mod" group with permission hyssentials.adminchat.mod for moderators.

joinmessages.json Structure

Configuration for custom join and leave messages:

{
  "enabled": false,
  "serverJoinMessage": "{player} has joined the server",
  "serverLeaveMessage": "{player} has left the server",
  "worldEnterMessage": "{player} entered {world}",
  "worldLeaveMessage": "{player} left {world}"
}

Properties

Property Type Description
enabled boolean Set to true to use custom messages, false for default Hytale messages
serverJoinMessage string Message shown when a player connects to the server. Supports {player} placeholder and formatting codes.
serverLeaveMessage string Message shown when a player disconnects from the server. Supports {player} placeholder and formatting codes.
worldEnterMessage string Message shown when a player enters a world/instance. Supports {player}, {world} placeholders and formatting codes.
worldLeaveMessage string Message shown when a player leaves a world/instance. Supports {player}, {world} placeholders and formatting codes.
Note

This feature is disabled by default. Set enabled to true to use your custom messages instead of Hytale's built-in join/leave announcements.

Language Files

Hyssentials supports multiple languages through JSON language files located in the lang folder inside the plugin JAR. Currently supported languages:

  • en.json - English (default)
  • fr.json - French

Message Categories

Language files contain all user-facing messages organized by category:

Category Description
error Error messages (permissions, not found, etc.)
cooldown Cooldown notification messages
success Success/confirmation messages
info Informational messages (warmups, lists, etc.)
usage Command usage hints
pm Private message formatting
ui GUI text (titles, buttons, labels)

Example Message Structure

{
  "error": {
    "no_permission": {
      "home": "<red>You don't have permission to use /home.</red>",
      "warp": "<red>You don't have permission to use /warp.</red>"
    },
    "home_not_found": "<red>Home '<yellow>%s</yellow>' not found.</red>",
    "instance_world_home": "<red>You cannot set a home in an instance world. Instance worlds are temporary and will be destroyed when you leave.</red>"
  },
  "success": {
    "home_set": "<green>Home '<yellow>%s</yellow>' set at <gray>%.1f, %.1f, %.1f</gray></green>"
  }
}

Placeholders

Messages use Java's String.format() placeholders:

  • %s - String (player names, home names, etc.)
  • %d - Integer (cooldown seconds, counts, etc.)
  • %.1f - Decimal with 1 decimal place (coordinates)

Color Tags

Messages support MiniMessage-style color tags:

  • <red>text</red> - Red text
  • <green>text</green> - Green text
  • <yellow>text</yellow> - Yellow text
  • <orange>text</orange> - Orange text
  • <gray>text</gray> - Gray text
Adding Languages

To add a new language, create a new JSON file (e.g., de.json for German) following the same structure as en.json. The plugin will automatically detect and load available language files.

Formatting Guide

Hyssentials supports formatting codes in join/leave messages to add colors and text styles. Use the & symbol followed by a code.

Style Codes

Code Effect Example
&b or &l Bold &bHelloHello
&i Italic &iHelloHello
&u Underline &uHelloHello
&m Monospace &mHelloHello
&r Reset (clear all formatting) &bBold &rNormalBold Normal

Color Codes

Use & followed by a hex color code to set text color:

Format Example Result
&#RRGGBB &#FF5555Hello Hello (red)
&#RRGGBB 7FF55Hello Hello (green)
&#RRGGBB ᖳFFHello Hello (blue)
&#RRGGBB &#FFAA00Hello Hello (orange)

Common Colors Reference

Color Hex Code Preview
Red &#FF5555 ■■■■■
Green 7FF55 ■■■■■
Blue ᖳFF ■■■■■
Yellow &#FFFF55 ■■■■■
Orange &#FFAA00 ■■■■■
Purple &#AA00FF ■■■■■
Cyan 7FFFF ■■■■■
Pink &#FF55FF ■■■■■
White &#FFFFFF ■■■■■
Gray &#AAAAAA ■■■■■
Dark Gray 򇨣 ■■■■■

Combining Styles

You can combine multiple formatting codes. Codes apply to all text that follows until reset with &r.

// Green bold player name, then normal white text
"7FF55&b{player} &rhas joined the server"

// Result: [green bold]Steve[/green bold] has joined the server
// Red bold player name, gray "left", orange world name
"&#FF5555&b{player} &r󙀸left &#FFAA00{world}"

// Result: [red bold]Steve[/red bold] [gray]left[/gray] [orange]The Forgotten Temple[/orange]

Full Example

{
  "enabled": true,
  "serverJoinMessage": "7FF55&b+ {player} &r&#AAAAAAjoined the server",
  "serverLeaveMessage": "&#FF5555&b- {player} &r&#AAAAAAleft the server",
  "worldEnterMessage": "&#AAAAAA{player} entered &#FFAA00&b{world}",
  "worldLeaveMessage": "&#AAAAAA{player} left &#FFAA00&b{world}"
}
Tips

• Use &r to reset formatting before starting a new style
• Hex colors must be exactly 6 characters (RRGGBB)
• Codes are case-insensitive (&B and &b both work)
• Use a color picker tool to find the perfect hex color for your server theme

Permissions Reference

Rank Permissions

Each rank automatically generates a permission node:

  • hyssentials.rank.default - Default rank
  • hyssentials.rank.vip - VIP rank
  • hyssentials.rank.<id> - Custom ranks

Admin Permissions

Permission Description
hyssentials.setspawn Set the server spawn point
hyssentials.setwarp Create server warps
hyssentials.delwarp Delete server warps
hyssentials.htp Teleport to players
hyssentials.htphere Teleport players to you
hyssentials.admin.ranks Access rank management UI
hyssentials.admin.setrank Assign/remove ranks from players
hyssentials.admin.playerinfo View player information
hyssentials.admin.reload Reload configuration
hyssentials.vanish Toggle vanish mode
hyssentials.fly Toggle flight mode

Admin Chat Permissions

Permission Description
hyssentials.adminchat.staff Access staff chat channel
hyssentials.adminchat.admin Access admin chat channel

Special Permissions

Permission Description
hyssentials.cooldown.bypass Bypass all cooldowns and warmups

Legacy Permissions (Backwards Compatibility)

These permissions from older versions still work:

Permission Description
hyssentials.vip Maps to VIP rank
hyssentials.vip.homes Extended home limit
hyssentials.vip.cooldown Reduced cooldowns