SimpleScripting

SimpleScripting

Por InvBoyZz 18 de enero de 2026
#gaming#Hytale#JavaScript#plugins#Programación Sencilla#Scripting

¡Desata todo el potencial de tu servidor Hytale con la programación en JavaScript!

SimpleScripting es un potente plugin que trae la programación en JavaScript del lado del servidor a los servidores de Hytale. Crea comandos personalizados, gestiona eventos de jugadores, construye características complejas y amplía la funcionalidad de tu servidor, todo sin escribir una sola línea de código en Java.

¿Por qué elegir SimpleScripting?

No se requiere Java – Escribe scripts en JavaScript, uno de los lenguajes de programación más populares del mundo. Si conoces lo básico de JavaScript, puedes crear características para el servidor.

Recarga en caliente – Modifica tus scripts y recárgalos al instante sin reiniciar tu servidor. Perfecto para un desarrollo y pruebas rápidas.

Todo incluido – Viene con un conjunto completo de scripts de ejemplo para características comunes del servidor como hogares, puntos de teletransporte, solicitudes de teletransporte y más.

Completamente extensible – La API completa te da acceso a jugadores, mundos, eventos, comandos, permisos, bases de datos y programadores.

Características clave

Comandos personalizados

¡Crea tus propios comandos con facilidad! Soporte para:

  • Argumentos requeridos y opcionales (cadenas, enteros, dobles)
  • Alias de comandos
  • Autocompletado
  • Requisitos de permisos
  • Formato enriquecido con colores

Sistema de eventos

Reacciona a todo lo que sucede en tu servidor:

  • Unión/Salida de jugadores – Mensajes de bienvenida, recompensas de inicio de sesión
  • Muerte/Respawn de jugadores – Mensajes de muerte, gestión de respawn
  • Chat de jugadores – Formato de chat, filtros, características de chat personalizadas
  • Movimiento de jugadores – Detección de regiones, aplicación de límites
  • Cambios en el mundo – Rastrear jugadores a través de dimensiones
  • Ejecutar comandos – Registro de comandos, bloqueo
  • Tick del servidor – Tareas periódicas, automatización

API de Teleportación

Teleportación segura y fiable con:

  • Precarga de chunks asíncrona (¡sin caídas!)
  • Temporizadores de calentamiento para teletransportes
  • Soporte de posición y rotación
  • Teleportación entre mundos

API de Base de Datos

Almacenamiento de clave-valor simple pero potente:

  • Persistencia automática en archivos JSON
  • Almacenamiento de datos por jugador
  • Almacenamiento de datos a nivel de servidor
  • No se requiere base de datos externa

API de Programador

Ejecuta tareas a tu manera:

  • Ejecución retrasada (ticks o milisegundos)
  • Tareas repetitivas
  • Cancelación de tareas
  • Perfecto para tiempos de espera, calentamientos y eventos periódicos

API de Permisos

Integra con el sistema de permisos nativo de Hytale:

  • Comprobar permisos de jugadores
  • Requerir permisos para comandos
  • Detección de administradores
  • Nodos de permisos personalizados para tus scripts

Scripts de ejemplo incluidos

SimpleScripting viene con 8 scripts listos para usar que puedes habilitar de inmediato:

Sistema de Hogares (homes.js)

Permite a los jugadores establecer y teletransportarse a ubicaciones de hogar personales.

  • /sethome [nombre] – Establecer una ubicación de hogar
  • /home [nombre] – Teletransportarse a un hogar
  • /delhome <nombre> – Eliminar un hogar
  • /homes – Listar todos los hogares
  • ¡Límites de hogar configurables por rango!

Sistema de Puntos de Teletransporte (warps.js)

Puntos de teletransporte a nivel de servidor para una navegación fácil.

  • /setwarp <nombre> – Crear un punto de teletransporte en el servidor (administrador)
  • /warp <nombre> – Teletransportarse a un punto de teletransporte
  • /delwarp <nombre> – Eliminar un punto de teletransporte (administrador)
  • /warps – Listar puntos de teletransporte disponibles

Sistema de Spawn (spawn.js)

Gestión del punto de spawn central.

  • /setspawn – Establecer el spawn del servidor (administrador)
  • /spawn – Teletransportarse al spawn

Solicitudes de Teletransporte (tpa.js)

Teleportación segura de jugador a jugador.

  • /tpa <jugador> – Solicitar teletransportarse a alguien
  • /tpahere <jugador> – Solicitar a alguien que se teletransporte a ti
  • /tpaccept – Aceptar solicitud entrante
  • /tpdeny – Denegar solicitud entrante
  • /tpcancel – Cancelar tu solicitud saliente
  • ¡Tiempo de espera y tiempos de recarga configurables!

Comando de Regreso (back.js)

Regresar a ubicaciones anteriores.

  • /back – Regresar a tu última ubicación
  • ¡Guarda la ubicación al morir para que nunca pierdas tus objetos!
  • Tamaño del historial configurable

Teletransporte Aleatorio (rtp.js)

Explora el mundo de forma segura.

  • /rtp – Teletransportarse a una ubicación aleatoria segura
  • /wild, /randomtp – Alias
  • Distancia mínima/máxima configurable
  • Detección automática de ubicaciones seguras

Sistema de Rangos (ranks.js)

Gestión básica de rangos.

  • /rank set <jugador> <rango> – Asignar un rango
  • /rank get <jugador> – Comprobar el rango de un jugador
  • /rank list – Listar todos los rangos
  • /myrank – Comprobar tu propio rango

Herramientas de Administrador (admin.js)

