promotional bannermobile promotional banner
premium banner
Player World Time Limit is a Hytale server plugin that enforces per-world playtime limits, with fallback routing and centralized player messaging.

Description

PlayerWorldTimeLimit

PlayerWorldTimeLimit is a Hytale server plugin that controls how long players can stay in specific worlds and how world access is managed when limits are reached.
It provides a structured, scenario-based messaging system with per-channel control (chat, notification, event title), full server/world override support, and in-game GUI administration.
The plugin is designed to be highly configurable, translation-friendly, and safe for multi-world environments.


Features

  • Per-world time limit control
  • Set max allowed time per world (TimeLimitSeconds)
  • Set reset window per world (ResetTimeSeconds)
  • Track player presence and enforce limits automatically
  • Per-world max player limit
  • Set MaxPlayers per world
  • Block world entry when capacity is reached
  • Send configurable player-facing feedback for full worlds
  • Server defaults + world overrides
  • Global defaults for logic and messaging
  • World-specific overrides for behavior and communication
  • Clean inheritance model with explicit override toggles in GUI
  • Structured scenario-based messaging
  • Message configuration by scenario and channel
  • Supported scenarios:
    • max_players_reached
    • time_left_current_world
    • time_expired_current_world
    • can_reenter_world
    • fallback_teleported
    • fallback_disconnected
  • Supported channels per scenario:
    • Chat
    • Notification packet
    • Event title (NotificationBroadcastUtil.showEventTitle)
    • Per-channel enable/disable
    • Each channel can be independently enabled/disabled
    • World can disable a channel even if server default is enabled
    • Fallback resolution hierarchy
    • World scenario override
    • Server scenario default
    • Translation/lang fallback (when applicable)
    • Translation-ready defaults
  • Built to support translatable player-facing messages
  • Placeholders supported (for example {world}{max}{time}, etc.)
  • Dedicated in-game admin GUI
  • Split configuration pages:
  • Logic page (time limit, reset, fallback, max players, command behavior)
  • Messages page (scenario/channel message control)
  • Scenario selector with dropdown
  • Save/cancel controls and immediate UI refresh on scenario change
  • Exit command support
  • Optional player command to leave limited worlds
  • Configurable command name and alias (defaults: returnexitworld)
  • Configurable destination:
    • fallback world/server or explicit world/coordinates
  • Fallback transfer/disconnect behavior
  • Send player to fallback world/server when time is exceeded
  • If no fallback is available, disconnect with configurable feedback
  • Notification system
  • Periodic warning notifications before timeout
  • Configurable interval, warning threshold, icon, and sound
  • Event title timing/sound/icon customization
  • Permission and bypass system
  • Global bypass permission (playerworldtimelimit.bypass)
  • Creative mode bypass support
  • Permission tier structure support (server/world)
  • Persistence
  • JSON-based configuration (playerworldtimelimit.json)
  • Player time data storage (player_times.json)
  • Runtime save/reload integration

 

 

Commands

Player

- `/timelimit` (aliases: `tl`, `timeleft`)
- shows limit status, spent/remaining time, and re-entry info
- `/return` (alias `/exitworld` by default, configurable)
- exits current limited world using configured destination/fallback

Admin (Creative + permission)


- `/timelimitgui` (aliases above)
- permission: `timelimit.admin.gui`
- `/timelimitreset <playerName> <worldName>`
- aliases: `tlreset`, `tlr`, `resettime`, `resetlimit`
- permission: `timelimit.admin.reset`

Note: if you change exit command name/alias in config or GUI,
restart is required because command registration occurs at startup.


Permissions


Administrative permissions


- `timelimit.admin.gui` required to open and use `/timelimitgui` (GUI access)
- `timelimit.admin.reset` required to execute `/timelimitreset` and its aliases

Gameplay/bypass permission


- `playerworldtimelimit.bypass` (configurable via `BypassPermission`)
        bypasses time-limit and world full restrictions
        players with this permission are not blocked by world time or player-cap checks

Additional bypass behavior


- Players in Creative mode are treated as bypassed by design.