github Shadowner/Infrarust v1.4.0
v1.4.0 - More MOTD customization & Log Filtering & Optimization

latest releases: v2.0.0-alpha.2, v2.0.0-alpha.1, v1.6.3...
10 months ago

Infrarust v1.4.0 - MOTD Overhaul, bug fixes & Log filtering

The customization and reliability update you've been waiting for! 🎉

those features have been asked through the discord server feel free to join to share some features Ideas !

🌟 Major New Features

config_examples/config.yaml & config_examples/proxies/local-server.yaml have been updated to reflect change from this update !

🖼️ PNG Favicon Support

No more base64 hassles! You can now use PNG files directly:

motd:
  favicon: "./assets/my-cool-icon.png"  # Just point to your PNG!
  • Works with both absolute and relative paths
  • Smart fallback system finds your files automatically
  • Still supports base64 if that's your thing

🎨 Multi-State MOTD System

Create different messages for every server situation:

server:
  motds:
    online:
      text: "§a§lServer Online! Join the fun!"
      favicon: "./icons/online.png"
    offline:
      text: "§eServer's napping. Connect to wake it up!"
    crashed:
      text: "§4Oops! Server had a moment. Admin's on it!"
    shutting_down:
      text: "§cShutting down in ${seconds_remaining}!"
  • Separate MOTDs for online, offline, starting, crashed, and more
  • Dynamic countdown timers with ${seconds_remaining} placeholder
  • Smart fallback: specific → global → default message
  • Per server config based motd handling

🔍 Regex Log Filtering

Cut through the noise and see what matters:

logging:
  regex_filter: "error|warn|fatal"  # Only show the important stuff (Only filter through the message)
    # Configure different log levels for each type
  log_types:
    # Core system logs - keep these visible
    supervisor: "info"
    server_manager: "info"
    #...
    telemetry: "error"

  # Exclude very noisy log types
  exclude_types:
    - "tcp_connection"
    - "packet_processing"
  • Filter logs with powerful regex patterns
  • Performance optimized with compiled regex caching
  • Graceful fallback when patterns fail
  • Show only targets you want

more here : config_examples/config.yaml

🔧 Major Fixes & Improvements

💪 Solid Server Process Management

Fixed those annoying issues where crashed servers weren't detected properly:

  • Complete ProcessManager rewrite with better error handling
  • No more hanging processes or memory leaks
  • Immediate cleanup when servers crash or shut down

🚫 Smarter Ban System

CLI ban commands now prevent duplicates:

> ban -u BadPlayer 1d "Griefing"
> ban -u BadPlayer 1d "More griefing"  # Won't create duplicate!
Error: Player 'BadPlayer' is already banned
  • Checks for existing bans before creating new ones
  • Clear error messages for duplicate attempts
  • Works for IP, username, and UUID bans

🚀 Performance & Reliability

Memory Usage

  • Eliminated memory leaks in process management
  • Better cleanup strategies across the board
  • Optimized MOTD generation with reduced allocations

🔄 Migration & Compatibility

Good news: Almost Everything's backward compatible!

  • Existing configs keep working while you upgrade gradually
  • PNG favicons are optional - keep your base64 if you want
  • All improvements work transparently in the background

Not backward compatible

  • the motd field has been renamed to motds

🐛 What Got Squashed

  • Resolved race conditions in state management
  • Better error handling throughout the codebase

Don't miss a new Infrarust release

NewReleases is sending notifications on new releases.