From b3feddfef372618c8a9d7a0abcaf18cfad866c18 Mon Sep 17 00:00:00 2001 From: daoge <3523206925@qq.com> Date: Tue, 3 Mar 2026 03:04:10 +0800 Subject: feat: TU19 (Dec 2014) Features & Content (#155) * try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki --- Minecraft.Client/MinecraftServer.h | 40 ++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) (limited to 'Minecraft.Client/MinecraftServer.h') diff --git a/Minecraft.Client/MinecraftServer.h b/Minecraft.Client/MinecraftServer.h index e61001a3..5f33fa85 100644 --- a/Minecraft.Client/MinecraftServer.h +++ b/Minecraft.Client/MinecraftServer.h @@ -20,6 +20,10 @@ class CommandDispatcher; #define MINECRAFT_SERVER_SLOW_QUEUE_DELAY 250 +#if defined _XBOX_ONE || defined _XBOX || defined __ORBIS__ || defined __PS3__ || defined __PSVITA__ +#define _ACK_CHUNK_SEND_THROTTLING +#endif + typedef struct _LoadSaveDataThreadParam { LPVOID data; @@ -107,6 +111,8 @@ public: bool allowFlight; wstring motd; int maxBuildHeight; + int playerIdleTimeout; + bool forceGameType; private: // 4J Added @@ -132,8 +138,12 @@ private: void endProgress(); void saveAllChunks(); void saveGameRules(); - void stopServer(); + void stopServer(bool didInit); +#ifdef _LARGE_WORLDS + void overwriteBordersForNewWorldSize(ServerLevel* level); + void overwriteHellBordersForNewWorldSize(ServerLevel* level, int oldHellSize); +#endif public: void setMaxBuildHeight(int maxBuildHeight); int getMaxBuildHeight(); @@ -148,9 +158,20 @@ public: void setPvpAllowed(bool pvp); bool isFlightAllowed(); void setFlightAllowed(bool allowFlight); + bool isCommandBlockEnabled(); bool isNetherEnabled(); bool isHardcore(); + int getOperatorUserPermissionLevel(); CommandDispatcher *getCommandDispatcher(); + Pos *getCommandSenderWorldPosition(); + Level *getCommandSenderWorld(); + int getSpawnProtectionRadius(); + bool isUnderSpawnProtection(Level *level, int x, int y, int z, shared_ptr player); + void setForceGameType(bool forceGameType); + bool getForceGameType(); + static __int64 getCurrentTimeMillis(); + int getPlayerIdleTimeout(); + void setPlayerIdleTimeout(int playerIdleTimeout); public: void halt(); @@ -220,10 +241,16 @@ private: bool m_isServerPaused; // 4J Added - A static that stores the QNet index of the player that is next allowed to send a packet in the slow queue +#ifdef _ACK_CHUNK_SEND_THROTTLING + static bool s_hasSentEnoughPackets; + static __int64 s_tickStartTime; + static vector s_sentTo; + static const int MAX_TICK_TIME_FOR_PACKET_SENDS = 35; +#else static int s_slowQueuePlayerIndex; static int s_slowQueueLastTime; -public: static bool s_slowQueuePacketSent; +#endif bool IsServerPaused() { return m_isServerPaused; } @@ -233,9 +260,14 @@ private: bool m_suspending; public: - //static int getSlowQueueIndex() { return s_slowQueuePlayerIndex; } - static bool canSendOnSlowQueue(INetworkPlayer *player); + static bool chunkPacketManagement_CanSendTo(INetworkPlayer *player); + static void chunkPacketManagement_DidSendTo(INetworkPlayer *player); +#ifndef _ACK_CHUNK_SEND_THROTTLING static void cycleSlowQueueIndex(); +#endif + + void chunkPacketManagement_PreTick(); + void chunkPacketManagement_PostTick(); void setSaveOnExit(bool save) { m_saveOnExit = save; s_bSaveOnExitAnswered = true; } void Suspend(); -- cgit v1.2.3