Commit graph

1491 commits

Author SHA1 Message Date
neoapps-dev a0bc73d162 nixy nix 2026-03-27 15:30:12 +03:00
neoapps-dev 90a51e4b12 nixy nix 2026-03-27 15:09:16 +03:00
neoapps-dev 563c2feef6 nixy nix 2026-03-27 15:05:34 +03:00
piebot b3ac4411fe Merge branch 'pr-1403' 2026-03-27 13:11:58 +03:00
Revela 4e678fbf6b
Merge branch 'smartcmd:main' into main 2026-03-27 00:55:24 -05:00
Loki 0d4874dea5
Clarify Android support in README 2026-03-27 00:29:08 -05:00
itsRevela f1ec7a0d20 Send AddPlayerPacket for all players on join and RemoveEntitiesPacket on disconnect
Players now appear in each other's Tab list immediately on join,
regardless of render distance. Previously, players only appeared when
they entered entity tracking range because AddPlayerPacket was only
sent through the TrackedEntity system.

On disconnect, a RemoveEntitiesPacket is broadcast to all clients so
players added via the join broadcast are properly cleaned up, not just
those within tracking range.
2026-03-26 23:55:02 -05:00
itsRevela 1b423e48d3 Fix player list map icon colors to match map markers
The tab player list and teleport menu now show the correct map marker
color for each player. The icon is computed using the same hash as the
map renderer (getRandomPlayerMapIcon) and stored by player name,
bypassing the unreliable small-ID lookup that produced wrong colors
on dedicated servers.
2026-03-26 22:22:13 -05:00
itsRevela 35fbc7af17 Fix Ender Dragon damage, End portal transition, and End Poem crash
Dragon melee damage: reassign sub-entity IDs to be sequential from
the parent entity ID in ServerLevel::entityAdded(), so the client's
offset-based ID calculation matches the server. Previously the server's
smallId pool allocated non-sequential IDs, causing melee attacks to
target entity IDs the server didn't recognize.

End portal transition: ensure the player entity is always added to the
new level when transitioning from The End, not just for non-End
dimensions. The addEntity call was previously gated behind a
lastDimension != 1 check that also excluded it from End exits.

End Poem crash: bounds-check the WIN_GAME event's player index before
accessing localplayers[], with a fallback to prevent null dereference
when the server sends an out-of-range index.
2026-03-26 19:46:58 -05:00
itsRevela 2e75441355 Merge upstream: fix redstone tick persistence on chunk unload 2026-03-26 18:22:04 -05:00
itsRevela 6a21637e75 Fix player list not showing all players on dedicated servers
Register remote players in the client's IQNet array when their
AddPlayerPacket arrives, so they appear in the Tab player list.
Previously only the host and local player were registered.

