aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/MinecraftServer.h
diff options
context:
space:
mode:
authorqwasdrizzel <145519042+qwasdrizzel@users.noreply.github.com>2026-03-16 21:44:26 -0500
committerGitHub <noreply@github.com>2026-03-16 21:44:26 -0500
commitce739f6045ec72127491286ea3f3f21e537c1b55 (patch)
treef33bd42a47c1b4a7b2153a7fb77127ee3b407db9 /Minecraft.Client/MinecraftServer.h
parent255a18fe8e9b57377975f82e2b227afe2a12eda0 (diff)
parent5a59f5d146b43811dde6a5a0245ee9875d7b5cd1 (diff)
Merge branch 'smartcmd:main' into main
Diffstat (limited to 'Minecraft.Client/MinecraftServer.h')
-rw-r--r--Minecraft.Client/MinecraftServer.h46
1 files changed, 26 insertions, 20 deletions
diff --git a/Minecraft.Client/MinecraftServer.h b/Minecraft.Client/MinecraftServer.h
index 7fa8c752..1ed5db9d 100644
--- a/Minecraft.Client/MinecraftServer.h
+++ b/Minecraft.Client/MinecraftServer.h
@@ -18,7 +18,11 @@ class LevelType;
class ProgressRenderer;
class CommandDispatcher;
+#if defined(_WINDOWS64)
+#define MINECRAFT_SERVER_SLOW_QUEUE_DELAY 0 // Removed slow queue because at large player counts, chunks stopped appearing
+#else
#define MINECRAFT_SERVER_SLOW_QUEUE_DELAY 250
+#endif
#if defined _XBOX_ONE || defined _XBOX || defined __ORBIS__ || defined __PS3__ || defined __PSVITA__
#define _ACK_CHUNK_SEND_THROTTLING
@@ -27,19 +31,20 @@ class CommandDispatcher;
typedef struct _LoadSaveDataThreadParam
{
LPVOID data;
- __int64 fileSize;
+ int64_t fileSize;
const wstring saveName;
- _LoadSaveDataThreadParam(LPVOID data, __int64 filesize, const wstring &saveName) : data( data ), fileSize( filesize ), saveName( saveName ) {}
+ _LoadSaveDataThreadParam(LPVOID data, int64_t filesize, const wstring &saveName) : data( data ), fileSize( filesize ), saveName( saveName ) {}
} LoadSaveDataThreadParam;
typedef struct _NetworkGameInitData
{
- __int64 seed;
+ int64_t seed;
LoadSaveDataThreadParam *saveData;
DWORD settings;
LevelGenerationOptions *levelGen;
DWORD texturePackId;
bool findSeed;
+ bool dedicatedNoLocalHostPlayer;
unsigned int xzSize;
unsigned char hellScale;
ESavePlatform savePlatform;
@@ -48,11 +53,12 @@ typedef struct _NetworkGameInitData
_NetworkGameInitData()
{
seed = 0;
- saveData = NULL;
+ saveData = nullptr;
settings = 0;
- levelGen = NULL;
+ levelGen = nullptr;
texturePackId = 0;
findSeed = false;
+ dedicatedNoLocalHostPlayer = false;
xzSize = LEVEL_LEGACY_WIDTH;
hellScale = HELL_LEVEL_LEGACY_SCALE;
savePlatform = SAVE_FILE_PLATFORM_LOCAL;
@@ -115,6 +121,7 @@ public:
int maxBuildHeight;
int playerIdleTimeout;
bool forceGameType;
+ int m_spawnProtectionRadius;
private:
// 4J Added
@@ -133,9 +140,9 @@ public:
~MinecraftServer();
private:
// 4J Added - LoadSaveDataThreadParam
- bool initServer(__int64 seed, NetworkGameInitData *initData, DWORD initSettings, bool findSeed);
+ bool initServer(int64_t seed, NetworkGameInitData *initData, DWORD initSettings, bool findSeed);
void postProcessTerminate(ProgressRenderer *mcprogress);
- bool loadLevel(LevelStorageSource *storageSource, const wstring& name, __int64 levelSeed, LevelType *pLevelType, NetworkGameInitData *initData);
+ bool loadLevel(LevelStorageSource *storageSource, const wstring& name, int64_t levelSeed, LevelType *pLevelType, NetworkGameInitData *initData);
void setProgress(const wstring& status, int progress);
void endProgress();
void saveAllChunks();
@@ -171,13 +178,13 @@ public:
bool isUnderSpawnProtection(Level *level, int x, int y, int z, shared_ptr<Player> player);
void setForceGameType(bool forceGameType);
bool getForceGameType();
- static __int64 getCurrentTimeMillis();
+ static int64_t getCurrentTimeMillis();
int getPlayerIdleTimeout();
void setPlayerIdleTimeout(int playerIdleTimeout);
public:
void halt();
- void run(__int64 seed, void *lpParameter);
+ void run(int64_t seed, void *lpParameter);
void broadcastStartSavingPacket();
void broadcastStopSavingPacket();
@@ -188,7 +195,7 @@ public:
void handleConsoleInput(const wstring& msg, ConsoleInputSource *source);
void handleConsoleInputs();
// void addTickable(Tickable tickable); // 4J removed
- static void main(__int64 seed, void *lpParameter);
+ static void main(int64_t seed, void *lpParameter);
static void HaltServer(bool bPrimaryPlayerSignedOut=false);
File *getFile(const wstring& name);
@@ -208,9 +215,9 @@ private:
static MinecraftServer *server;
static bool setTimeOfDayAtEndOfTick;
- static __int64 setTimeOfDay;
+ static int64_t setTimeOfDay;
static bool setTimeAtEndOfTick;
- static __int64 setTime;
+ static int64_t setTime;
static bool m_bPrimaryPlayerSignedOut; // 4J-PB added to tell the stopserver not to save the game - another player may have signed in in their place, so ProfileManager.IsSignedIn isn't enough
static bool s_bServerHalted; // 4J Stu Added so that we can halt the server even before it's been created properly
@@ -232,11 +239,10 @@ private:
public:
void addPostProcessRequest(ChunkSource *chunkSource, int x, int z);
-public:
- static PlayerList *getPlayerList() { if( server != NULL ) return server->players; else return NULL; }
- static void SetTimeOfDay(__int64 time) { setTimeOfDayAtEndOfTick = true; setTimeOfDay = time; }
- static void SetTime(__int64 time) { setTimeAtEndOfTick = true; setTime = time; }
-
+ static PlayerList *getPlayerList() { if( server != nullptr) return server->players; else return nullptr; }
+ static void SetTimeOfDay(int64_t time) { setTimeOfDayAtEndOfTick = true; setTimeOfDay = time; }
+ static void SetTime(int64_t time) { setTimeAtEndOfTick = true; setTime = time; }
+
C4JThread::Event* m_serverPausedEvent;
private:
// 4J Added
@@ -245,7 +251,7 @@ private:
// 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 int64_t s_tickStartTime;
static vector<INetworkPlayer *> s_sentTo;
static const int MAX_TICK_TIME_FOR_PACKET_SENDS = 35;
#else
@@ -267,7 +273,7 @@ public:
#ifndef _ACK_CHUNK_SEND_THROTTLING
static void cycleSlowQueueIndex();
#endif
-
+
void chunkPacketManagement_PreTick();
void chunkPacketManagement_PostTick();
@@ -275,5 +281,5 @@ public:
void Suspend();
bool IsSuspending();
- // 4J Stu - A load of functions were all added in 1.0.1 in the ServerInterface, but I don't think we need any of them
+ // 4J Stu - A load of functions were all added in 1.0.1 in the ServerInterface, but I don't think we need any of them
};