From 3fbf8573d901987bcc39701359f1d84cf63c81d0 Mon Sep 17 00:00:00 2001 From: Phoenix <79187578+Phoenix-rat@users.noreply.github.com> Date: Fri, 11 Sep 2026 00:03:19 +0300 Subject: [PATCH] fix(network): serve raw items.dat from disk to prevent byte offset shifts --- apps/server/src/network/actions/RefreshItemData.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/server/src/network/actions/RefreshItemData.ts b/apps/server/src/network/actions/RefreshItemData.ts index 25099cd7..a127d3d0 100644 --- a/apps/server/src/network/actions/RefreshItemData.ts +++ b/apps/server/src/network/actions/RefreshItemData.ts @@ -20,18 +20,19 @@ export class RefreshItemData { const isMacOS = this.peer.data.platformID === "2"; let itemsContent: Buffer; + const datDir = join(process.cwd(), ".cache", "growtopia", "dat"); if (isMacOS) { - // Load macOS items.dat at runtime - const datDir = join(process.cwd(), ".cache", "growtopia", "dat"); + // macOS read raw file const macosItemsDatName = this.base.cdn.itemsDatName.replace( ".dat", "-osx.dat", ); itemsContent = readFileSync(join(datDir, macosItemsDatName)); } else { - // Use regular items.dat already loaded in memory - itemsContent = this.base.items.content; + // WINDOWS/ANDROID RAW FILE READ + // Parse won't fuck file (1 byte) + itemsContent = readFileSync(join(datDir, this.base.cdn.itemsDatName)); } this.peer.send(