mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/LCE-Revelations.git
synced 2026-06-02 03:36:51 +00:00
Add seed validation for server world creation and override-seed property
The dedicated server previously picked a completely random seed with no biome diversity checks (the client validates but the server skipped it). On top of that, the client's findSeed() was hardcoded to only check a 54-chunk (Classic) area, so Large worlds had no diversity guarantee beyond the center. New server worlds now use findSeed() scaled to the full target world size. Added override-seed in server.properties to fix existing worlds without deleting them.
This commit is contained in:
@@ -824,6 +824,20 @@ ServerPropertiesConfig LoadServerPropertiesConfig()
|
||||
config.maxPlayers = ReadNormalizedIntProperty(&merged, "max-players", kDefaultMaxPlayers, 1, kMaxDedicatedPlayers, &shouldWrite);
|
||||
config.seed = 0;
|
||||
config.hasSeed = ReadNormalizedOptionalInt64Property(&merged, "level-seed", &config.seed, &shouldWrite);
|
||||
config.overrideSeed = 0;
|
||||
config.hasOverrideSeed = false;
|
||||
{
|
||||
auto it = merged.find("override-seed");
|
||||
if (it != merged.end() && !TrimAscii(it->second).empty())
|
||||
{
|
||||
__int64 parsed = 0;
|
||||
if (TryParseInt64(TrimAscii(it->second), &parsed))
|
||||
{
|
||||
config.overrideSeed = parsed;
|
||||
config.hasOverrideSeed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
config.logLevel = ReadNormalizedLogLevelProperty(&merged, "log-level", eServerLogLevel_Info, &shouldWrite);
|
||||
config.autosaveIntervalSeconds = ReadNormalizedIntProperty(&merged, "autosave-interval", kDefaultAutosaveIntervalSeconds, 5, 3600, &shouldWrite);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user