1.09
Compatibility
Changes
OPTServer v1.09 - Release Changelog
A lightweight, powerful server-side optimization mod for Minecraft Forge 1.20.1.
What's New in v1.09
1. Auto "Anti-Tick-Slip"
Automatic World Time Freeze: When the server becomes empty, the mod persistently saves the game time (gameTime/dayTime) and the real-world logout timestamp. Auto-Restoration: Upon player login, if the server was empty for >= 5 minutes, the mod automatically rolls back/restores the game time and day time to the exact moment of logout. Safety Window: If players reconnect in under 5 minutes (quick crashes or restarts), time proceeds normally to prevent rollback issues.
2. Built-in Lag Profiler (/opt find)
Instantly scan loaded chunks across all dimensions. Displays the Top 3 Chunks with the highest entity count (dimension, chunk coordinates, and exact block coordinates) so you can hunt down mob farms or lag spots. Displays the Top 5 most numerous entity types globally.
3. Dynamic Mob Capper (/opt moblim <limit>)
Dynamically limit the maximum number of Mob entities allowed inside any single chunk. New spawns in overloaded chunks are automatically canceled (ignores custom-named mobs/pets so your named entities are always safe). Adjusted in-game via /opt moblim <number>.
4. Smart Villager AI Optimizer
Automatically freezes the pathfinding and brain tick processing (NoAi = true) of stationary Villagers (speed ~0) to eliminate trading hall lag. Seamless Trading: Automatically restores full AI (NoAi = false) for 60 seconds whenever a player interacts (right-clicks) with them, allowing smooth trades, restocking, and job updates before refreezing them.
5. Critical Bug Fix
Fixed Inactive Event Loop: Resolved a major issue where the automatic dynamic optimizer (onServerTick and onServerStarting) never executed because the CommandsHandler class lacked the @Mod.EventBusSubscriber annotation. Auto-mode now works perfectly on server startup!
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:HfYhJ6Kz:qzg2AXVr"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:HfYhJ6Kz:qzg2AXVr"
}

