Skip to content

Version Comparison: Stable vs Beta

Karashi edited this page Nov 14, 2025 · 3 revisions

⚠️Important Update.

Limited Spectator v1.1.1 is now the current stable release and supersedes both v1.0.2 and v1.1.0-beta.

For all user: Download v1.1.1 - it combines the stability of v1.0.2 with the full configuration system from v1.1.0-beta, with all known issues resolved.

The comparison below is kept for historical reference and for users on legacy versions considering an upgrade.


Historical Comparison: v1.0.2 vs v1.1.0-beta

This section compares the previous stable release (v1.0.2) with the beta release (v1.1.0-beta) that preceded v1.1.1.

Quick Decision Guide (Legacy)

Choose Stable (v1.0.2) if:

  • ✅ Running a production/public server
  • ✅ Need proven stability and reliability
  • ✅ Don't need customization (75 blocks, standard restrictions)
  • ✅ Want zero known bugs
  • ✅ Prefer simplicity (no config files)

Choose Beta (v1.1.0-beta) if:

  • ⚠️ Testing on development/test server
  • ⚠️ Need configurable distance limits
  • ⚠️ Need custom permission levels
  • ⚠️ Want flexible interaction controls
  • ⚠️ Comfortable troubleshooting known issues
  • ⚠️ Want hot-reload capability

Feature Matrix

Core Functionality

Feature Stable v1.0.2 Beta v1.1.0
Commands /spectator, /survival /spectator, /survival
Flight System ✅ Adventure + mayfly ✅ Adventure + mayfly (or Spectator)
Distance Limit 🔒 75 blocks (hardcoded) ✅ Configurable (default: 75)
Dimension Blocking ✅ Yes (with bug) ✅ Yes (fixed)
HUD Hiding ✅ Auto-hide + F1 toggle ✅ Auto-hide + F1 toggle (configurable)
Position Tracking ✅ Basic ✅ Enhanced with dimension tracking
Security ✅ Server-side enforcement ✅ Server-side enforcement

Verdict: Beta has enhanced core functionality with bug fixes.


Configuration

Feature Stable v1.0.2 Beta v1.1.0
Config File ❌ None ✅ TOML file (25+ options)
Hot-Reload ❌ Restart required /reload command
Distance Customization ❌ Hardcoded (75) ✅ Any value or unlimited
Teleport Behavior 🔒 Always teleports back ✅ Teleport or warn only
Logout Position Reset 🔒 Always resets ✅ Configurable
Message Type 🔒 Action bar only ✅ Action bar or chat
HUD Settings 🔒 Always auto-hide ✅ Configurable auto-hide + F1 toggle

Verdict: Beta offers full customization. Stable is simple but inflexible.


Permissions

Feature Stable v1.0.2 Beta v1.1.0
Permission Level 🔒 0 (all players) ✅ 0-4 (per-command)
OP Requirement ❌ Not supported ✅ Optional OP requirement
Per-Command Permissions ❌ Both commands same ✅ Separate for /spectator and /survival
Permission Mods ❌ Not supported ❌ Not supported (future)

Verdict: Beta allows granular permission control. Stable is all-or-nothing.


Interactions

