Back to Mods
SimpleScripting

SimpleScripting

miscInvBoyZz

Write custom plugins using Javascript

About SimpleScripting

SimpleScripting - Server-Side JavaScript for Hytale

Join to our discord if any issue or help needed: Discord

Source Code: HostTale-Project/SimpleScripting

Unleash the full potential of your Hytale server with JavaScript scripting!

SimpleScripting is a powerful plugin that brings server-side JavaScript scripting to Hytale servers. Create custom commands, handle player events, build complex features, and extend your server's functionality, all without writing a single line of Java code.

Why SimpleScripting?

No Java Required - Write scripts in JavaScript, one of the world's most popular programming languages. If you know basic JavaScript, you can create server features.

Hot Reload - Modify your scripts and reload them instantly without restarting your server. Perfect for rapid development and testing.

Batteries Included - Comes with a complete set of sample scripts for common server features like homes, warps, teleport requests, and more!

Fully Extensible - The comprehensive API gives you access to players, worlds, events, commands, permissions, databases, and schedulers.

Key Features

Custom Commands

Create your own commands with ease! Support for:

Required and optional arguments (strings, integers, doubles)

Command aliases

Tab completion

Permission requirements

Rich formatting with colors

Event System

React to everything happening on your server:

Player Join/Quit - Welcome messages, login rewards

Player Death/Respawn - Death messages, respawn handling

Player Chat - Chat formatting, filters, custom chat features

Player Movement - Region detection, border enforcement

World Changes - Track players across dimensions

Command Execution - Command logging, blocking

Server Tick - Periodic tasks, automation

Teleportation API

Safe and reliable teleportation with:

Async chunk preloading (no crashes!)

Teleport warmup timers

Position and rotation support

Cross-world teleportation

Database API

Simple but powerful key-value storage:

Automatically persisted to JSON files

Per-player data storage

Server-wide data storage

No external database required

Scheduler API

Run tasks on your terms:

Delayed execution (ticks or milliseconds)

Repeating tasks

Task cancellation

Perfect for cooldowns, warmups, and periodic events

Permissions API

Integrate with Hytale's native permission system:

Check player permissions

Require permissions for commands

Admin detection

Custom permission nodes for your scripts

Included Sample Scripts

SimpleScripting comes with 8 ready-to-use scripts that you can enable immediately:

Homes System (homes.js)

Let players set and teleport to personal home locations.

/sethome [name] - Set a home location

/home [name] - Teleport to a home

/delhome <name> - Delete a home

/homes - List all homes

Configurable home limits per rank!

Warps System (warps.js)

Server-wide warp points for easy navigation.

/setwarp <name> - Create a server warp (admin)

/warp <name> - Teleport to a warp

/delwarp <name> - Remove a warp (admin)

/warps - List available warps

Spawn System (spawn.js)

Central spawn point management.

/setspawn - Set the server spawn (admin)

/spawn - Teleport to spawn

Teleport Requests (tpa.js)

Safe player-to-player teleportation.

/tpa <player> - Request to teleport to someone

/tpahere <player> - Request someone to teleport to you

/tpaccept - Accept incoming request

/tpdeny - Deny incoming request

/tpcancel - Cancel your outgoing request

Configurable timeout and cooldowns!

Back Command (back.js)

Return to previous locations.

/back - Return to your last location

Saves location on death so you never lose your items!

Configurable history size

Random Teleport (rtp.js)

Explore the world safely.

/rtp - Teleport to a random safe location

/wild, /randomtp - Aliases

Configurable min/max distance

Automatic safe location detection

Ranks System (ranks.js)

Basic rank management.

/rank set <player> <rank> - Assign a rank

/rank get <player> - Check a player's rank

/rank list - List all ranks

/myrank - Check your own rank

Admin Tools (admin.js)

Essential administration commands.

/simplescripting reload - Hot reload all scripts

/simplescripting info - Plugin information

/tp <player> - Teleport to a player

/tphere <player> - Teleport a player to you

/playerinfo <player> - View player details

/players - List online players

Configuration

All settings are easily customizable in lib/config.js:

