
Not Enough Spectators fix
A Minecraft mod that allows you to invite anybody spectate to your gameplay on Public Servers tooo!!! In an immersive way like watching in spectator mode
- Загрузки
- 98
- Подписчики
- 3
- Обновлён
- 8 июля 2026 г.
- Лицензия
- GPL-3.0-only
Опубликован 18 июня 2026 г.
Not Enough Spectators Let friends watch your Minecraft world live — no second server, no world upload, no port forwarding. Not Enough Spectators turns your own game into something other people can spectate in real time. Start sharing with a single command, hand a friend the address, and they drop into your world as a spectator — seeing the terrain load, mobs move, and everything happen exactly as you experience it. How to use
/nes share — start sharing your world (alias for /notenoughspectators share) /nes share — share on a specific local port /nes stop — stop the server
When you start sharing, you'll get a clickable address you can copy and send to whoever you want watching. By default it tunnels through bore.pub, so friends can connect over the internet without touching your router settings. Features
One-command sharing — go live with /nes share, no setup. /nes limit to set the limit of max spectators. Real-time spectating — watchers see your world stream in as you play. Built-in internet tunneling — connect friends without port forwarding (toggleable), or use a fixed local port on your LAN. Spectator chat — let viewers talk while they watch (on by default). Join announcements — get notified when someone starts spectating (on by default). In-game settings — configure port, tunneling, chat, and announcements through the Mod Menu config screen.
What's new in this build This version fixes a memory leak and adds automatic chunk cleanup:
Memory-leak fix — the packet-replay cache no longer grows endlessly as you explore. Chunk packets are now matched against their unloads, replaced when re-sent, and their network buffers are properly released instead of piling up. Auto chunk eviction — chunks held for spectator replay are automatically dropped after 3 minutes, keeping long sessions light on RAM.
Requirements
Minecraft 1.21.8 (Fabric) Fabric Loader 0.16.14+ Fabric API Cloth Config 19.0.147+ Mod Menu 15.0.0+
Commands:
- /nes share -gives you a server address that other minecraft players can connect to (on Ver1.2+ spectators can connect from diferent versions than the host)
- /nes stop -stops the spectator server
- /nes limit -sets the max spectators amount, 0 = infinite(only works on 1.1+)
- /nes via -gives a status report of connected players(Only works on 1.2+)
Credits Based on Not Enough Spectators by Cheezer1656, released under CC0 (public domain). This build adds memory-leak fixes and automatic chunk eviction.
Ченджлог
1.4Релиз26.2 · 8 июля 2026 г.
fixes version misorder
1.3Релиз26.2 · 25 июня 2026 г.
fixed a bug related to the server not starting
1.2Бета26.2 · 24 июня 2026 г.
Mirrored from CurseForge (2026-06-24, beta). First build with the embedded ViaVersion stack.
1.1Альфа26.2 · 23 июня 2026 г.
Migrated to Official Mojang Mappings (Yarn 1.21.8 → Mojang 26.2)
This release replaces Yarn mappings with official Mojang mappings across the entire codebase. Every rename below was verified against the actual deobfuscated 26.2 jars using javap/CFR — nothing here is guessed or carried over from changelogs/diffs, so symbol names should be accurate to the real classes.
This is primarily an internal/API change. No gameplay behavior should be different, but if you depend on this mod's classes, mixins, or access widener, read the breaking changes below.
Type & Member Renames
~45 net.minecraft.* types renamed mod-wide, plus the method/field renames the compiler surfaced once Mojang names resolved. Highlights:
| Yarn | Mojang |
|---|---|
MinecraftClient |
Minecraft |
ClientPlayerEntity |
LocalPlayer |
ClientPlayNetworkHandler |
ClientPacketListener |
Text |
Component |
Vec3d |
Vec3 |
MathHelper |
Mth |
World |
Level |
GameMode |
GameType |
PlayerPosition |
PositionMoveRotation |
Plus ~45 packet class renames, e.g.:
GameJoinS2CPacket→ClientboundLoginPacketEntityS2CPacket.RotateAndMoveRelative→ClientboundMoveEntityPacket.PosRot- Status ping packets moved into the
pingpackage
Method-level renames caught by the compiler:
player.sendMessage(text, false)→sendSystemMessage(text)getStatus()→getEventId()getReason()→getEvent()ChunkPos.toLong()→ChunkPos.pack()PlayerAbilities.unpack()→Abilities.apply()
Access Widener
Retargeted to the Mojang-mapped members:
Connection.channelPacketDecoder/PacketEncoder.protocolInfo(formerlyDecoderHandler.state)ClientboundLoginPacket.commonPlayerSpawnInfoCommonPlayerSpawnInfo.gameType
Breaking: Network Pipeline Mixin Rework
ClientConnectionMixin is now @Mixin(Connection.class). This needed real rework, not just a rename — 26.2's Connection no longer has addHandlers.
- Static pipeline injector retargeted to
configureSerialization, matching its actual(ChannelPipeline, PacketFlow, boolean, BandwidthDebugMonitor)signature. @Shadowtarget switched fromsidetoreceiving.accepts(...)→shouldHandleMessage(...).- Fixed the
send(...)method descriptor to match the new signature.
Breaking: Spectator Server Network Handler Rebuilt
SpectatorServerNetworkHandler's manual protocol state machine has been rebuilt on top of Mojang's ProtocolInfo / UnconfiguredPipelineHandler system:
NetworkStateTransitions→setupInboundProtocol/setupOutboundProtocol, now returning configuration tasks instead of mutating state directly.PacketBundler/PacketUnbundler→PacketBundlePacker/PacketBundleUnpacker.- Yarn's state factories replaced with Mojang's
HandshakeProtocols,StatusProtocols,ConfigurationProtocols,LoginProtocols, andGameProtocols. - Protocol templates are now bound via
RegistryFriendlyByteBuf.decorator, including the creative-modeGameProtocols.Context.
Fixes (surfaced by the migration, not mapping-related)
- Cloth Config:
getConfigScreenmoved fromAutoConfigtoAutoConfigClientin the pinned 26.2-compatible version — updated call sites accordingly. - Client command tree: the deeply nested command tree was failing generic inference through Brigadier's raw static helpers once names resolved. Added local
FabricClientCommandSource-typedliteral/argumentfactories (filling the roleClientCommandManagerwould play, which isn't present in this Fabric build) soSinfers correctly.
Notes for Downstream Mods / Contributors
If you reference this mod's mixins, access-widened members, or any of the renamed classes directly, those references need updating to the Mojang-mapped names above — particularly anything touching Connection, the pipeline configuration mixin, or SpectatorServerNetworkHandler's protocol setup, since those changed shape rather than just name.
1.1Релиз1.21.8 · 21 июня 2026 г.
adds /nes limit to set the limit of max spectators
1.1Релиз1.8.9 · 21 июня 2026 г.
adds /nes limit to set the limit of max spectators
1.0Релиз1.8.9 · 19 июня 2026 г.
Mirrored from CurseForge (2026-06-19). The original memory-leak fix build. Binaries only.
1.0Релиз1.21.8 · 19 июня 2026 г.
Mirrored from CurseForge (2026-06-19). The original memory-leak fix build. Binaries only.
Комментарии
Загружаем…