Since emojis were not the cause of the syntax error, restoring all visual indicators:
- 👋 for JOIN/LEAVE messages
- ⚠️ for ERROR messages
- ✅ for SUCCESS messages
- 🔧 for DEBUG messages
- 🎮 for GAME messages
- 🔄 for WELCOME messages
- 📨 for script ready message
- 🔊 for verbose logging toggle
- 🔍 for debug logging
Maintains visual consistency with other game scripts while keeping the syntax fix.
- Changed variable name from 'state' to 'stateVal' on line 324
- Updated corresponding reference on line 325
- Eliminates potential reserved word conflict or invisible character issues
- Should resolve LSL syntax error at 324,19
CRITICAL MEMORY FIX: Reduce Main Controller memory usage by delegating string operations
CONTROLLER_MESSAGEHANDLER ENHANCEMENTS:
- Added MSG_OWNER_MESSAGE, MSG_PUBLIC_MESSAGE, MSG_REGION_MESSAGE handlers
- New handleOwnerMessage(), handlePublicMessage(), handleRegionMessage() functions
- Memory-efficient message formatting with type-based templates
- Moved all heavy string concatenation operations out of Main Controller
MAIN CONTROLLER CHANGES:
- Added ownerMsg(), publicMsg(), regionMsg() helper functions
- Replaced memory-heavy llOwnerSay() calls with delegated message functions
- Reduced string concatenation operations in critical paths
- Kept simple direct calls for essential messages only
This architectural change should significantly reduce Main Controller memory pressure
and resolve the persistent Stack-Heap Collision errors.
- Fixed syntax error on line 113,0 in Verbose_Logger.lsl
- Moved function definitions before state block (LSL requirement)
- Removed duplicate function definitions at end of file
- Functions flushMessageBuffer() and reportMemoryStatus() now properly defined
Script should now compile correctly in LSL.
CRITICAL ARCHITECTURE CHANGE to resolve memory crashes:
NEW FILE: Verbose_Logger.lsl
- Dedicated script for all debug output to free up memory in Main Controller
- Handles verbose logging toggle and message buffering
- Script ID system for organized log prefixes
- Memory-safe batched output system
MAIN CONTROLLER CHANGES:
- Removed all verbose logging code and variables
- Redirected debug calls to dedicated Verbose_Logger script
- Simplified verbose logging toggle to forward to logger
- Removed memory-heavy string operations
This architectural split should immediately resolve the Stack-Heap Collision
by moving all debug-related memory usage out of the Main Controller.
CRITICAL FIX: Main Controller experiencing Stack-Heap Collision from verbose logging
- Added emergency memory monitoring to auto-disable verbose logging when memory low
- Replaced heavy string concatenation debug calls with lightweight versions
- Added memory checks before debug output to prevent crashes
- Simplified verbose logging toggle messages to reduce memory usage
- Emergency threshold: auto-disable at <1000 bytes free memory
- Safety checks: only output debug if >500 bytes available
This should immediately resolve the Stack-Heap Collision error.
- Added proper attribution: 'Feature suggested by Pawkaf (pawkaf.lutrova)'
- Credits Pawkaf for the innovative red X overlay idea for eliminated players
- Updates all documentation files with appropriate recognition
- Updates: CHANGELOG.md, README.md, CHANGELOG_Notecard.txt, README_Notecard.txt
- Added 'Enhanced Elimination Visual Feedback' section to all documentation files
- Documents the red X overlay that appears on eliminated players' profile pictures
- Explains immediate visual feedback when players reach 0 lives
- Notes persistent display until game reset for historical reference
- Improves user experience by making elimination status clearly visible
- Updates: CHANGELOG.md, README.md, CHANGELOG_Notecard.txt, README_Notecard.txt
- Added critical 'Number Detection & Shield Logic Fixes' section to all documentation files
- Documents the fix for system not recognizing numbers players had picked
- Explains the root cause (pick data sync issues) and solution (enhanced validation)
- Ensures complete coverage of v2.8.4 improvements including shield mechanics restoration
- Updates: CHANGELOG.md, README.md, CHANGELOG_Notecard.txt, README_Notecard.txt
- Fixed technical rules section to show 2-minute timeout instead of 10-minute
- Matches current code implementation in Main_Controller_Linkset.lsl
- Added context note about improved faster gameplay
- Updated version info from 2.6.0 to 2.8.1 (August 14, 2025)
- Added new v2.8.0 security features (Game Lockout, Kick Player)
- Added new v2.8.1 display improvements (Real-time status, enhanced elimination)
- Updated owner menu section with new Lock/Unlock and Kick Player options
- Added comprehensive Game Security and Enhanced Display System sections
- Updated technical rules to reflect automatic reset and single linkset architecture
- Maintained all original core gameplay rules and strategies
- Now clears entire workspace except .git directory before checkout
- Ensures absolutely clean state for every build
- Uses safe find command with error suppression
- Guarantees no leftover files from previous builds can interfere
- Cleanup now runs right after checkout, before validation
- Removes conditional 'when' clause so cleanup runs on all branches
- This ensures validation only processes clean original files
- Much more efficient - no more validating hundreds of processed files
- Replace bash [[ ]] with POSIX [ ] syntax
- Use parameter expansion for prefix checking
- Eliminates "[[: not found" errors in Jenkins logs
- Maintains same functionality with better shell compatibility
- Added 'Clean Workspace' stage to remove all processed_*.lsl files before preprocessing
- Fixed documentation generation to only process original source files
- This will clean up the hundreds of recursive processed files from Jenkins workspace
- Pipeline now starts with a clean slate on each build
- Only process original source files, not already-processed ones
- Add .gitignore to exclude processed files and build artifacts
- Prevents exponential explosion of processed_processed_processed... files
- Comment out NOTIFICATION_WEBHOOK credential until configured
- Pipeline should now run without credential errors
- Notifications can be added later when webhook is set up
- Remove cleanWs from post section to avoid context errors
- Fix all workspace paths to use current directory (.)
- Pipeline should now run properly on Jenkins agent