var DEFAULTS = { homes: { maxHomes: 3, cooldownSeconds: 5, warmupSeconds: 3 }, warps: { cooldownSeconds: 5, warmupSeconds: 3 }, tpa: { timeoutSeconds: 60, cooldownSeconds: 10, warmupSeconds: 3 }, rtp: { minDistance: 100, maxDistance: 5000, cooldownSeconds: 300 } // ... and more! }; Rank-Based Configuration

Define different limits for different player ranks:

var RANKS = { default: { // Uses default settings }, vip: { homes: { maxHomes: 5, cooldownSeconds: 3 } }, admin: { homes: { maxHomes: 10, cooldownSeconds: 0 } } };

For Developers

Comprehensive API

SimpleScripting provides access to:

API Description

Commands Register custom commands with arguments and permissions

Events Listen to player and server events

Players Find, manage, and get information about players

Worlds Access world data and block information

Teleport Safe teleportation with async chunk loading

DB Key-value database storage

Scheduler Delayed and repeating tasks

Permissions Permission checking and requirements

MessageHelper Send messages and broadcasts

Colors Minecraft color codes and formatting

Logger Console logging

Example: Create a Custom Command

Commands.register() .setName('greet') .setDescription('Greet a player') .addRequiredStringArg('player', 'Player to greet') .setHandler(function(ctx) { var target = Players.getByNameFuzzy(ctx.getArgAsString('player')); if (target) { MessageHelper.send(target, Colors.GOLD + 'Hello from ' + Players.getUsername(ctx.getPlayer()) + '!'); ctx.sendMessage(Colors.GREEN + 'Greeting sent!'); } else { ctx.sendMessage(Colors.RED + 'Player not found!'); } }); Example: Listen to Events

Events.on('playerJoin', function(event) { var player = Players.getByUuid(event.playerUuid); MessageHelper.broadcast(Colors.YELLOW + Players.getUsername(player) + ' has joined the server!'); });

Events.on('playerDeath', function(event) { var player = Players.getByUuid(event.playerUuid); var loc = Players.getFullLocation(player); // Save death location for /back command DB.save('death_locations', event.playerUuid, JSON.stringify(loc)); }); Utility Library

The included lib/utils.js provides helpful functions:

Utils.getPlayerFromContext(ctx) - Get player from command

Utils.formatTime(seconds) - Format time durations

Utils.formatPosition(x, y, z) - Format coordinates

Utils.createCooldownTracker() - Easy cooldown management

Utils.teleportWithWarmup() - Teleport with countdown

Directory Structure

universe/SimpleScripting/ ├── mods/ # Your JavaScript files │ ├── lib/ # Shared libraries (loaded first) │ │ ├── utils.js # Common utilities │ │ └── config.js # Configuration │ ├── homes.js # Home system │ ├── warps.js # Warp system │ └── ... # Your custom scripts! ├── db/ # Database files (auto-created) └── assets/ # Assets folder (WIP - Not available yet) ├── config/ # Config files ├── lang/ # Language files └── ui/ # UI definitions

Installation

Download the plugin JAR

Place it in your server's plugins folder

Start your server

The plugin automatically creates the universe/SimpleScripting/mods/ directory

Sample scripts are copied automatically

Customize scripts to your liking!

Updating Scripts

Simply edit your .js files and run /simplescripting reload - no server restart required!

Support & Community

Found a bug? Have a feature request? Want to share your scripts?

Report issues on our issue tracker

Public repository will be available soon so you can contribute sending Pull Requests

Downloads
234
Created
Jan 17, 2026
Updated
Jan 19, 2026
Version
Early Access

Categories

MiscellaneousGameplayLibraryUtility

Screenshots

SimpleScripting screenshot 1SimpleScripting screenshot 2SimpleScripting screenshot 3SimpleScripting screenshot 4SimpleScripting screenshot 5

Download Mod

Download on CurseForge
Free download • 234 total downloads

Need a Server?

Run SimpleScripting on a dedicated Hytale server with easy mod management.

Get Hytale Hosting

Frequently Asked Questions

What is SimpleScripting?

Write custom plugins using Javascript

How do I download SimpleScripting?

You can download SimpleScripting for free from CurseForge. Click the "Download on CurseForge" button on this page to go directly to the download page.

Who created SimpleScripting?

SimpleScripting was created by InvBoyZz. The mod has been downloaded 234 times.

Is SimpleScripting compatible with Hytale servers?

SimpleScripting is designed for Hytale and can be used on both single-player and multiplayer servers. Check the mod page on CurseForge for specific compatibility information.

How do I install SimpleScripting?

To install SimpleScripting: 1) Download the mod from CurseForge, 2) Place the file in your Hytale mods folder, 3) Restart the game. The mod should load automatically.