-
Notifications
You must be signed in to change notification settings - Fork 0
Version Comparison: Stable vs Beta
A comprehensive comparison between Limited Spectator's stable release (v1.0.2) and beta release (v1.1.0-beta).
- ✅ 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)
⚠️ 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 | 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.
| 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.
| 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.
| 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 | |
| Block Placing | 🔒 Always blocked | |
| Interactable Blocks | 🔒 Doors, trapdoors, gates | ✅ Custom whitelist (any block ID) |
Verdict: Beta offers more control but has known issues with block breaking/placing.
| Feature | Stable v1.0.2 | Beta v1.1.0 |
|---|---|---|
| Invulnerability | ✅ Always enabled | |
| Flight | ✅ Enabled | ✅ Configurable |
| Auto-Start Flying | ✅ Works | |
| Gamemode | 🔒 ADVENTURE only | ✅ ADVENTURE or SPECTATOR |
Verdict: Beta has more options but some don't work correctly yet.
| Aspect | Stable v1.0.2 | Beta v1.1.0 |
|---|---|---|
| Known Bugs | ✅ None (critical bugs fixed) | |
| Production Ready | ✅ Yes | ❌ No (beta testing) |
| Breaking Changes | ✅ None expected | |
| Testing Period | ✅ 6+ days in production | |
| Rollback Risk | ✅ Low |
Verdict: Stable is production-ready. Beta needs more testing.
// 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
[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
// Always permission level 0 (all players)
.requires(source -> source.hasPermission(0))- All players can use both commands
- No customization possible
- No OP requirement
[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
// 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
[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
// Bug: Doesn't track dimension
spectatorStartPositions.put(uuid, position);
// When returning, always assumes OverworldKnown Bug: If you enter spectator in Nether, then somehow get to Overworld, /survival teleports you to Overworld coordinates saved from Nether (wrong location).
// Fixed: Tracks dimension separately
spectatorStartPositions.put(uuid, position);
spectatorStartDimensions.put(uuid, dimension);
// Correctly restores both position AND dimensionFixed: /survival always returns you to the correct dimension and position.
Verdict: Beta has critical bug fix for dimension handling.
No configuration file. All values hardcoded. Changes require:
- Stop server
- Edit source code
- Recompile mod
- Replace JAR
- Restart server
Time: ~5-10 minutes per change
# Edit config
nano config/limitedspectator-common.toml
# Reload in-game
/reloadTime: ~10 seconds per change
Verdict: Beta saves massive time for server admins.
| 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.
| 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.
✅ 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)
✅ Known Limitations Addressed
The following behaviors were initially considered "issues" but are now documented as Minecraft engine limitations:
-
Fall Damage: Always prevented when
mayfly=true(Minecraft core behavior, not a bug) - Auto-Flying: Players must double-tap spacebar (ADVENTURE mode limitation) - config option removed
- Block Breaking/Placing: Always blocked in ADVENTURE mode (GameMode restriction) - config options removed
- HUD Behavior: Hard-coded auto-hide with F1 toggle - config options removed
-
Mob Attacks: Always blocked (mobs don't target
mayflyplayers anyway) - config option removed
Verdict: Beta is stable and production-ready with clear documentation of Minecraft limitations.
Difficulty: Easy Downtime: ~5 minutes Risk: Low (beta defaults match stable behavior)
Steps:
- Backup server
- Replace JAR file
- Start server (config auto-generates)
- Test thoroughly on dev server first
- Rollback if issues occur
Breaking Changes: None (default config matches stable)
Difficulty: Easy Downtime: ~5 minutes Risk: Very Low
Steps:
- Stop server
- Replace JAR file
- Delete config file (optional)
- Start server
Data Loss: Config settings lost (must reconfigure if upgrading again)
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 = trueRecommendation: 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
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", ...]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
| 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 |
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) ← CURRENT STABLE
└─ Item drop/pickup bug fixes
├─ Production-ready
└─ No known bugs
v1.1.0-beta (2025-11-09) ← CURRENT BETA
└─ Configuration system
├─ 25+ config options
├─ Dimension tracking fix
└─ Known issues (3 high-priority)
v1.1.0 (TBD, ~2-4 weeks) ← FUTURE STABLE
└─ Configuration system (stable)
├─ Known issues resolved
└─ Production-ready
→ Stable v1.0.2
→ Beta v1.1.0 (test first)
→ Beta v1.1.0 (test first) or wait for stable v1.1.0
→ Stable v1.0.2 (don't risk beta)
→ Beta v1.1.0 (only option, set max_distance = -1.0)
→ Beta v1.1.0 (only option)
→ Beta v1.1.0 is fine (auto-fly doesn't work anyway)
→ Neither version supports this (known limitation)
→ Beta v1.1.0 (only option)
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:
- Beta Features - Detailed beta documentation
- Installation - How to install either version
- Configuration Guide - Beta configuration reference
Questions? Ask on GitHub Discussions or check the FAQ!