Comandos esenciales de administración.

  • /simplescripting reload – Recargar todos los scripts en caliente
  • /simplescripting info – Información del plugin
  • /tp <jugador> – Teletransportarse a un jugador
  • /tphere <jugador> – Teletransportar a un jugador hacia ti
  • /playerinfo <jugador> – Ver detalles de un jugador
  • /players – Listar jugadores en línea

Configuración

Todas las configuraciones son fácilmente personalizables en 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
    }
    // ... ¡y más!
};

Configuración Basada en Rangos

Define diferentes límites para diferentes rangos de jugadores:

var RANKS = {
    default: {
        // Usa la configuración predeterminada
    },
    vip: {
        homes: { maxHomes: 5, cooldownSeconds: 3 }
    },
    admin: {
        homes: { maxHomes: 10, cooldownSeconds: 0 }
    }
};

Para desarrolladores

API Completa

SimpleScripting proporciona acceso a:

API
Descripción

Comandos
Registrar comandos personalizados con argumentos y permisos

Eventos
Escuchar eventos de jugadores y del servidor

Jugadores
Encontrar, gestionar y obtener información sobre jugadores

Mundos
Acceder a datos del mundo e información de bloques

Teleportar
Teleportación segura con carga asíncrona de chunks

DB
Almacenamiento de base de datos clave-valor

Programador
Tareas retrasadas y repetitivas

Permisos
Comprobación de permisos y requisitos

MessageHelper
Enviar mensajes y anuncios

Colores
Códigos de color de Minecraft y formato

Logger
Registro en consola

Ejemplo: Crear un Comando Personalizado

Commands.register()
    .setName('greet')
    .setDescription('Saludar a un jugador')
    .addRequiredStringArg('player', 'Jugador a saludar')
    .setHandler(function(ctx) {
        var target = Players.getByNameFuzzy(ctx.getArgAsString('player'));
        if (target) {
            MessageHelper.send(target, Colors.GOLD + '¡Hola de parte de ' + Players.getUsername(ctx.getPlayer()) + '!');
            ctx.sendMessage(Colors.GREEN + '¡Saludo enviado!');
        } else {
            ctx.sendMessage(Colors.RED + '¡Jugador no encontrado!');
        }
    });

Ejemplo: Escuchar Eventos

Events.on('playerJoin', function(event) {
    var player = Players.getByUuid(event.playerUuid);
    MessageHelper.broadcast(Colors.YELLOW + Players.getUsername(player) + ' se ha unido al servidor!');
});

Events.on('playerDeath', function(event) {
    var player = Players.getByUuid(event.playerUuid);
    var loc = Players.getFullLocation(player);
    // Guardar ubicación de muerte para el comando /back
    DB.save('death_locations', event.playerUuid, JSON.stringify(loc));
});

Biblioteca de Utilidades

La biblioteca incluida lib/utils.js proporciona funciones útiles:

  • Utils.getPlayerFromContext(ctx) – Obtener jugador del comando
  • Utils.formatTime(seconds) – Formatear duraciones de tiempo
  • Utils.formatPosition(x, y, z) – Formatear coordenadas
  • Utils.createCooldownTracker() – Gestión fácil de tiempos de espera
  • Utils.teleportWithWarmup() – Teletransportar con cuenta atrás

Estructura del Directorio

universe/SimpleScripting/
├── mods/                    # Tus archivos JavaScript
│   ├── lib/                 # Bibliotecas compartidas (cargadas primero)
│   │   ├── utils.js         # Utilidades comunes
│   │   └── config.js        # Configuración
│   ├── homes.js             # Sistema de hogares
│   ├── warps.js             # Sistema de puntos de teletransporte
│   └── ...                  # ¡Tus scripts personalizados!
├── db/                      # Archivos de base de datos (creados automáticamente)
└── assets/                  # Carpeta de activos (en desarrollo - aún no disponible)
    ├── config/              # Archivos de configuración
    ├── lang/                # Archivos de idioma
    └── ui/                  # Definiciones de UI

Instalación

  • Descarga el plugin JAR
  • Colócalo en la carpeta plugins de tu servidor
  • Inicia tu servidor
  • El plugin crea automáticamente el directorio universe/SimpleScripting/mods/
  • Los scripts de ejemplo se copian automáticamente
  • ¡Personaliza los scripts a tu gusto!
  • Actualización de Scripts

    Simplemente edita tus archivos .js y ejecuta /simplescripting reload – ¡no se requiere reinicio del servidor!

    Soporte y Comunidad

    ¿Encontraste un error? ¿Tienes una solicitud de función? ¿Quieres compartir tus scripts?

    • Reporta problemas en nuestro rastreador de problemas
    • El repositorio público estará disponible pronto para que puedas contribuir enviando Pull Requests

    Relacionados:

    Hysouls

    Hysouls

    #gaming#Hysouls#Hytale

    ¡El mod todavía está en una fase alfa muy temprana! Hysouls tiene como objetivo añadir elementos de soulslike a Hytale.A...

    Connecting Planters

    Connecting Planters

    #Conectando Macetas#gaming#Hytale

    Este mod añade dos macetas conectadas al juego para permitir a los usuarios hacer macetas largas y muy bonitas para su i...

    Instant Respawn

    Instant Respawn

    #death screen#gaming#Hytale

    Este plugin elimina completamente la pantalla de muerte en Hytale, similar a la regla de juego doImmediateRespawn de Min...

    Weapon Flow

    Weapon Flow

    #cooldowns#Flujo de Armas#gaming

    WeaponFlow WeaponFlow reemplaza el sistema nativo de habilidades de arma de Hytale basado en golpe a carga con tiempos d...

    Alterverses

    Alterverses

    #actualización#cambio#comunidad

    Change your Hytale server name 18 January 2026 ...