promotional bannermobile promotional banner

JoinScreen 🖼️ Image Popup Screen 🖥️ Welcome / Rules with Custom Command Buttons (URL png/jpg now supported)

JoinScreen adds a dynamic join popup with a (URL/local) image, text and action buttons when players join your server. Super-easy drop-an-image solution. Show server rules and tips, website link, banner, instructions, etc.

File Details

JoinScreen 1.10.2 (REBUILT)

  • R
  • Feb 10, 2026
  • 1.15 MB
  • 255
  • Early Access

File Name

JoinScreen-1.10.2.jar

Supported Versions

  • Early Access

JoinScreen Major Update (1.10.2 Full Rebuild)

 

Core system rewrite

  • Reworked JoinScreen from static/JAR-repack flow to true runtime asset loading. Now will work on any operating system without errors for Windows environment.
  • Added in-game reload path for config + assets with no server restart.

 

Dynamic image pipeline

Image source now supports:
  1. local files from mods/jox.works_JoinScreen/data
  2. remote http/https URLs of .png or .jpg/.jpeg files.

  • Added remote image caching with change checks:
      1. ETag / Last-Modified
      2. SHA-256 content comparison
  • Added processing pipeline:
      1. optional light compression/downscale for huge images
      2. optional rounded corners
      3. configurable corner radius
      4. Runtime texture updates are pushed live to connected players.

 

Refresh / reload commands

  • Added /joinscreen refresh and /joinscreen reload.
  • While processing, popup opening is blocked to prevent broken texture race conditions.
  • Added short post-refresh sync delay so UI opens only after asset propagation.
  • Refresh errors show the actual reason instead of silently regenerating bad configs.

 

Show-again Command

  • You can now enable/disable/customize a 'show again' command.
  • Alias command applies on refresh/reload without full restart.

 

Permissions / access control

  • Refresh/reload now require proper permissions (or console):
    joinscreen.admin / joinscreen.refresh / joinscreen.reload
  • Added instance/world filtering: new config allowlist (default: ["default"]). Popup only displays in configured instance names.

 

Per-player behavior controls

  • Added persistent “do not show again” expiry: formats like 5m, 12h, 30d, never
  • Added persistent cooldownSeconds behavior across relogs/restarts:
  • per-user cooldown state stored and respected globally.
  • Existing seen/dont-show behavior kept and upgraded for compatibility.

 

UI/UX changes

  • New layout structure: title, optional text, image, optional text, up to 3 buttons, close button and optional 'Do not show again' text.
  • Added configurable lock timer behavior:
  • Close button is disabled while locked
  • Countdown updates every second then unlocks (optional).
  • Dynamic window/image sizing improved and repeatedly tuned for cleaner spacing/padding.

 

Config quality improvements

  • JoinScreen.json now supports comments:
  • Default config is now heavily documented with inline comments.
  • Fixed JSON generation bugs (including button array object closure issues).
  • Added clearer button section guidance and image type notes.

 

Defaults updated

  • Images are now defaulted to URL.
  • New default 3-button preset, fully customized command-running buttons:
      1. Test Teleport (console)
      2. Test Player Command (player)
      3. Website Button

 

Folder + migration changes

  • New plugin data folder:
  • jox.works_JoinScreen
  • Legacy JoinScreen folder migration support added.
  • Default config regeneration/migration logic improved.