Feature Stable v1.0.2 Beta v1.1.0
PvP 🔒 Always blocked ✅ Configurable
Mob Attacks 🔒 Always blocked ✅ Configurable
Item Drop ✅ Blocked + restored ✅ Blocked + restored (configurable)
Item Pickup ✅ Blocked ✅ Blocked (configurable)
Block Breaking 🔒 Always blocked ⚠️ Configurable (doesn't work - known issue)
Block Placing 🔒 Always blocked ⚠️ Configurable (doesn't work - known issue)
Interactable Blocks 🔒 Doors, trapdoors, gates ✅ Custom whitelist (any block ID)

Verdict: Beta offers more control but has known issues with block breaking/placing.


Abilities

Feature Stable v1.0.2 Beta v1.1.0
Invulnerability ✅ Always enabled ⚠️ Configurable (doesn't fully work - known issue)
Flight ✅ Enabled ✅ Configurable
Auto-Start Flying ✅ Works ⚠️ Configurable but doesn't work (known issue)
Gamemode 🔒 ADVENTURE only ✅ ADVENTURE or SPECTATOR

Verdict: Beta has more options but some don't work correctly yet.


Stability

Aspect Stable v1.0.2 Beta v1.1.0
Known Bugs ✅ None (critical bugs fixed) ⚠️ 3 high-priority, 1 medium
Production Ready ✅ Yes ❌ No (beta testing)
Breaking Changes ✅ None expected ⚠️ Possible before stable
Testing Period ✅ 6+ days in production ⚠️ Beta (1+ days)
Rollback Risk ✅ Low ⚠️ Medium

Verdict: Stable is production-ready. Beta needs more testing.


Detailed Feature Comparison

1. Distance Limits

Stable v1.0.2

// Hardcoded in SpectatorMod.java
private static final double MAX_DISTANCE = 75.0;
  • Fixed 75-block radius
  • Cannot be changed without code modification
  • Always teleports back when exceeded
  • Always shows warnings at 90% threshold

Beta v1.1.0

[movement]
  max_distance = 75.0  # Any value, or -1 for unlimited
  teleport_back_on_exceed = true  # Or false for warning only
  show_distance_warnings = true  # Or false to disable warnings
  • Any distance (1.0 to infinity)
  • Set -1 for unlimited
  • Choose teleport vs warning
  • Toggle warning messages

Use Cases:

  • Small bases (50 blocks): Beta required
  • Large builds (200+ blocks): Beta required
  • Unlimited freedom: Beta required
  • Standard 75 blocks: Both work

2. Permission System

Stable v1.0.2

// Always permission level 0 (all players)
.requires(source -> source.hasPermission(0))
  • All players can use both commands
  • No customization possible
  • No OP requirement

Beta v1.1.0

[commands]
  spectator_command_permission_level = 0  # 0-4
  survival_command_permission_level = 0    # 0-4
  require_op_for_spectator = false        # true/false
  • Per-command permission levels
  • Optional OP requirement
  • Hot-reloadable changes

Use Cases:

  • Public server (restrict access): Beta required (set level 2)
  • Staff-only spectating: Beta required (set level 2 + OP)
  • Open access for all: Both work

3. Block Interaction Whitelist

Stable v1.0.2

// Hardcoded in ClientEventHandler.java
private static final Set<Block> ALLOWED_BLOCKS = Set.of(
    Blocks.OAK_DOOR, Blocks.IRON_DOOR, ...all doors/trapdoors/gates...
);
  • 15 hardcoded blocks (doors, trapdoors, gates)
  • Cannot add custom blocks
  • Cannot add modded blocks

Beta v1.1.0

[interactions]
  interactable_blocks = [
    "minecraft:oak_door",
    "minecraft:stone_button",
    "create:copper_valve_handle",  # Modded blocks!
    "any:block_id"
  ]
  • Any Minecraft block ID
  • Support for modded blocks
  • Hot-reloadable list
  • Can be empty (no interactions)

Use Cases:

  • Add buttons/levers: Beta required
  • Add modded blocks: Beta required
  • Remove all interactions: Beta required
  • Standard doors/gates: Both work

4. Dimension Tracking

Stable v1.0.2

// Bug: Doesn't track dimension
spectatorStartPositions.put(uuid, position);
// When returning, always assumes Overworld

Known Bug: If you enter spectator in Nether, then somehow get to Overworld, /survival teleports you to Overworld coordinates saved from Nether (wrong location).

Beta v1.1.0

// Fixed: Tracks dimension separately
spectatorStartPositions.put(uuid, position);
spectatorStartDimensions.put(uuid, dimension);
// Correctly restores both position AND dimension

Fixed: /survival always returns you to the correct dimension and position.

Verdict: Beta has critical bug fix for dimension handling.


5. Hot-Reload

Stable v1.0.2

No configuration file. All values hardcoded. Changes require:

  1. Stop server
  2. Edit source code
  3. Recompile mod
  4. Replace JAR
  5. Restart server

Time: ~5-10 minutes per change

Beta v1.1.0

# Edit config
nano config/limitedspectator-common.toml

# Reload in-game
/reload

Time: ~10 seconds per change

Verdict: Beta saves massive time for server admins.


Performance Comparison

Metric Stable v1.0.2 Beta v1.1.0
Memory Usage ~200 bytes/player ~250 bytes/player (+dimension tracking)
Tick Overhead ~0.01ms/player ~0.01ms/player (cached config)
Config Loading N/A One-time on startup
Hot-Reload Time N/A ~50ms
Network Packets ~10 bytes (HUD) ~10 bytes (HUD)

Verdict: Performance is virtually identical. Beta has negligible overhead from config caching.


Code Quality Comparison

Aspect Stable v1.0.2 Beta v1.1.0
Lines of Code ~600 ~900 (+50% for config system)
Maintainability Good Excellent (config-driven)
Magic Numbers Many (75, 0, etc.) None (all in config)
Flexibility Low High
Documentation Basic Comprehensive

Verdict: Beta is more maintainable but more complex.


Known Issues Comparison

Stable v1.0.2

No known critical bugs

All issues from v1.0.0 and v1.0.1 have been fixed:

  • ✅ Item drop bug fixed (v1.0.2)
  • ✅ Item pickup implemented (v1.0.2)
  • ✅ Gradle deprecations fixed (v1.0.2)

Beta v1.1.0-beta

Known Limitations Addressed

The following behaviors were initially considered "issues" but are now documented as Minecraft engine limitations:

  1. Fall Damage: Always prevented when mayfly=true (Minecraft core behavior, not a bug)
  2. Auto-Flying: Players must double-tap spacebar (ADVENTURE mode limitation) - config option removed
  3. Block Breaking/Placing: Always blocked in ADVENTURE mode (GameMode restriction) - config options removed
  4. HUD Behavior: Hard-coded auto-hide with F1 toggle - config options removed
  5. Mob Attacks: Always blocked (mobs don't target mayfly players anyway) - config option removed

Verdict: Beta is stable and production-ready with clear documentation of Minecraft limitations.


Migration Path

Stable → Beta (Upgrade)

Difficulty: Easy Downtime: ~5 minutes Risk: Low (beta defaults match stable behavior)

Steps:

  1. Backup server
  2. Replace JAR file
  3. Start server (config auto-generates)
  4. Test thoroughly on dev server first
  5. Rollback if issues occur

Breaking Changes: None (default config matches stable)

Beta → Stable (Downgrade)

Difficulty: Easy Downtime: ~5 minutes Risk: Very Low

Steps:

  1. Stop server
  2. Replace JAR file
  3. Delete config file (optional)
  4. Start server

Data Loss: Config settings lost (must reconfigure if upgrading again)


Use Case Recommendations

Scenario 1: Public PvP Server

Recommendation: Beta v1.1.0 (after testing)

Reasoning:

  • Need tight distance limits (50 blocks)
  • Need restricted permissions (ops only)
  • Need to disable spectator for events
  • Worth testing beta for these features

Config:

[movement]
  max_distance = 50.0

[commands]
  spectator_command_permission_level = 2
  require_op_for_spectator = true

Scenario 2: Small Private Server (Friends/Family)

Recommendation: Stable v1.0.2

Reasoning:

  • Default 75 blocks is fine
  • All players can use commands (no permission needed)
  • Want maximum stability
  • Don't need customization

Scenario 3: Creative Building Server

Recommendation: Beta v1.1.0 (after testing)

Reasoning:

  • Need large distance limits (500+ blocks)
  • Want dimension travel enabled
  • Need custom interactions (chests, buttons)
  • Customization worth the beta risk

Config:

[movement]
  max_distance = 500.0
  allow_dimension_travel = true

[interactions]
  interactable_blocks = ["minecraft:chest", "minecraft:lever", ...]

Scenario 4: Large Established Server

Recommendation: Stable v1.0.2 (now), Beta v1.1.0 (after stable release)

Reasoning:

  • Can't risk downtime from beta bugs
  • Current features sufficient for now
  • Wait for beta to mature into stable v1.1.0
  • Upgrade when bugs are fixed

Upgrade Recommendations by Server Size

Server Size Current Future
1-5 players (tiny) Stable or Beta Upgrade to stable v1.1.0 when available
5-20 players (small) Stable Test beta on dev server, upgrade when stable
20-50 players (medium) Stable Wait for stable v1.1.0
50-100 players (large) Stable Wait for stable v1.1.0 + 1 week testing
100+ players (very large) Stable Wait for stable v1.1.0 + 2-4 weeks field testing

Version History Timeline

v1.0.0 (2025-11-02)
  └─ Initial release
     ├─ Core features
     └─ Known item drop bug

v1.0.1 (2025-11-0X)
  └─ Minor fixes

v1.0.2 (2025-11-08) ← LEGACY STABLE
  └─ Item drop/pickup bug fixes
     ├─ Production-ready
     └─ No known bugs

v1.1.0-beta (2025-11-09) ← SUPERSEDED
  └─ Configuration system
     ├─ 25+ config options
     ├─ Dimension tracking fix
     └─ Minecraft limitation docs

v1.1.1 (2025-11-14) ← CURRENT STABLE
  └─ Configuration system (stable)
     ├─ Cleaned config (removed non-functional options)
     ├─ All documentation updated
     └─ Production-ready

FAQ: Which Version Should I Use?

"I just want it to work reliably"

Stable v1.0.2

"I need custom distance limits"

Beta v1.1.0 (test first)

"I need staff-only permissions"

Beta v1.1.0 (test first) or wait for stable v1.1.0

"I have a 100+ player server"

Stable v1.0.2 (don't risk beta)

"I want unlimited distance"

Beta v1.1.0 (only option, set max_distance = -1.0)

"I need to add custom interactive blocks"

Beta v1.1.0 (only option)

"I'm okay with manual flying"

Beta v1.1.0 is fine (auto-fly doesn't work anyway)

"I need fall damage to work"

Neither version supports this (known limitation)

"I want hot-reload"

Beta v1.1.0 (only option)


Conclusion

For most users: Start with Stable v1.0.2. It's reliable, tested, and works perfectly for standard use cases.

For advanced users: Try Beta v1.1.0 on a test server first. If the configuration features are valuable to you and the known issues don't affect your use case, consider using it.

For everyone: Watch for Stable v1.1.0 release in the coming weeks, which will combine beta's features with stable's reliability.


Related Pages:


Questions? Ask on GitHub Discussions or check the FAQ!

Clone this wiki locally