Also filter the dedicated server's phantom host entry (slot 0, empty
gamertag) from the UI, fix tick() to update entries by smallId instead
of sequential index, and fix player removal to use gamertag matching
since XUIDs are 0 on dedicated servers.
2026-03-26 18:20:01 -05:00
666uvu 73d713878c
fix redstone tick persistence on chunk unload (#1423) 2026-03-26 16:55:56 -05:00
Lord Cambion ce764a072c Biome Update pt2 2026-03-26 22:52:52 +01:00
itsRevela d292190aae Skip upstream piston fix #1420 (already applied in this fork) 2026-03-26 15:49:50 -05:00
itsRevela fbe14e7755 Add SRV record support for server connections
Resolve _minecraft._tcp.<hostname> SRV records before connecting,
matching Java Edition behavior. Players can connect using just a domain
name and the client will look up the actual server address and port
from DNS. Falls back to the original hostname/port if no SRV record
exists or the address is a numeric IP.
2026-03-26 15:45:24 -05:00
Revela 4f370c45e3
Fix pistons permanently breaking server-wide on dedicated servers (#1420)
triggerEvent() set ignoreUpdate to true at the start but three early
return paths skipped the reset at the end. Once any of these paths was
hit, the TLS flag stayed true permanently, blocking all piston neighbor
updates for the rest of the server session.
2026-03-26 15:16:15 -05:00
Lord Cambion 10b7fc36d3 Biome Update! 2026-03-26 20:37:51 +01:00
piebot 74c197cc15 apparently the commits i did for glass pane didnt apply so 2026-03-26 20:41:29 +03:00
piebot 42af4ed545 Fix fence connect logic 2026-03-26 20:21:36 +03:00
itsRevela f1310abe08 Refactor async server joining with eJoinState enum and dedicated progress UI
Replace the boolean-flag-based async join system with a clean state machine
(eJoinState enum) and move connection progress handling from UIScene_JoinMenu
into UIScene_ConnectingProgress as a dedicated UI class.

Combines the best of two approaches: non-blocking sockets with select()
timeout and SO_RCVTIMEO clearing (prevents random disconnects) with the
upstream's state enum, FinalizeJoin separation, and ConnectingProgress UI.

JoinGame() now returns JOINGAME_PENDING on Win64, and
PlatformNetworkManagerStub::DoWork() polls the join state to finalize
the connection when the background thread succeeds.
2026-03-26 11:51:17 -05:00
piebot 87348a7e16 Fix Github Actions compile error 2026-03-26 19:09:04 +03:00
itsRevela 39b0ad1cb4 Merge upstream: skip async joining #1408 (already implemented), splitscreen XUID fix cherry-picked 2026-03-26 11:07:35 -05:00
Sylvessa 1ae70176d4 fix splitscreen xuids (#1413) 2026-03-26 11:07:30 -05:00
itsRevela f2fb995c84 Fix pistons permanently breaking server-wide on dedicated servers
triggerEvent() set ignoreUpdate to true at the start but three early
return paths (lines 221, 225, 250) skipped the reset at the end. Once
any of these paths was hit (common with fast redstone clocks where the
signal state changes between event queuing and processing), the TLS
flag stayed true permanently, blocking all piston neighbor updates for
the rest of the server session.
2026-03-26 10:40:43 -05:00
piebot fc0927065a ACTUALLY fix it 2026-03-26 18:11:27 +03:00
piebot 1df2fd42dd Bug fixes 2026-03-26 18:04:55 +03:00
piebot d73ae8fd5c Fix Commit "Implement LCERenewed Changes"
This fixes commit cf0472117c.
2026-03-26 17:57:03 +03:00
Sylvessa c96a8ee524
fix splitscreen xuids (#1413) 2026-03-26 10:19:20 -04:00
Sylvessa 1a50770647
Add asynchronous server joining (#1408) 2026-03-26 10:15:11 -04:00
piebot cf0472117c Implement LCERenewed Changes 2026-03-26 14:14:42 +03:00
piebot 0e56730255 Update logo 2026-03-26 11:36:31 +03:00
Revela deb10de463
Update README for fork title change
MinecraftConsoles (Legacy Console Revelations Edition)
LCRE
2026-03-26 02:46:08 -05:00
itsRevela c0085a8336 Skip upstream revert of chunk unload commit (already fixed properly in this fork) 2026-03-26 02:33:32 -05:00
piebot f76896d7e8 Merge branch 'main' of https://github.com/piebotc/LegacyEvolved 2026-03-26 09:46:09 +03:00
piebot 868ba79754 Fix swapped dirt variants. 2026-03-26 09:45:05 +03:00
Loki Rautio dee559bd16 Revert "Memory leak fix: Make chunks unload properly (#1406)"
This reverts commit a24318eedc.
This fix introduces broken behavior for dedicated servers. It will be
merged back in once the related issue is fixed
2026-03-26 01:37:23 -05:00
itsRevela 13372692d5 change foldernames & filenames (LCRE) in release update script 2026-03-25 23:56:48 -05:00
itsRevela 6d28177e4c Fix client disconnect from leftover socket recv timeout
Clear the 5-second SO_RCVTIMEO that was set during the connection
handshake but never removed. The timeout persisted into the game
session, causing the client to disconnect whenever the server paused
for longer than 5 seconds (e.g. autosave, chunk I/O).

Also update README with chunk unloading and connection stability fixes.
2026-03-25 23:54:52 -05:00
itsRevela c264262b66 Fix chunk unloading regression from upstream merge
Commit a24318ee changed drop() to immediately remove chunks from cache,
bypassing the deferred m_toDrop save/unload pipeline. This caused missing
chunks on dedicated servers, iterator invalidation in dropAll() and
ServerLevel::save(), and entity duplication (item frames) from chunks
being reloaded without their entities first being removed from the level.

- ServerChunkCache::drop(): restore m_toDrop queue instead of immediate
  cache removal, so tick() can save/unload/move to unloadedCache safely
- MultiPlayerChunkCache::drop(): restore soft-unload (keep chunk in cache
  with loaded=true) instead of nulling cache and hasData
- PlayerChunkMap::setRadius(): remove dropAll() call when reducing radius,
  the per-chunk removal loop already handles out-of-range chunks
2026-03-25 19:57:35 -05:00
Lord Cambion ae273c75fa Name Fixes 2026-03-26 00:40:52 +01:00
piebot 2d04127cae fix arc file 2026-03-26 00:04:11 +03:00
piebot ce15163a81
Update Logo 2026-03-25 22:03:15 +03:00
piebot e14ba14e68 a bunch of shit lmaoo 2026-03-25 21:41:35 +03:00
Revela 3a8106593f
Merge branch 'smartcmd:main' into main 2026-03-25 10:58:16 -05:00
piebot db500edc3a
Update README.md 2026-03-25 13:46:11 +03:00
piebot 86366b5b20
Update README.md 2026-03-25 13:45:57 +03:00
piebot 91ddc735c3
Update README.md 2026-03-25 13:45:40 +03:00
piebot 75187488e8
Update README.md 2026-03-25 13:45:17 +03:00
piebot ec7d784c18
Update README.md 2026-03-25 13:44:31 +03:00
piebot e310f1e6f1
Add Acknowledgments Section 2026-03-25 13:22:32 +03:00